
Kerberos CNAME-Missbrauch PoC
Dieses Tool ist der Proof-of-Concept für die Kerberos-CNAME-Ausnutzung-Relay-Technik, basierend auf dem MITM6-Tool.
Die Forschung deckte eine Schwachstelle im Verhalten des Windows-Kerberos-Clients auf: Wenn ein DNS-CNAME-Eintrag zurückgegeben wird, folgt der Client dem Alias und erstellt die TGS-Anfrage unter Verwendung des CNAME-Hostnamens als SPN. Dies ermöglicht einem Angreifer mit einer DNS-MITM-Position, jeden Domänenbenutzer dazu zu zwingen, ein Kerberos-Ticket für einen vom Angreifer gewählten Dienst anzufordern, was On-Demand-Protokollübergreifende Relay-Angriffe gegen SMB, HTTP und andere Dienste ermöglicht, bei denen Signierung oder Kanalbindung nicht erzwungen wird.
Im Gegensatz zu früheren Kerberos-Relay-Techniken, die auf Maschinenkonten beschränkt waren oder bestimmte Bedingungen erforderten, funktioniert diese Methode zuverlässig gegen Benutzerkonten auf Standard-Windows-Konfigurationen. Microsoft milderte das Risiko durch einen Patch, der CBT auf HTTPS erzwingt und die Signierung für betroffene Protokolle standardmäßig aktiviert. Die Korrektur wird als CVE-2026-20929 nachverfolgt. Vollständige technische Details, Exploit-Walkthrough und Auswirkungsanalyse finden Sie im Blogbeitrag bei Cymulate.
Verwenden Sie --cname-source, um eine bestimmte Domäne anzuvisieren, auf die das Opfer zuzugreifen versucht, oder --cname-source-all, um jede DNS-Abfrage zu vergiften. Beide erfordern --cname, um den Zielhostnamen anzugeben, der in der CNAME-Antwort verwendet wird (das Opfer wird dann ein TGS für diesen Hostnamen anfordern).
Das --only-dns-Flag deaktiviert den ursprünglichen mitm6-DHCPv6-Server und die Router-Ankündigungsfunktionalität. Dies ermöglicht die Kombination der CNAME-Vergiftung mit anderen MITM-Techniken wie ARP-Vergiftung.
Die --passthrough-Option akzeptiert eine Datei mit Domänen, die zu ihren tatsächlichen IP-Adressen aufgelöst werden sollen (Format: domain:ip pro Zeile). Nützlich, um die Konnektivität zu kritischer Infrastruktur wie Domänencontrollern aufrechtzuerhalten (experimentell).
pip install -r requirements.txt
Vergiften Sie alle DNS-Abfragen mit einem CNAME, das auf das Relay-Ziel verweist:
python mitm6-cname.py -i eth0 -d corp.local --cname-source-all --cname target.corp.local
Vergiften Sie nur Abfragen für einen bestimmten Hostnamen:
python mitm6-cname.py -i eth0 -d corp.local --cname-source fileserver.corp.local --cname adcs.corp.local
Überspringen Sie DHCPv6/RA, wenn Sie ARP-Vergiftung für DNS-MITM verwenden:
python mitm6-cname.py -i eth0 --only-dns -d corp.local --cname-source-all --cname target.corp.local
# Terminal 1: CNAME-Vergiftung
python mitm6-cname.py -i eth0 -d corp.local --cname-source-all --cname adcs.corp.local
# Terminal 2: Relay zu ADCS
krbrelayx.py -t http://adcs.corp.local/certsrv/certfnsh.asp -smb2support --adcs --template User
Dieses Tool ist ein nicht produktionsreifer PoC, der nur für Bildungs- und autorisierte Sicherheitstestzwecke bereitgestellt wird. Unautorisierter Zugriff auf Computersysteme ist illegal. Verwendung auf eigenes Risiko und nur gegen Systeme, für die Sie ausdrückliche Erlaubnis zum Testen haben.
MIT