
NTLMRawUnhide.py est un script Python3 conçu pour analyser les fichiers de capture de paquets réseau et extraire les hachages NTLMv2 dans un format craquable. Les formats de capture de paquets binaires suivants sont pris en charge : *.pcap *.pcapng *.cap *.etl
Auteur : Mike Gualtieri
Blog : https://www.mike-gualtieri.com
Twitter : https://twitter.com/mlgualtieri
GitHub : https://github.com/mlgualtieri/NTLMRawUnhide
Article : https://www.mike-gualtieri.com/posts/live-off-the-land-and-crack-the-ntlmssp-protocol
NTLMRawUnhide.py est un script Python3 conçu pour analyser des fichiers de capture de paquets réseau et extraire les hashes NTLMv2 dans un format craquable. L'outil a été développé pour extraire les hashes NTLMv2 de fichiers générés par des binaires Windows natifs comme NETSH.EXE et PKTMON.EXE sans conversion.
Les formats binaires de capture de paquets suivants sont pris en charge :
Usage: NTLMRawUnhide.py -i <inputfile> [-o <outputfile>] [-f] [-h] [-q] [-v]
Options principales :
-f, --follow Suivre continuellement (par ex. « lire depuis »)
le fichier d'entrée pour de nouvelles données
-h, --help
-i, --input <inputfile> Fichier d'entrée de données binaires de paquets
(.pcap, .pcapng, .cap, .etl, autres ?)
-o, --output <outputfile> Fichier de sortie pour enregistrer les hashes
NTLM trouvés
-q, --quiet Être beaucoup plus silencieux et n'afficher que
les hashes NTLM trouvés. --quiet désactivera
également le mode verbose, si spécifié.
-v, --verbose
Extraire les hashes NTLMv2 de examples/capture.pcap :
python3 NTLMRawUnhide.py -i examples/capture.pcap
Idem, mais avec sortie verbose :
python3 NTLMRawUnhide.py -i examples/capture.pcap -v
Extraire les hashes NTLMv2 de examples/capture.pcap et continuer à surveiller le fichier pour de nouveaux hashes (comme tail -f) :
python3 NTLMRawUnhide.py -i examples/capture.pcap -f
Extraire les hashes NTLMv2 de examples/capture.pcap et écrire les hashes extraits dans /tmp/hashes.txt :
python3 NTLMRawUnhide.py -i examples/capture.pcap -o /tmp/hashes.txt
Pour créer un fichier de capture de paquets compatible, l'une des méthodes suivantes peut être utilisée :
Définir le filtre de capture comme « tcp port 445 » ; Enregistrer au format .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
L'URL suivante a été très utile lors de la construction de cet outil : Le protocole d'authentification NTLM et le fournisseur de support de sécurité http://davenport.sourceforge.net/ntlm.html