Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/papermtn/lil-pwny
密码破解漏洞分析身份验证
GitHubpapermtn/lil-pwny

lil-pwny

使用Python快速离线审核Active Directory密码。

查看仓库
167242年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Lil Pwny

Python 2.7 and 3 compatible PyPI version License: MIT

使用 Python 快速离线审计 Active Directory 密码。

关于 Lil Pwny

Lil Pwny 是一个 Python 应用程序,用于对从 Active Directory 恢复的用户密码的 NTLM 哈希进行离线审计,并与 Have I Been Pwned 中已知的被泄露密码进行比对。结果将以 JSON 格式输出,包含用户名、匹配的哈希(可混淆)以及该密码在 HIBP 中被发现的次数。

更多关于 Lil Pwny 的信息,请访问我的博客

功能

  • 自定义密码审计:能够提供您自己的自定义密码列表,用于检查 AD 用户。这使您可以检查用户是否使用了与您组织相关且您怀疑可能被使用的密码。
    • 传入一个包含您要搜索的明文密码的 .txt 文件,这些密码会经过 NTLM 哈希处理,然后还会与 HIBP 哈希一起与 AD 哈希进行比较。
  • 检测重复密码:返回使用相同密码的账户列表。有助于发现用户在其管理员账户和普通账户中使用相同密码的情况。
  • 用户名作为密码:检测用户是否使用其用户名或其变体作为密码。
  • 混淆输出:在输出中混淆哈希,适用于您不想处理或存储实际用户 NTLM 哈希的情况。

自定义密码列表增强

Lil Pwny 提供了通过添加常用变体来增强自定义密码列表的功能。这些变体包括:

  • 带有常见“黑客语”替换的密码(例如 P@ssw0rd)
  • 密码的全大写版本,以及首字母大写版本(例如 PASSWORD, Password)
  • 在密码前后添加常见特殊字符(例如 password!, !password)
  • 使用常见字母数字字符、特殊字符以及密码自身的重复进行填充,以满足给定的最小长度(例如 password123!, !passwordabc, passwordpassword)
    • 选择自定义列表增强选项时,将您所需的最小密码长度传递给 Lil Pwny
  • 在密码末尾追加从 1950 年到当前日期后 10 年之间的年份(例如 password1950, password2034)

一个包含 100 个明文密码的自定义密码列表会生成 49848660 个变体。

密码中的用户名

Lil Pwny 会查找使用其用户名变体作为密码的用户。

它会将用户的用户名转换为以下格式:

  • 全大写
  • 全小写
  • 去掉点号 "."
  • camelCase(例如 johnSmith)
  • PascalCase(例如 JohnSmith)

然后将这些转换为 NTLM 哈希,并与 AD 哈希进行审计。

资源

此应用程序旨在充分利用 Python 的多进程处理能力,以便在消费级硬件上尽可能快地运行。

由于使用了多进程,您拥有的核心数越多,Lil Pwny 的运行速度应该越快。即使在逻辑核心数较少的情况下,我也取得了非常好的效果:

  • 测试环境约 8500 个 AD 账户和 613,584,246 个 HIBP 哈希:
    • 6 个逻辑核心 - 0:05:57.640813
    • 12 个逻辑核心 - 0:04:28.579201

输出

Lil Pwny 会将结果输出到 stdout:

或 JSON:

root@kitploit:~
{"localtime": "2021-00-00 00:00:00,000", "level": "NOTIFY", "source": "Lil Pwny", "match_type": "hibp", "detection_data": {"username": "RICKON.STARK", "hash": "32ED87BDB5FDC5E9CBA88547376818D4", "matches_in_hibp": "24230577", "obfuscated": "True"}}

您可以将 Lil Pwny 的 JSON 输出重定向到文件:

root@kitploit:~
lil-pwny -ad ... > lil-pwny-results.json 

这种 JSON 格式的日志可以轻松导入到 SIEM 或其他日志分析工具中,并可以提供给其他脚本或平台以进行自动化的解决操作。

安装

通过 pip 安装

root@kitploit:~
pip install lil-pwny

用法

lil-pwny 将作为全局命令安装,使用方法如下:

root@kitploit:~
usage: lil-pwny [-h] -hibp HIBP [-v] [-c CUSTOM] [-custom-enhance CUSTOM_ENHANCE] -ad AD_HASHES [-d] [-output {file,stdout,json}] [-o] [--verbose]

使用 Python 快速离线审计 Active Directory 密码

选项:
  -h, --help            显示此帮助信息并退出
  -hibp HIBP, --hibp HIBP
                        包含 HIBP NTLM 哈希的 .txt 文件
  -v, --version         显示程序版本号并退出
  -c CUSTOM, --custom CUSTOM
                        包含要检查的其他自定义密码的 .txt 文件
  -custom-enhance CUSTOM_ENHANCE, --custom-enhance CUSTOM_ENHANCE
                        根据提供的自定义密码列表生成增强的自定义密码列表。必须与 -c/--custom 标志一起使用。增强列表将存储在内存中,不会写入磁盘。提供所需密码的最小长度。默认值为 8
  -ad AD_HASHES, --ad-hashes AD_HASHES
                        包含 AD 用户 NTLM 哈希的 .txt 文件
  -d, --duplicates      输出使用相同密码的用户列表
  -output {file,stdout,json}, --output {file,stdout,json}
                        结果发送到何处
  -o, --obfuscate       通过使用随机盐值进行哈希来混淆已发现匹配项的哈希
  --verbose             打开详细日志记录

示例:

root@kitploit:~
lil-pwny -hibp ~/hibp_hashes.txt -ad ~/ad_user_hashes.txt -c ~/custom_passwords.txt -output stdout -do

获取输入文件

步骤 1:获取 IFM AD 数据库转储

在域控制器上使用 ntdsutil 生成 AD 域的 IFM 转储。在提升的 PowerShell 窗口中运行以下命令:

root@kitploit:~
ntdsutil
activate instance ntds
ifm
create full **output path**

步骤 2:从此输出中恢复 NTLM 哈希

要从 AD IFM 数据中恢复 NTLM 哈希,需要 PowerShell 模块 DSInternals。

安装后,使用 IFM 数据中的 SYSTEM 配置单元以 usernme:hash 格式恢复哈希,并将其保存到文件 ad_ntlm_hashes.txt 中。

root@kitploit:~
$bootKey = Get-BootKey -SystemHivePath '.\registry\SYSTEM'
Get-ADDBAccount -All -DBPath '.\Active Directory\ntds.dit' -BootKey $bootKey | Format-Custom -View HashcatNT | Out-File ad_ntlm_hashes.txt -Encoding ASCII

步骤 3:下载最新的 HIBP 哈希文件

可以使用 .NET 实用程序 从此处 从 HIBP API 下载该文件。

可选步骤:过滤不需要的 AD 帐户

可以使用 scripts 目录中的 PowerShell 脚本在处理之前从 IFM 输出中删除不需要的帐户。这些包括:

  • 已禁用的帐户
  • 计算机帐户

资源

  • ntdsutil 和 IFM
下载工具