
PrivKit é um simples beacon object file que detecta vulnerabilidades de escalonamento de privilégio causadas por configurações incorretas no Windows OS.
Uma coleção de Beacon Object Files (BOFs) para Verificações de Escalação de Privilégio Local no Windows.

PrivKit é uma ferramenta de código aberto que capacita red teamers e testadores de penetração a identificar rapidamente vetores comuns de escalação de privilégio local no Windows usando Beacon Object Files (BOFs) do Cobalt Strike.
Para uso via linha de comando e exemplos, consulte a seção Uso.
Se encontrar algum bug, não hesite em reportá-lo. Seu feedback é valioso para melhorar a qualidade deste projeto!
Os autores e contribuidores deste projeto não são responsáveis por qualquer uso ilegal da ferramenta. Ela é destinada apenas a fins educacionais e de testes de segurança autorizados. Os usuários são responsáveis por garantir o uso dentro da lei.
Agradecimentos especiais ao meu amigo @nickvourd por todas as suas contribuições.
Agradecimentos especiais à equipe da TrustedSec pelo excelente projeto CS-Situational-Awareness-BOF, que serviu de inspiração para esta ferramenta.
Reconhecimento grato à equipe do Cobalt Strike por sua documentação abrangente e exemplos sobre BOF.
PrivKit foi criado com ❤️ por @merterpreter.
PrivKit oferece um conjunto abrangente de verificações de escalação de privilégio, incluindo:
PrivKit é escrito em C e compilado como Beacon Object Files, tornando-o compatível com Cobalt Strike 4.x em alvos Windows.
⚠️ Certifique-se de que o MinGW-w64 está instalado em seu sistema.
ℹ️ Para plataformas Linux (Ubuntu/Debian), instale o seguinte pacote:
sudo apt update && sudo apt install mingw-w64 -y
ℹ️ Para plataformas MacOS, instale o seguinte pacote:
brew install mingw-w64
git clone https://github.com/mertdas/PrivKit.git
cd PrivKit
make_all.sh para compilar todos os BOFs para as arquiteturas x64 e x86:./make_all.sh
Cobalt Strike -> Script Manager -> Load -> PrivCheck.cna
beacon> help
Execute todas as verificações de escalação de privilégio de uma só vez:
beacon> PrivCheck
Execute verificações específicas conforme necessário:
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
| Verificação | Descrição |
|---|
| AlwaysInstallElevatedCheck | Verifica a má configuração AlwaysInstallElevated em HKCU e HKLM |
| AutologonCheck | Enumera credenciais de autologon armazenadas no registro do Winlogon |
| CredentialManagerCheck | Despeja credenciais do Gerenciador de Credenciais do Windows |
| HijackablePathCheck | Identifica diretórios graváveis no PATH do sistema |
| ModifiableAutorunCheck | Encontra executáveis de inicialização graváveis nas chaves Run/RunOnce |
| ModifiableSVCCheck | Encontra serviços com permissões modificáveis (DACL) |
| TokenPrivilegesCheck | Enumera privilégios do token do processo atual |
| UnquotedSVCPathCheck | Detecta caminhos de serviço sem aspas com espaços |
| PowerShellHistoryCheck | Verifica o arquivo de histórico do PSReadLine do PowerShell |
| UACStatusCheck | Verifica o status do UAC, nível de integridade e associação ao grupo de administradores |