
NTLMRawUnhide.py — это скрипт на Python3, предназначенный для анализа файлов захвата сетевых пакетов и извлечения хэшей NTLMv2 в формате, пригодном для взлома. Поддерживаются следующие бинарные форматы захвата сетевых пакетов: *.pcap *.pcapng *.cap *.etl
Автор : Mike Gualtieri
Блог : https://www.mike-gualtieri.com
Твиттер : https://twitter.com/mlgualtieri
GitHub : https://github.com/mlgualtieri/NTLMRawUnhide
Статья: https://www.mike-gualtieri.com/posts/live-off-the-land-and-crack-the-ntlmssp-protocol
NTLMRawUnhide.py — это скрипт Python3, предназначенный для анализа файлов захвата сетевых пакетов и извлечения хэшей NTLMv2 в формате, пригодном для взлома. Инструмент разработан для извлечения хэшей NTLMv2 из файлов, созданных нативными двоичными файлами Windows, такими как NETSH.EXE и PKTMON.EXE, без конвертации.
Поддерживаются следующие форматы двоичных файлов захвата пакетов:
Usage: NTLMRawUnhide.py -i <inputfile> [-o <outputfile>] [-f] [-h] [-q] [-v]
Main options:
-f, --follow Continuously "follow" (e.g. "read from")
input file for new data
-h, --help
-i, --input <inputfile> Binary packet data input file
(.pcap, .pcapng, .cap, .etl, others?)
-o, --output <outputfile> Output file to record any found NTLM
hashes
-q, --quiet Be a lot more quiet and only output
found NTLM hashes. --quiet will also
disable verbose, if specified.
-v, --verbose
Извлечь хэши NTLMv2 из файла examples/capture.pcap:
python3 NTLMRawUnhide.py -i examples/capture.pcap
То же самое, но с подробным выводом:
python3 NTLMRawUnhide.py -i examples/capture.pcap -v
Извлечь хэши NTLMv2 из файла examples/capture.pcap и продолжить мониторинг файла на предмет новых хэшей (как tail -f):
python3 NTLMRawUnhide.py -i examples/capture.pcap -f
Извлечь хэши NTLMv2 из файла examples/capture.pcap и записать найденные хэши в /tmp/hashes.txt:
python3 NTLMRawUnhide.py -i examples/capture.pcap -o /tmp/hashes.txt
Для создания совместимого файла захвата пакетов можно использовать любой из следующих методов:
Set capture filter as "tcp port 445"; Save as .pcapng
tcpdump -i eth0 -w capture.pcap "port 445"
netsh.exe trace start persistent=yes capture=yes TCP.AnyPort=445 tracefile=C:\Users\Public\capture.etl
netsh.exe trace stop
pktmon.exe filter add SMB -p 445
:: List all filters
pktmon.exe filter list
:: Find id of the network adapter (example > Id: 9)
pktmon.exe comp list
:: pktmon.exe start --etw -p 0 -c [Adapter ID]
pktmon.exe start --etw -p 0 -c 9
:: Will create the file PktMon.etl in current directory
pktmon.exe stop
:: Cleanup
pktmon.exe filter remove
Следующий URL был очень полезен при создании этого инструмента: Протокол аутентификации NTLM и поставщик поддержки безопасности http://davenport.sourceforge.net/ntlm.html