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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/helviojunior/knowsmore
密码破解信息收集渗透测试
GitHubhelviojunior/knowsmore

knowsmore

关联 NTLM 哈希、BloodHound 数据与破解密码,用于 Active Directory 渗透测试。导入 NTDS.dit,同步至 Neo4j,分析密码质量并生成自定义字典。

查看仓库
2703442个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

KnowsMore

Build Build Downloads Supported Versions Contributors PyPI version License: GPL-3.0

KnowsMore 官方支持 Python 3.8+。

主要特性

  • 从 .ntds 输出文本文件(由 CrackMapExec 或 secretsdump.py 生成)导入 NTLM 哈希
  • 从 NTDS.dit 和 SYSTEM 文件导入 NTLM 哈希
  • 从 hashcat 输出文件导入已破解的 NTLM 哈希
  • 导入 BloodHound ZIP 或 JSON 文件
  • BloodHound 导入器(将 JSON 导入 Neo4J,无需 BloodHound UI)
  • 分析密码质量(长度、小写字母、大写字母、数字、特殊字符和拉丁字符)
  • 分析密码与公司名称、用户名的相似度
  • 搜索用户、密码和哈希
  • 将所有已破解凭证直接导出至 BloodHound Neo4j 数据库,标记为“已拥有对象”
  • 其他精彩功能...

生成自定义字典

root@kitploit:~
knowsmore.py --word-list -o wl.txt --batch --name companyname
knowsmore.py --word-list -o wl.txt --batch --name companyname -l 1

注意:-l 参数指定 leet 字符空间,其中 1 表示无 leet,3 表示最大 leet 级别。

获取统计信息

root@kitploit:~
knowsmore --stats

此命令将生成关于密码的多项统计信息,如下所示:

root@kitploit:~
KnowsMore v0.1.4 by Helvio Junior
Active Directory, BloodHound, NTDS hashes and Password Cracks correlation tool
https://github.com/helviojunior/knowsmore
    
 [+] Startup parameters
     command line: knowsmore --stats 
     module: stats
     database file: knowsmore.db
  
 [+] start time 2023-01-11 03:59:20
[?] General Statistics
+-------+----------------+-------+
|   top | description    |   qty |
|-------+----------------+-------|
|     1 | Total Users    | 95369 |
|     2 | Unique Hashes  | 74299 |
|     3 | Cracked Hashes | 23177 |
|     4 | Cracked Users  | 35078 |
+-------+----------------+-------+

 [?] General Top 10 passwords
+-------+-------------+-------+
|   top | password    |   qty |
|-------+-------------+-------|
|     1 | password    |  1111 |
|     2 | 123456      |   824 |
|     3 | 123456789   |   815 |
|     4 | guest       |   553 |
|     5 | qwerty      |   329 |
|     6 | 12345678    |   277 |
|     7 | 111111      |   268 |
|     8 | 12345       |   202 |
|     9 | secret      |   170 |
|    10 | sec4us      |   165 |
+-------+-------------+-------+

 [?] Top 10 weak passwords by company name similarity
+-------+--------------+---------+----------------------+-------+
|   top | password     |   score |   company_similarity |   qty |
|-------+--------------+---------+----------------------+-------|
|     1 | company123   |    7024 |                   80 |  1111 |
|     2 | Company123   |    5209 |                   80 |   824 |
|     3 | company      |    3674 |                  100 |   553 |
|     4 | Company@10   |    2080 |                   80 |   329 |
|     5 | company10    |    1722 |                   86 |   268 |
|     6 | Company@2022 |    1242 |                   71 |   202 |
|     7 | Company@2024 |    1015 |                   71 |   165 |
|     8 | Company2022  |     978 |                   75 |   157 |
|     9 | Company10    |     745 |                   86 |   116 |
|    10 | Company21    |     707 |                   86 |   110 |
+-------+--------------+---------+----------------------+-------+

安装

通过 pipx(推荐)

pipx 将 KnowsMore 安装到隔离的虚拟环境中,避免与系统包冲突。这是在 Kali Linux 及其他外部管理的 Python 环境(PEP 668)中的推荐方法。

root@kitploit:~
# 安装 pipx(如果尚未安装)
python3 -m pip install --user pipx

# 确保 pipx 安装的应用程序在 PATH 中
python3 -m pipx ensurepath

# 安装 KnowsMore
pipx install knowsmore

# 升级到最新版本
pipx upgrade knowsmore

注意: 运行 pipx ensurepath 后,可能需要打开新终端(或运行 source ~/.bashrc / source ~/.zshrc)才能使用 knowsmore 命令。

注意: 在 Python 3.12+ 上,setuptools/pkg_resources 模块默认不再捆绑。如果遇到 No module named 'pkg_resources' 错误,请在 KnowsMore 环境中注入 setuptools:

root@kitploit:~
pipx inject knowsmore setuptools

简单安装

root@kitploit:~
pip3 install --upgrade knowsmore

注意: 如果遇到依赖版本问题,请查看 Virtual ENV 文件

