LDAPWordlistHarvester:基于LDAP数据的字典生成工具

关于LDAPWordlistHarvester

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环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/p0dalirius/LDAPWordlistHarvester.git

然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:

代码语言:javascript
复制
cd LDAPWordlistHarvester

pip install -r requirements.txt

工具使用

使用帮助

代码语言:javascript
复制
$ ./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规则来执行非随机密码安全性测试了:

代码语言:javascript
复制
./hashcat --hash-type 1000 --potfile-path ./client.potfile ./client.ntds ./wordlist.txt --rules ./clem9669_large.rule --loopback

工具运行演示

如需根据目标域(domain.local)的LDAP信息生成字典文件,可以直接运行下列命令:

代码语言:javascript
复制
./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