LDAPWordlistHarvester是一款功能强大的字典列表生成工具,该工具可以根据LDAP中的详细信息生成字典列表文件,广大研究人员随后可以利用生成的字典文件测试目标域账号的非随机密码安全性。
工具特征
1、支持根据LDAP中的详细信息生成字典文件:其中包括用户的name和sAMAccountName、计算机设备的name和sAMAccountName、组的name、组织的name、活动目录站点的name和descriptions、以及 所有 LDAP 对象的descriptions描述; 2、支持使用--outputfile选项指定输出字典文件的名称。
工具要求
pycryptodome xlsxwriter sectools>=1.4.1
工具下载
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/p0dalirius/LDAPWordlistHarvester.git
然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd LDAPWordlistHarvester
pip install -r requirements.txt
工具使用
使用帮助
$ ./LDAPWordlistHarvester.py -h
LDAPWordlistHarvester.py v1.1 - by @podalirius_
usage: LDAPWordlistHarvester.py [-h] [-v] [-o OUTPUTFILE] --dc-ip ip address [-d DOMAIN] [-u USER] [--ldaps] [--no-pass | -p PASSWORD | -H [LMHASH:]NTHASH | --aes-key hex key] [-k]
options:
-h, --help 显示工具帮助信息和退出
-v, --verbose Verbose模式(默认: False)
-o OUTPUTFILE, --outputfile OUTPUTFILE
输出字典文件路径
Authentication & connection:
--dc-ip ip address 目标域控制器或Kerberos的KDC IP地址
-d DOMAIN, --domain DOMAIN
(FQDN) 身份认证域名
-u USER, --user USER 身份认证用户名
--ldaps 使用LDAPS代替LDAP
Credentials:
--no-pass 不询问密码
-p PASSWORD, --password PASSWORD
身份认证密码
-H [LMHASH:]NTHASH, --hashes [LMHASH:]NTHASH
NT/LM哈希,格式为:LMhash:NThash
--aes-key hex key 身份认证的AES密钥 (128或256位)
-k, --kerberos 使用Kerberos身份认证,基于目标参数从.ccache文件获取凭证
非随机密码安全性测试
拿到字典文件之后,我们就可以使用hashcat,并配合--loopback和clem9669_large.rule规则来执行非随机密码安全性测试了:
./hashcat --hash-type 1000 --potfile-path ./client.potfile ./client.ntds ./wordlist.txt --rules ./clem9669_large.rule --loopback
工具运行演示
如需根据目标域(domain.local)的LDAP信息生成字典文件,可以直接运行下列命令:
./LDAPWordlistHarvester.py -d 'domain.local' -u 'Administrator' -p 'P@ssw0rd123!' --dc-ip 192.168.1.101
如果你使用的是该工具的Python版本,则输出数据如下所示:
如果你使用的是该工具的PowerShell版本,则输出数据如下所示:
项目地址
LDAPWordlistHarvester:
https://github.com/p0dalirius/LDAPWordlistHarvester
https://github.com/clem9669/hashcat-rule/blob/master/clem9669_large.rule