
Fornece um ambiente containerizado e um template Nuclei assinado para testar com segurança a CVE-2025-32463, uma vulnerabilidade de escalonamento de privilégios no sudo, com detecção e comparação com a versão corrigida.
Esta é a primeira vez que portei um exploit malicioso para um template Nuclei para uma varredura de vulnerabilidade não intrusiva que ainda demonstra o problema subjacente.
Documentei o processo em mais detalhes expressamente como um exercício de aprendizado.
Meus principais desafios foram:
-itags local, já que a tag local é ignorada por padrão nas configurações de .nuclei-ignore.Pode parecer estranho que eu tenha escolhido o ambiente Windows para esta atividade. O fato é que o Windows é meu sistema operacional padrão por razões que não vou abordar aqui.
docker-compose up --build -d
Este template usa o code engine, que exige assinatura por motivos de segurança. O template já está assinado neste repositório.
O docker-compose.yaml está configurado para montar suas chaves de assinatura Nuclei do Windows a partir de %APPDATA%\nuclei\keys nos containers. Isso permite que o template assinado seja verificado.
No host Windows (requer Nuclei instalado).
nuclei -t cve-2025-32463.yaml -sign
Isso assinará o template e adicionará um campo digest.
Nota: Na primeira vez que você executar este comando, o Nuclei criará chaves de assinatura em %APPDATA%\nuclei\keys e solicitará:
Linux/macOS/Git Bash:
docker exec -u testuser vulnerable-sudo-target sh -c 'nuclei -itags local -t /tmp/template.yaml -target localhost -code'
Windows PowerShell/CMD:
docker exec -u testuser vulnerable-sudo-target sh -c "nuclei -itags local -t /tmp/template.yaml -target localhost -code"
Alternativa (funciona em todas as plataformas):
docker exec -u testuser vulnerable-sudo-target nuclei -itags local -t /tmp/template.yaml -target localhost -code
Notas:
-code é obrigatório para habilitar templates baseados em protocolo de códigosh -c '...' para evitar problemas de conversão de caminho do Windows com MSYS2/Git Bash[INF] Executing 1 signed templates from <your-username>Windows PowerShell/CMD:
docker exec -u testuser patched-sudo-target sh -c "nuclei -itags local -t /tmp/template.yaml -target localhost -code"
Alternativa (funciona em todas as plataformas):
docker exec -u testuser patched-sudo-target nuclei -itags local -t /tmp/template.yaml -target localhost -code
Notas:
-code é obrigatório para habilitar templates baseados em protocolo de código"..." ou o comando alternativo sem sh -c[INF] Executing 1 signed templates from <your-username>Se você quiser verificar a vulnerabilidade sem assinar o template Nuclei, pode executar o script do exploit diretamente:
Copie e execute o script do exploit.
docker cp exploit.sh vulnerable-sudo-target:/tmp/exploit.sh
docker exec -u testuser vulnerable-sudo-target bash /tmp/exploit.sh
Saída esperada: woot! seguido de um shell root (no modo interativo).
[CVE-2025-32463] [code] [critical] localhost ["VULNERABLE UID=1000 EUID=0"]
[INF] Executing 1 signed templates from <your-username>
[INF] Scan completed in 140.454595ms. 1 matches found.
Detecção confirmada: UID=1000 EUID=0 prova que o código do testuser (1000) foi executado com privilégios de root (0).
[INF] Executing 1 signed templates from <your-username>
[INF] Scan completed in 143.319373ms. No results found.
Nenhuma vulnerabilidade detectada - A versão corrigida do sudo impede o carregamento da biblioteca.
Para uma explicação técnica detalhada da vulnerabilidade, vetores de ataque e metodologia de detecção, consulte o documento Notas Técnicas.