
Fornisce un ambiente containerizzato e un template Nuclei firmato per testare in sicurezza CVE-2025-32463, una vulnerabilità di escalation dei privilegi in sudo, con confronto tra versione rilevata e versione patchata.
Questa è la prima volta che porto un exploit dannoso in un template Nuclei per una scansione di vulnerabilità non intrusiva che dimostra comunque il problema sottostante.
Ho documentato il processo in maggior dettaglio espressamente come esercizio di apprendimento.
Le mie sfide principali sono state:
-itags local, poiché il tag locale viene ignorato per impostazione predefinita nelle impostazioni di .nuclei-ignore.Potrebbe sembrare strano che abbia scelto l'ambiente Windows per questa attività. Il fatto è che Windows è il mio sistema operativo predefinito per ragioni che non approfondirò qui.
docker-compose up --build -d
Questo template utilizza il code engine che richiede la firma per motivi di sicurezza. Il template è già firmato in questo repository.
Il docker-compose.yaml è configurato per montare le chiavi di firma Nuclei di Windows da %APPDATA%\nuclei\keys nei container. Ciò consente la verifica del template firmato.
Sul host Windows (richiede Nuclei installato).
nuclei -t cve-2025-32463.yaml -sign
Questo firmerà il template e aggiungerà un campo digest.
Nota: La prima volta che si esegue questo comando, Nuclei creerà le chiavi di firma in %APPDATA%\nuclei\keys e richiederà:
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 (funziona su tutte le piattaforme):
docker exec -u testuser vulnerable-sudo-target nuclei -itags local -t /tmp/template.yaml -target localhost -code
Note:
-code è richiesto per abilitare i template basati sul protocollo codesh -c '...' per evitare problemi di conversione dei percorsi Windows con 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 (funziona su tutte le piattaforme):
docker exec -u testuser patched-sudo-target nuclei -itags local -t /tmp/template.yaml -target localhost -code
Note:
-code è richiesto per abilitare i template basati sul protocollo code"..." o il comando alternativo senza sh -c[INF] Executing 1 signed templates from <your-username>Se si desidera verificare la vulnerabilità senza firmare il template Nuclei, è possibile eseguire direttamente lo script dell'exploit:
Copiare ed eseguire lo script dell'exploit.
docker cp exploit.sh vulnerable-sudo-target:/tmp/exploit.sh
docker exec -u testuser vulnerable-sudo-target bash /tmp/exploit.sh
Output previsto: woot! seguito da una shell di root (in modalità interattiva).
[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.
Rilevamento confermato: UID=1000 EUID=0 dimostra che il codice di testuser (1000) è stato eseguito con privilegi di root (0).
[INF] Executing 1 signed templates from <your-username>
[INF] Scan completed in 143.319373ms. No results found.
Nessuna vulnerabilità rilevata - La versione di sudo patchata impedisce il caricamento della libreria.
Per una spiegazione tecnica dettagliata della vulnerabilità, dei vettori di attacco e della metodologia di rilevamento, fare riferimento al documento Note Tecniche.