
PrivKit ist eine einfache Beacon-Objektdatei, die Privilegieneskalations-Schwachstellen erkennt, die durch Fehlkonfigurationen im Windows-Betriebssystem verursacht werden.
Eine Sammlung von Beacon Object Files (BOFs) für Windows Local Privilege Escalation Checks.

PrivKit ist ein Open-Source-Tool, das Red Teamer und Penetrationstester dabei unterstützt, häufige Windows Local Privilege Escalation-Vektoren mithilfe von Cobalt Strike Beacon Object Files (BOFs) schnell zu identifizieren.
Für die Befehlszeilennutzung und Beispiele siehe den Abschnitt Verwendung.
Sollten Sie Fehler finden, zögern Sie nicht, diese zu melden. Ihr Feedback ist wertvoll, um die Qualität dieses Projekts zu verbessern!
Die Autoren und Mitwirkenden dieses Projekts haften nicht für eine illegale Nutzung des Tools. Es ist ausschließlich für Bildungs- und autorisierte Sicherheitstestzwecke bestimmt. Die Benutzer sind für die Einhaltung der gesetzlichen Nutzung verantwortlich.
Besonderer Dank geht an meinen Freund @nickvourd für all seine Beiträge.
Besonderer Dank gilt dem TrustedSec-Team für ihr hervorragendes Projekt CS-Situational-Awareness-BOF, das als Inspiration für dieses Tool diente.
Dankbare Anerkennung an das Cobalt Strike-Team für ihre umfassende BOF-Dokumentation und Beispiele.
PrivKit wurde mit ❤️ von @merterpreter erstellt.
PrivKit bietet eine umfassende Suite von Privilege-Escalation-Prüfungen, darunter:
PrivKit ist in C geschrieben und als Beacon Object Files kompiliert, was es mit Cobalt Strike 4.x auf Windows-Zielen kompatibel macht.
⚠️ Bitte stellen Sie sicher, dass MinGW-w64 auf Ihrem System installiert ist.
ℹ️ Für Linux-Plattformen (Ubuntu/Debian) installieren Sie das folgende Paket:
sudo apt update && sudo apt install mingw-w64 -y
ℹ️ Für macOS-Plattformen installieren Sie das folgende Paket:
brew install mingw-w64
git clone https://github.com/mertdas/PrivKit.git
cd PrivKit
make_all.sh, das alle BOFs für beide Architekturen x64 und x86 kompiliert:./make_all.sh
Cobalt Strike -> Script Manager -> Load -> PrivCheck.cna
beacon> help
Führen Sie alle Privilege-Escalation-Prüfungen auf einmal aus:
beacon> PrivCheck
Führen Sie bei Bedarf spezifische Prüfungen aus:
beacon> AlwaysInstallElevatedCheck
beacon> AutologonCheck
beacon> CredentialManagerCheck
beacon> HijackablePathCheck
beacon> ModifiableAutorunCheck
beacon> ModifiableSVCCheck
beacon> TokenPrivilegesCheck
beacon> UnquotedSVCPathCheck
beacon> PowerShellHistoryCheck
beacon> UACStatusCheck
beacon> AlwaysInstallElevatedCheck
[*] BOF von @merterpreter && @nickvourd
[*] Prüfe AlwaysInstallElevated-Privilege-Escalation-Schwachstelle...
=== AlwaysInstallElevated-Prüfung ===
[*] HKCU\...\Installer\AlwaysInstallElevated = 1
[*] HKLM\...\Installer\AlwaysInstallElevated = 1
[+] SCHWACHSTELLE: AlwaysInstallElevated ist in HKCU und HKLM gesetzt
beacon> UACStatusCheck
[*] BOF von @merterpreter && @nickvourd
[*] Prüfe UAC-Status, Integritätsstufe und Admin-Mitgliedschaft...
=== UAC-Status-Prüfung ===
[11/27 15:08:08] [+] received output:
[*] UAC aktiviert (EnableLUA): Ja
[11/27 15:08:08] [+] received output:
[*] ConsentPromptBehaviorAdmin: 5
[11/27 15:08:08] [+] received output:
(Aufforderung zur Zustimmung für Nicht-Windows-Binärdateien)
[11/27 15:08:08] [+] received output:
[*] PromptOnSecureDesktop: Ja
[11/27 15:08:08] [+] received output:
[11/27 15:08:08] [+] received output:
[*] Integritätsstufe:
[11/27 15:08:08] [+] received output:
Medium
[11/27 15:08:08] [+] received output:
[*] Mitglied der lokalen Administratorgruppe: Ja
[11/27 15:08:08] [+] received output:
[*] Zusammenfassung:
[11/27 15:08:08] [+] received output:
[+] Benutzer ist lokaler Admin, aber NICHT erhöht (UAC-gefiltertes Token)
[11/27 15:08:08] [+] received output:
[+] UAC-Umgehung ist möglicherweise möglich
| Prüfung | Beschreibung |
|---|
| AlwaysInstallElevatedCheck | Prüft auf AlwaysInstallElevated-Fehlkonfiguration in HKCU und HKLM |
| AutologonCheck | Zählt gespeicherte Autologon-Anmeldeinformationen in der Winlogon-Registrierung auf |
| CredentialManagerCheck | Extrahiert Anmeldeinformationen aus dem Windows Credential Manager |
| HijackablePathCheck | Identifiziert beschreibbare Verzeichnisse im System-PATH |
| ModifiableAutorunCheck | Findet beschreibbare Autorun-Programme in Run/RunOnce-Registrierungsschlüsseln |
| ModifiableSVCCheck | Findet Dienste mit änderbaren Berechtigungen (DACL) |
| TokenPrivilegesCheck | Zählt aktuelle Prozess-Token-Privilegien auf |
| UnquotedSVCPathCheck | Erkennt unquoted Service-Pfade mit Leerzeichen |
| PowerShellHistoryCheck | Prüft auf PowerShell PSReadLine-Verlaufsdatei |
| UACStatusCheck | Prüft UAC-Status, Integritätsstufe und Mitgliedschaft in der Administratorgruppe |