关于KnowsMore
KnowsMore是一款针对Microsoft活动目录安全的多功能工具,该工具使用纯Python开发,旨在帮助广大研究人员轻松执行针对Microsoft活动目录的渗透测试任务。
功能介绍
1、支持从.ntds输出文本文件(由CrackMapExec或secretsdump.py生成)导入NTLM哈希; 2、支持从NTDS.dit和SYSTEM导入NTLM哈希; 3、支持从hashcat输出文件导入破解的NTLM哈希; 4、支持导入BloodHound ZIP或JSON文件; 5、BloodHound导入工具(在不需要BloodHound UI的情况下将JSON导入至Neo4J); 6、分析密码质量(包括长度、大小写字母、数字、特殊字符等); 7、分析密码相似度; 8、支持搜索用户、密码和哈希; 9、支持直接将所有已破解的凭证导出到BloodHound Neo4J数据库; 10、其他功能;
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3.8 环境。
源码安装
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
代码语言:javascript复制https://github.com/helviojunior/knowsmore.git
(向右滑动,查看更多)
然后切换到项目目录中,使用pip工具和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:
代码语言:javascript复制cd knowsmore
pip install -r requirements.txt
依赖组件安装完成之后,执行工具安装脚本即可完成TrafficWatch的安装:
代码语言:javascript复制$ python3 setup.py install
pip安装
代码语言:javascript复制pip3 install --upgrade knowsmore
工具执行流
1、创建数据库文件; 2、导入BloodHound文件(域名->GPO->OU->组->计算机->用户); 3、导入NTDS文件; 4、导入已破解的哈希;
创建数据库文件
代码语言:javascript复制knowsmore --create-db
导入BloodHund文件
代码语言:javascript复制# Bloodhound ZIP文件
knowsmore --bloodhound --import-data ~/Desktop/client.zip
# Bloodhound JSON文件
knowsmore --bloodhound --import-data ~/Desktop/20220912105336_users.json
(向右滑动,查看更多)
将数据同步至Neo4J BloodHound数据库
代码语言:javascript复制# Bloodhound ZIP文件
knowsmore --bloodhound --sync 10.10.10.10:7687 -d neo4j -u neo4j -p 12345678
(向右滑动,查看更多)
导入NTDS文件
选项1:
代码语言:javascript复制knowsmore --secrets-dump -target LOCAL -ntds ~/Desktop/ntds.dit -system ~/Desktop/SYSTEM
(向右滑动,查看更多)
选项2:
代码语言:javascript复制secretsdump.py -ntds ntds.dit -system system.reg -hashes lmhash:ntlmhash LOCAL -outputfile ~/Desktop/client_name
(向右滑动,查看更多)
生成一个自定义字典
代码语言:javascript复制knowsmore --word-list -o "~/Desktop/Wordlist/my_custom_wordlist.txt" --batch --name company_name
(向右滑动,查看更多)
导入已破解的哈希
提取所有哈希至一个文本文件:
代码语言:javascript复制# 提取NTLM哈希至文件
nowsmore --ntlm-hash --export-hashes "~/Desktop/ntlm_hash.txt"
# 或从NTDS文件提取NTLM哈希
cat ~/Desktop/client_name.ntds | cut -d ':' -f4 > ntlm_hashes.txt
(向右滑动,查看更多)
使用hashcat破解哈希:
代码语言:javascript复制# 字典攻击
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
代码语言:javascript复制(向右滑动,查看更多)
删除敏感数据
代码语言:javascript复制knowsmore --wipe
将发现的密码存储到Knowsmore数据库
代码语言:javascript复制knowsmore --user-pass --username administrator --password Sec4US@2023
knowsmore --user-pass --username administrator --password Sec4US@2023 --company sec4us
代码语言:javascript复制(向右滑动,查看更多)
将所有凭证存储到Neo4j Bloodhound数据库
代码语言:javascript复制knowsmore --bloodhound --mark-owned 10.10.10.10 -d neo4j -u neo4j -p 123456
(向右滑动,查看更多)
工具使用
下列命令将生成跟目标密码相关的多种统计数据:
代码语言:javascript复制knowsmore --stats
输出结果如下:
代码语言:javascript复制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 |
------- -------------- --------- ---------------------- -------
(向右滑动,查看更多)
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可证协议。
项目地址
KnowsMore:https://github.com/helviojunior/knowsmore