
PrivKit è un semplice file oggetto beacon che rileva vulnerabilità di escalation dei privilegi causate da configurazioni errate su sistemi operativi Windows.
Una raccolta di file oggetto beacon (BOF) per controlli di escalation dei privilegi locali su Windows.

PrivKit è uno strumento open-source che permette a red teamer e penetration tester di identificare rapidamente i comuni vettori di escalation dei privilegi locali su Windows utilizzando i file oggetto beacon (BOF) di Cobalt Strike.
Per l'uso da riga di comando e gli esempi, consultare la sezione Utilizzo.
Se trovate bug, non esitate a segnalarli. Il vostro feedback è prezioso per migliorare la qualità di questo progetto!
Gli autori e i collaboratori di questo progetto non sono responsabili per qualsiasi uso illegale dello strumento. È inteso esclusivamente per scopi educativi e di test di sicurezza autorizzati. Gli utenti sono responsabili di garantire un utilizzo conforme alla legge.
Un ringraziamento speciale al mio amico @nickvourd per tutti i suoi contributi.
Un ringraziamento speciale al team di TrustedSec per il loro eccellente progetto CS-Situational-Awareness-BOF, che è stato di ispirazione per questo strumento.
Riconoscenza al team di Cobalt Strike per la loro documentazione completa sui BOF e gli esempi.
PrivKit è stato creato con ❤️ da @merterpreter.
PrivKit offre una suite completa di controlli di escalation dei privilegi, tra cui:
PrivKit è scritto in C e compilato come file oggetto beacon, rendendolo compatibile con Cobalt Strike 4.x su target Windows.
⚠️ Assicurarsi che MinGW-w64 sia installato sul sistema.
ℹ️ Su piattaforme Linux (Ubuntu/Debian) installare il seguente pacchetto:
sudo apt update && sudo apt install mingw-w64 -y
ℹ️ Su piattaforme MacOS installare il seguente pacchetto:
brew install mingw-w64
git clone https://github.com/mertdas/PrivKit.git
cd PrivKit
make_all.sh che compila tutti i BOF per entrambe le architetture x64 e x86:./make_all.sh
Cobalt Strike -> Script Manager -> Carica -> PrivCheck.cna
beacon> help
Eseguire tutti i controlli di escalation dei privilegi contemporaneamente:
beacon> PrivCheck
Eseguire controlli specifici secondo necessità:
beacon> AlwaysInstallElevatedCheck
beacon> AutologonCheck
beacon> CredentialManagerCheck
beacon> HijackablePathCheck
beacon> ModifiableAutorunCheck
beacon> ModifiableSVCCheck
beacon> TokenPrivilegesCheck
beacon> UnquotedSVCPathCheck
beacon> PowerShellHistoryCheck
beacon> UACStatusCheck
beacon> AlwaysInstallElevatedCheck
[*] BOF by @merterpreter && @nickvourd
[*] Verifica della vulnerabilità di escalation dei privilegi AlwaysInstallElevated...
=== Controllo AlwaysInstallElevated ===
[*] HKCU\...\Installer\AlwaysInstallElevated = 1
[*] HKLM\...\Installer\AlwaysInstallElevated = 1
[+] VULNERABILE: AlwaysInstallElevated è impostato sia in HKCU che in HKLM
beacon> UACStatusCheck
[*] BOF by @merterpreter && @nickvourd
[*] Verifica dello stato UAC, livello di integrità e appartenenza al gruppo admin...
=== Controllo stato UAC ===
[11/27 15:08:08] [+] received output:
[*] UAC abilitato (EnableLUA): Sì
[11/27 15:08:08] [+] received output:
[*] ConsentPromptBehaviorAdmin: 5
[11/27 15:08:08] [+] received output:
(Richiedi consenso per i binari non Windows)
[11/27 15:08:08] [+] received output:
[*] PromptOnSecureDesktop: Sì
[11/27 15:08:08] [+] received output:
[11/27 15:08:08] [+] received output:
[*] Livello di integrità:
[11/27 15:08:08] [+] received output:
Medio
[11/27 15:08:08] [+] received output:
[*] Membro del gruppo admin locale: Sì
[11/27 15:08:08] [+] received output:
[*] Riepilogo:
[11/27 15:08:08] [+] received output:
[+] L'utente è amministratore locale ma NON elevato (token filtrato UAC)
[11/27 15:08:08] [+] received output:
[+] Un bypass UAC potrebbe essere possibile
| Controllo | Descrizione |
|---|
| AlwaysInstallElevatedCheck | Verifica la presenza della configurazione errata AlwaysInstallElevated in HKCU e HKLM |
| AutologonCheck | Enumera le credenziali di autologin memorizzate nel registro di Winlogon |
| CredentialManagerCheck | Estrae le credenziali da Gestione credenziali di Windows |
| HijackablePathCheck | Identifica le directory scrivibili nel PATH di sistema |
| ModifiableAutorunCheck | Trova eseguibili di esecuzione automatica modificabili nelle chiavi Run/RunOnce |
| ModifiableSVCCheck | Trova servizi con permessi modificabili (DACL) |
| TokenPrivilegesCheck | Enumera i privilegi del token del processo corrente |
| UnquotedSVCPathCheck | Rileva percorsi di servizio non quotati con spazi |
| PowerShellHistoryCheck | Controlla la presenza del file della cronologia di PowerShell PSReadLine |
| UACStatusCheck | Verifica lo stato UAC, il livello di integrità e l'appartenenza al gruppo admin |