执行流程

导入数据没有强制顺序,但为了获得更好的关联数据,我们建议按以下流程执行:

  1. 创建数据库文件
  2. 导入 BloodHound 文件
    1. 域
    2. GPO
    3. OU
    4. 组
    5. 计算机
    6. 用户
  3. 导入 NTDS 文件
  4. 导入已破解的哈希

创建数据库文件

所有数据存储在 SQLite 数据库中。

root@kitploit:~
knowsmore --create-db

导入 BloodHound 文件

我们可以将完整的 BloodHound 文件导入 KnowsMore,进行数据关联,然后同步到 Neo4J BloodHound 数据库。因此,你可以只使用 KnowsMore 将 JSON 文件直接导入 Neo4j 数据库,而无需使用“极其缓慢的 BloodHound 用户界面”。

root@kitploit:~
# Bloodhound ZIP 文件
knowsmore --bloodhound --import-data ~/Desktop/client.zip

# Bloodhound JSON 文件
knowsmore --bloodhound --import-data ~/Desktop/20220912105336_users.json

注意: KnowsMore 能够导入 BloodHound ZIP 文件和 JSON 文件,但我们推荐使用 ZIP 文件,因为 KnowsMore 会自动对文件排序以实现更好的数据关联。

同步数据到 Neo4j BloodHound 数据库

root@kitploit:~
# Bloodhound ZIP 文件
knowsmore --bloodhound --sync 10.10.10.10:7687 -d neo4j -u neo4j -p 12345678

注意: KnowsMore 对 BloodHound 导入器的实现受到了 Fox-It BloodHound Import 的启发。我们做了几项更改,将所有数据保存到 KnowsMore SQLite 数据库中,然后增量同步到 Neo4J 数据库。这种策略带来了多项好处,例如比原始 BloodHound 用户界面快至少 10 倍。

导入 NTDS 文件

方式 1

注意: 直接从 NTDS.dit 和 SYSTEM 注册表文件导入哈希和明文密码。

root@kitploit:~
knowsmore --secrets-dump -target LOCAL -ntds ~/Desktop/ntds.dit -system ~/Desktop/SYSTEM

方式 2

注意: 首先使用 secretsdump 提取 NTDS 哈希,命令如下:

root@kitploit:~
secretsdump.py -ntds ntds.dit -system system.reg -hashes lmhash:ntlmhash LOCAL -outputfile ~/Desktop/client_name

然后导入:

root@kitploit:~
knowsmore --ntlm-hash --import-ntds ~/Desktop/client_name.ntds

生成自定义字典

root@kitploit:~
knowsmore --word-list -o "~/Desktop/Wordlist/my_custom_wordlist.txt" --batch --name company_name

导入已破解的哈希

破解哈希

首先将所有哈希提取到文本文件中:

root@kitploit:~
# 提取 NTLM 哈希到文件
nowsmore --ntlm-hash --export-hashes "~/Desktop/ntlm_hash.txt"

# 或者,从 NTDS 文件中提取 NTLM 哈希
cat ~/Desktop/client_name.ntds | cut -d ':' -f4 > ntlm_hashes.txt

为了破解哈希,我通常使用 hashcat,命令如下:

root@kitploit:~
# 字典攻击
hashcat -m 1000 -a 0 -O -o "~/Desktop/cracked.txt" --remove "~/Desktop/ntlm_hash.txt" "~/Desktop/Wordlist/*"

# 掩码攻击
hashcat -m 1000 -a 3 -O --increment --increment-min 4 -o "~/Desktop/cracked.txt" --remove "~/Desktop/ntlm_hash.txt" ?a?a?a?a?a?a?a?a

导入 hashcat 输出文件

root@kitploit:~
knowsmore --ntlm-hash --company clientCompanyName --import-cracked ~/Desktop/cracked.txt

注意: 将 clientCompanyName 替换为你的公司名称。

清除敏感数据

由于密码及其哈希极为敏感,存在一个模块用于替换明文密码及对应的哈希。

注意: 此命令将保留所有生成的统计信息和已导入的用户数据。

root@kitploit:~
knowsmore --wipe

BloodHound 标记为已拥有

单个用户

在评估过程中,你可能(通过多种方式)发现用户密码,因此可以将其添加到 KnowsMore 数据库中:

root@kitploit:~
knowsmore --user-pass --username administrator --password Sec4US@2023

# 或者添加公司名称
knowsmore --user-pass --username administrator --password Sec4US@2023 --company sec4us

将所有已破解凭证集成到 Neo4j Bloodhound 数据库:

root@kitploit:~
knowsmore --bloodhound --mark-owned 10.10.10.10 -d neo4j -u neo4j -p 123456

要进行远程连接,请确保 Neo4j 数据库服务器允许远程连接。在配置文件 /etc/neo4j/neo4j.conf 中修改以下行,然后重启服务:

root@kitploit:~
server.bolt.listen_address=0.0.0.0:7687

待办事项

查看 TODO 文件

下载工具