Lil-Pwny:一款基于Python的多功能活动目录密码审计工具
字数 1317 2025-08-15 21:32:24

Lil-Pwny:多功能活动目录密码审计工具使用指南

工具概述

Lil-Pwny 是一款基于 Python 的多功能活动目录(Active Directory)密码审计工具,主要用于:

  1. 对活动目录用户密码的 NTLM 哈希进行离线安全审计
  2. 基于 Have I Been Pwned (HIBP) 数据库恢复活动目录密码
  3. 支持自定义密码字典检测目标用户
  4. 识别使用相同密码的账户

核心功能

1. HIBP 密码匹配

  • 将活动目录用户的 NTLM 哈希与 HIBP 数据库中的哈希进行比对
  • 匹配成功的账户信息将输出到指定文本文件

2. 自定义密码检测

  • 支持使用自定义密码字典/列表检测目标活动目录用户
  • 同时比对 NTLM 哈希、活动目录哈希和 HIBP 哈希

3. 重复密码检测

  • 识别使用相同密码的不同账户
  • 有助于发现管理员账户和标准账户之间的密码共享情况

4. 高性能处理

  • 利用 Python 的多处理特性
  • 支持高资源环境运行(24GB+内存)
  • 计算核心越多,审计速度越快

安装方法

基础安装

pip install lil-pwny

安装后可作为全局命令使用。

使用说明

基本命令格式

lil-pwny [-h] -hibp HIBP [-a A] -ad AD_HASHES [-d] [-m] [-o OUTPUT]

参数详解

参数 描述
-hibp, --hibp-path HIBP 的 NTLM 哈希文本文件路径
-a, --a 包含额外待检测密码的文本文件
-ad, --ad-hashes 活动目录用户的 NTLM 哈希文件
-d, --find-duplicates 输出使用相同密码的用户列表
-m, --memory 将 HIBP 哈希列表加载到内存(需要至少24GB RAM)
-o, --out-path 设置输出路径,未设置时使用当前工作目录

使用示例

lil-pwny -hibp ~/hibp_hashes.txt -ad ~/ad_ntlm_hashes.txt -a ~/additional_passwords.txt -o ~/Desktop/Output -m -d

输入文件准备

1. 获取活动目录 IFM 导出

在域控制器上使用管理员权限执行:

ntdsutil
activate instance ntds
ifm
create full <output path>

此命令将在指定路径生成完整的活动目录域 IFM 导出。

2. 从 IFM 导出中提取 NTLM 哈希

需要安装 DSInternals PowerShell 模块:

$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

此命令将生成包含"用户名:哈希"格式的 ad_ntlm_hashes.txt 文件。

3. 下载 HIBP 哈希文件

最新版 HIBP 哈希文件包含约 5.51 亿个密码哈希,可从官方渠道获取。

性能优化建议

  1. 内存加载选项 (-m)

    • 可显著提高搜索速度
    • 需要至少 24GB 可用内存
    • 适用于高性能服务器环境
  2. 多核利用

    • 工具自动利用多核CPU
    • 核心数越多,处理速度越快
  3. 输出管理

    • 指定输出路径避免混乱
    • 定期清理旧结果文件

注意事项

  1. 确保拥有合法的审计权限
  2. 处理敏感数据时注意安全存储
  3. 大规模审计可能需要数小时完成
  4. HIBP 数据库需要定期更新以获得最新结果

参考资料

  1. Lil-Pwny GitHub 仓库
  2. ntdsutil & IFM 官方文档
  3. DSInternals PowerShell 模块文档

通过本指南,您应该能够全面了解 Lil-Pwny 的功能和使用方法,有效执行活动目录密码安全审计工作。

Lil-Pwny:多功能活动目录密码审计工具使用指南 工具概述 Lil-Pwny 是一款基于 Python 的多功能活动目录(Active Directory)密码审计工具,主要用于: 对活动目录用户密码的 NTLM 哈希进行离线安全审计 基于 Have I Been Pwned (HIBP) 数据库恢复活动目录密码 支持自定义密码字典检测目标用户 识别使用相同密码的账户 核心功能 1. HIBP 密码匹配 将活动目录用户的 NTLM 哈希与 HIBP 数据库中的哈希进行比对 匹配成功的账户信息将输出到指定文本文件 2. 自定义密码检测 支持使用自定义密码字典/列表检测目标活动目录用户 同时比对 NTLM 哈希、活动目录哈希和 HIBP 哈希 3. 重复密码检测 识别使用相同密码的不同账户 有助于发现管理员账户和标准账户之间的密码共享情况 4. 高性能处理 利用 Python 的多处理特性 支持高资源环境运行(24GB+内存) 计算核心越多,审计速度越快 安装方法 基础安装 安装后可作为全局命令使用。 使用说明 基本命令格式 参数详解 | 参数 | 描述 | |------|------| | -hibp , --hibp-path | HIBP 的 NTLM 哈希文本文件路径 | | -a , --a | 包含额外待检测密码的文本文件 | | -ad , --ad-hashes | 活动目录用户的 NTLM 哈希文件 | | -d , --find-duplicates | 输出使用相同密码的用户列表 | | -m , --memory | 将 HIBP 哈希列表加载到内存(需要至少24GB RAM) | | -o , --out-path | 设置输出路径,未设置时使用当前工作目录 | 使用示例 输入文件准备 1. 获取活动目录 IFM 导出 在域控制器上使用管理员权限执行: 此命令将在指定路径生成完整的活动目录域 IFM 导出。 2. 从 IFM 导出中提取 NTLM 哈希 需要安装 DSInternals PowerShell 模块: 此命令将生成包含"用户名:哈希"格式的 ad_ntlm_hashes.txt 文件。 3. 下载 HIBP 哈希文件 最新版 HIBP 哈希文件包含约 5.51 亿个密码哈希,可从官方渠道获取。 性能优化建议 内存加载选项 ( -m ) : 可显著提高搜索速度 需要至少 24GB 可用内存 适用于高性能服务器环境 多核利用 : 工具自动利用多核CPU 核心数越多,处理速度越快 输出管理 : 指定输出路径避免混乱 定期清理旧结果文件 注意事项 确保拥有合法的审计权限 处理敏感数据时注意安全存储 大规模审计可能需要数小时完成 HIBP 数据库需要定期更新以获得最新结果 参考资料 Lil-Pwny GitHub 仓库 ntdsutil & IFM 官方文档 DSInternals PowerShell 模块文档 通过本指南,您应该能够全面了解 Lil-Pwny 的功能和使用方法,有效执行活动目录密码安全审计工作。