
Сопоставляет NTLM-хеши, данные BloodHound и взломанные пароли для тестирования на проникновение в Active Directory. Импортирует NTDS.dit, синхронизирует с Neo4j, анализирует качество паролей и генерирует пользовательские списки слов.
KnowsMore официально поддерживает Python 3.8+.
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.
knowsmore --stats
Эта команда выведет различную статистику по паролям, как показано ниже.
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 устанавливает KnowsMore в изолированное виртуальное окружение, избегая конфликтов с системными пакетами. Это рекомендуемый способ в Kali Linux и других управляемых извне средах Python (PEP 668).
# Установите 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', добавьте setuptools в окружение KnowsMore:
pipx inject knowsmore setuptools
pip3 install --upgrade knowsmore
Примечание: Если у вас возникли проблемы с версиями зависимостей, проверьте файл Virtual ENV
Нет обязательного порядка импорта данных, но для лучшей корреляции мы предлагаем следующий порядок:
Все данные хранятся в базе данных SQLite.
knowsmore --create-db
Мы можем импортировать все полные файлы BloodHound в KnowsMore, коррелировать данные и синхронизировать их с базой данных Neo4J BloodHound. Таким образом, вы можете использовать только KnowsMore для импорта JSON-файлов напрямую в Neo4j вместо использования «чрезвычайно медленного пользовательского интерфейса BloodHound».
# ZIP-файл BloodHound
knowsmore --bloodhound --import-data ~/Desktop/client.zip
# JSON-файл BloodHound
knowsmore --bloodhound --import-data ~/Desktop/20220912105336_users.json
Примечание: KnowsMore может импортировать ZIP-файлы BloodHound и JSON-файлы, но мы рекомендуем использовать ZIP-файл, так как KnowsMore автоматически упорядочит файлы для лучшей корреляции данных.
# ZIP-файл BloodHound
knowsmore --bloodhound --sync 10.10.10.10:7687 -d neo4j -u neo4j -p 12345678
Примечание: Реализация импортёра BloodHound в KnowsMore вдохновлена реализацией Fox-It BloodHound Import. Мы внесли несколько изменений для сохранения всех данных в базе данных SQLite KnowsMore, а затем выполнения инкрементальной синхронизации с базой данных Neo4J. Эта стратегия даёт ряд преимуществ, таких как как минимум 10-кратное ускорение по сравнению с оригинальным пользовательским интерфейсом BloodHound.
Примечание: Импорт хешей и паролей в открытом виде напрямую из NTDS.dit и реестра SYSTEM.
knowsmore --secrets-dump -target LOCAL -ntds ~/Desktop/ntds.dit -system ~/Desktop/SYSTEM
Примечание: Сначала используйте secretsdump для извлечения хешей NTDS следующей командой:
secretsdump.py -ntds ntds.dit -system system.reg -hashes lmhash:ntlmhash LOCAL -outputfile ~/Desktop/client_name
После этого импортируйте:
knowsmore --ntlm-hash --import-ntds ~/Desktop/client_name.ntds