
NTLMRawUnhide.py es un script de Python3 diseñado para analizar archivos de captura de paquetes de red y extraer hashes NTLMv2 en un formato descifrable. Se admiten los siguientes formatos binarios de captura de paquetes de red: *.pcap *.pcapng *.cap *.etl
Autor : Mike Gualtieri
Blog : https://www.mike-gualtieri.com
Twitter : https://twitter.com/mlgualtieri
GitHub : https://github.com/mlgualtieri/NTLMRawUnhide
Artículo: https://www.mike-gualtieri.com/posts/live-off-the-land-and-crack-the-ntlmssp-protocol
NTLMRawUnhide.py es un script de Python3 diseñado para analizar archivos de captura de paquetes de red y extraer hashes NTLMv2 en un formato descifrable. La herramienta fue desarrollada para extraer hashes NTLMv2 de archivos generados por binarios nativos de Windows como NETSH.EXE y PKTMON.EXE sin necesidad de conversión.
Se soportan los siguientes formatos binarios de captura de paquetes:
Uso: NTLMRawUnhide.py -i <archivo_entrada> [-o <archivo_salida>] [-f] [-h] [-q] [-v]
Opciones principales:
-f, --follow Seguir continuamente (ej. "leer de")
el archivo de entrada en busca de nuevos datos
-h, --help Muestra esta ayuda
-i, --input <archivo_entrada> Archivo de entrada con datos binarios de paquetes
(.pcap, .pcapng, .cap, .etl, ¿otros?)
-o, --output <archivo_salida> Archivo de salida para registrar los hashes NTLM
encontrados
-q, --quiet Ser mucho más silencioso y solo mostrar
los hashes NTLM encontrados. --quiet también
deshabilitará verbose, si se especifica.
-v, --verbose Modo detallado
Extraer hashes NTLMv2 de examples/capture.pcap:
python3 NTLMRawUnhide.py -i examples/capture.pcap
Lo mismo, pero con salida detallada:
python3 NTLMRawUnhide.py -i examples/capture.pcap -v
Extraer hashes NTLMv2 de examples/capture.pcap y continuar monitoreando el archivo en busca de nuevos hashes (como tail -f):
python3 NTLMRawUnhide.py -i examples/capture.pcap -f
Extraer hashes NTLMv2 de examples/capture.pcap y escribir los hashes extraídos en /tmp/hashes.txt
python3 NTLMRawUnhide.py -i examples/capture.pcap -o /tmp/hashes.txt
Para crear un archivo de captura de paquetes compatible, se puede usar cualquiera de los siguientes métodos:
Establecer filtro de captura como "tcp port 445"; Guardar como .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
:: Listar todos los filtros
pktmon.exe filter list
:: Encontrar el id del adaptador de red (ejemplo > Id: 9)
pktmon.exe comp list
:: pktmon.exe start --etw -p 0 -c [ID del Adaptador]
pktmon.exe start --etw -p 0 -c 9
:: Creará el archivo PktMon.etl en el directorio actual
pktmon.exe stop
:: Limpieza
pktmon.exe filter remove
La siguiente URL fue muy útil al construir esta herramienta: El Protocolo de Autenticación NTLM y el Proveedor de Soporte de Seguridad http://davenport.sourceforge.net/ntlm.html