5.LDAP

通过 LDAP 可以获取大量关于 AD 域的信息。大部分信息需要经过认证绑定(authenticated bind)后才能获取,但有些元数据(如命名上下文、DNS 服务器名称、域功能级别 DFL)即使在禁用匿名绑定的情况下,也可以匿名获取。

1. 常用LDAP信息收集工具

1.1. ldeep

ldeep 可以用来枚举关键信息,比如委派(delegations)、组策略(gpo)、组(groups)、计算机(machines)、密码策略对象(pso)、信任关系(trusts)、用户(users)等

#先创建一个用于接受导出文件的文件夹
mkdir -p ldeepdump/0day.org

# remotely dump information 
ldeep ldap -u "$USER" -p "$PASSWORD" -d "$DOMAIN" -s ldap://"$DC_IP" all "ldeepdump/$DOMAIN"

# parse saved information (in this case, enumerate trusts)
ldeep cache -d "ldeepdump" -p "$DOMAIN" trusts
┌──(root㉿kali)-[~/ldeepdump]
└─# ldeep ldap -u "jack" -p 'admin!@#45' -d "0day.org" -s ldap://"192.168.3.142" all "ldeepdump/0day.org" 

会自动将收集到的信息导出为结构化的文本文件,便于后续分析和渗透测试
Pasted image 20250512114535.png

1.2. ldapsearch

ldapsearch 也可以

# list naming contexts
ldapsearch -h "$DC_IP" -x -s base namingcontexts
ldapsearch -H "ldap://$DC_IP" -x -s base namingcontexts

# enumerate info in a base (e.g. naming context = DC=DOMAIN,DC=LOCAL)
ldapsearch -h "$DC_IP" -x -b "DC=DOMAIN,DC=LOCAL"
ldapsearch -H "ldap://$TARGET" -x -b "DC=DOMAIN,DC=LOCAL"

1.3. 注意

LDAP 匿名绑定(anonymous binding)通常是被禁用的,但仍然值得检查一下。如果允许匿名绑定,可以方便地列出用户,并测试 asreproasting(因为这种攻击不需要认证)。

此外也可以使用 bloodhound 进行更高级的LADP枚举