ldeep enumerar información en entornos Active Directory (AD) a través del protocolo LDAP o LDAPS

 

https://www.onlinetis.com

ldeep enumerar información en entornos Active Directory (AD) a través del protocolo LDAP o LDAPS

ldeep es una herramienta en Python diseñada para enumerar información en entornos Active Directory (AD) a través del protocolo LDAP o LDAPS. Es especialmente útil en pentesting y ejercicios de Red Team por su rapidez y capacidad para extraer objetos sin generar excesivo ruido.

Instalación en Kali Linux

Puedes instalar la herramienta directamente desde PyPI usando pipx o pip:

Bash
pipx install ldeep
# O clonando el repositorio directamente:
git clone https://github.com/franc-pentest/ldeep.git
cd ldeep && pipx install .
Sintaxis base y autenticación

ldeep requiere credenciales válidas (o un hash NTLM) y la IP/FQDN del Domain Controller (DC).

  • Autenticación con usuario y contraseña:

    Bash
    ldeep ldap -u "usuario" -p "password" -d "dominio.local" -s ldap://10.10.10.10 <comando>
    
  • Autenticación Pass-the-Hash (NTLM):

    Bash
    ldeep ldap -u "usuario" -H "LMHASH:NTHASH" -d "dominio.local" -s ldap://10.10.10.10 <comando>
    
  • Conexión segura (LDAPS):

    Bash
    ldeep ldap -u "usuario" -p "password" -d "dominio.local" -s ldaps://10.10.10.10 <comando>
    
Comandos principales de enumeración

ComandoDescripción / Uso
usersLista todos los usuarios del dominio.
groupsEnumera los grupos existentes.
computersMuestra los equipos/hosts unidos al dominio.
membershipsAsocia usuarios con los grupos a los que pertenecen.
trustsMuestra las relaciones de confianza (trusts) entre dominios.
gpoExtrae las directivas de grupo (Group Policy Objects) configuradas.
spnMuestra cuentas con Service Principal Name (útil para Kerberoasting).
Comandos avanzados

  • Dump completo del dominio:

    Bash
    ldeep ldap -u "user" -p "pass" -d "domain.local" -s ldap://10.10.10.10 dump
    
  • Exportar datos para BloodHound:
    Bash
    ldeep ldap -u "user" -p "pass" -d "domain.local" -s ldap://10.10.10.10 bloodhound -o /path/output/
    


ldeep incluye varios módulos específicos para auditar misconfiguraciones críticas y localizar vectores de ataque directos en Active Directory:

  • AS-REP Roasting (asreproast)
    Identifica cuentas de usuario que tienen desactivada la preautenticación Kerberos (DONT_REQUIRE_PREAUTH). Permite solicitar un ticket AS-REP sin credenciales previa solicitud y crackear el hash offline.

    Bash
    ldeep ldap -u "user" -p "pass" -d "dominio.local" -s ldap://10.10.10.10 asreproast
    
  • Kerberoasting (spn / kerberoast)
    Lista todas las cuentas de usuario que tienen asignado un Service Principal Name (SPN). Estas cuentas son vulnerables a la extracción y crackeo offline del hash NTLM del servicio.

    Bash
    ldeep ldap -u "user" -p "pass" -d "dominio.local" -s ldap://10.10.10.10 spn
    
  • Cuentas con contraseñas que no expiran (dont-expire-passwords)
    Filtra los objetos de usuario con la bandera DONT_EXPIRE_PASSWORD activa. Útil para identificar cuentas legacy o de servicio que suelen mantener credenciales débiles por años.

    Bash
    ldeep ldap -u "user" -p "pass" -d "dominio.local" -s ldap://10.10.10.10 users --flag DONT_EXPIRE_PASSWORD
    
  • Cuentas delegadas desprotegidas (unconstrained)
    Busca máquinas o usuarios con delegación sin restricciones (Unconstrained Delegation). Si un administrador interactúa con uno de estos equipos, su TGT Kerberos queda expuesto en memoria.

    Bash
    ldeep ldap -u "user" -p "pass" -d "dominio.local" -s ldap://10.10.10.10 unconstrained
    
  • LSA Secrets y contraseñas almacenadas en atributos LDAP (userpassword)
    Revisa si existen usuarios cuyos atributos LDAP (userPassword o unicodePwd) contengan contraseñas almacenadas en texto plano debido a integraciones de aplicaciones de terceros.

    Bash
    ldeep ldap -u "user" -p "pass" -d "dominio.local" -s ldap://10.10.10.10 userpassword
    
  • Usuarios administradores del dominio inactivos o con permisos excesivos (shadow-credentials)
    Permite enumerar cuentas con el atributo msDS-KeyCredentialLink configurado, lo que puede revelar persistencia previa vía PKINIT / Shadow Credentials (Whisker/pyWhisker).

    Bash
    ldeep ldap -u "user" -p "pass" -d "dominio.local" -s ldap://10.10.10.10 shadow-credentials
    
Tip práctico: Para optimizar la fase de auditoría, puedes volcar la información completa en formato JSON usando la opción -o json y filtrar los resultados con jq según los permisos o flags del UserAccountControl.
https://www.onlinetis.com

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Como utilizar Fierce en kali linux

Hacking y ciberseguridad en kali linux con atk6-thcping6