
PrivKit es un simple archivo objeto beacon que detecta vulnerabilidades de escalada de privilegios causadas por configuraciones incorrectas en el sistema operativo Windows.
Una colección de Archivos de Objetos Beacon (BOF) para comprobaciones de escalada de privilegios locales en Windows.

PrivKit es una herramienta de código abierto que permite a los equipos rojos y probadores de penetración identificar rápidamente vectores comunes de escalada de privilegios locales en Windows utilizando Archivos de Objetos Beacon (BOF) de Cobalt Strike.
Para el uso desde la línea de comandos y ejemplos, consulte la sección Uso.
Si encuentra algún error, no dude en reportarlo. ¡Sus comentarios son valiosos para mejorar la calidad de este proyecto!
Los autores y colaboradores de este proyecto no se hacen responsables del uso ilegal de la herramienta. Está destinada únicamente para fines educativos y de pruebas de seguridad autorizadas. Los usuarios son responsables de garantizar un uso legal.
Un agradecimiento especial a mi amigo @nickvourd por todas sus contribuciones.
Agradecimientos especiales al equipo de TrustedSec por su excelente proyecto CS-Situational-Awareness-BOF, que sirvió de inspiración para esta herramienta.
Un agradecimiento especial al equipo de Cobalt Strike por su completa documentación y ejemplos sobre BOF.
PrivKit fue creado con ❤️ por @merterpreter.
PrivKit ofrece un conjunto completo de comprobaciones de escalada de privilegios, que incluyen:
PrivKit está escrito en C y compilado como Archivos de Objetos Beacon, lo que lo hace compatible con Cobalt Strike 4.x en objetivos Windows.
⚠️ Asegúrese de que MinGW-w64 esté instalado en su sistema.
ℹ️ En plataformas Linux (Ubuntu/Debian) instale el siguiente paquete:
sudo apt update && sudo apt install mingw-w64 -y
ℹ️ En plataformas macOS instale el siguiente paquete:
brew install mingw-w64
git clone https://github.com/mertdas/PrivKit.git
cd PrivKit
make_all.sh que compila todos los BOF para arquitecturas x64 y x86:./make_all.sh
Cobalt Strike -> Script Manager -> Load -> PrivCheck.cna
beacon> help
Ejecute todas las comprobaciones de escalada de privilegios a la vez:
beacon> PrivCheck
Ejecute comprobaciones específicas según sea necesario:
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
[*] Checking AlwaysInstallElevated privilege escalation vulnerability...
=== AlwaysInstallElevated Check ===
[*] HKCU\...\Installer\AlwaysInstallElevated = 1
[*] HKLM\...\Installer\AlwaysInstallElevated = 1
[+] VULNERABLE: AlwaysInstallElevated is set in both HKCU and HKLM
beacon> UACStatusCheck
[*] BOF by @merterpreter && @nickvourd
[*] Checking UAC status, integrity level, and admin membership...
=== UAC Status Check ===
[11/27 15:08:08] [+] received output:
[*] UAC Enabled (EnableLUA): Yes
[11/27 15:08:08] [+] received output:
[*] ConsentPromptBehaviorAdmin: 5
[11/27 15:08:08] [+] received output:
(Prompt for consent for non-Windows binaries)
[11/27 15:08:08] [+] received output:
[*] PromptOnSecureDesktop: Yes
[11/27 15:08:08] [+] received output:
[11/27 15:08:08] [+] received output:
[*] Integrity Level:
[11/27 15:08:08] [+] received output:
Medium
[11/27 15:08:08] [+] received output:
[*] Local Admin Group Member: Yes
[11/27 15:08:08] [+] received output:
[*] Summary:
[11/27 15:08:08] [+] received output:
[+] User is local admin but NOT elevated (UAC filtered token)
[11/27 15:08:08] [+] received output:
[+] UAC bypass may be possible
| Comprobación | Descripción |
|---|
| AlwaysInstallElevatedCheck | Comprueba la mala configuración de AlwaysInstallElevated en HKCU y HKLM |
| AutologonCheck | Enumera las credenciales de inicio de sesión automático almacenadas en el registro de Winlogon |
| CredentialManagerCheck | Extrae credenciales del Administrador de Credenciales de Windows |
| HijackablePathCheck | Identifica directorios con permisos de escritura en la variable de entorno PATH del sistema |
| ModifiableAutorunCheck | Encuentra ejecutables de inicio automato modificables en las claves Run/RunOnce |
| ModifiableSVCCheck | Encuentra servicios con permisos modificables (DACL) |
| TokenPrivilegesCheck | Enumera los privilegios del token del proceso actual |
| UnquotedSVCPathCheck | Detecta rutas de servicio sin comillas que contienen espacios |
| PowerShellHistoryCheck | Comprueba el archivo de historial de PowerShell PSReadLine |
| UACStatusCheck | Comprueba el estado de UAC, el nivel de integridad y la pertenencia al grupo de administradores |