
NTLMRawUnhide.py는 네트워크 패킷 캡처 파일을 구문 분석하고 크랙 가능한 형식으로 NTLMv2 해시를 추출하도록 설계된 Python3 스크립트입니다. 지원되는 바이너리 네트워크 패킷 캡처 형식은 다음과 같습니다: *.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는 네트워크 패킷 캡처 파일을 파싱하여 크랙 가능한 형식의 NTLMv2 해시를 추출하도록 설계된 Python3 스크립트입니다. 이 도구는 변환 없이 NETSH.EXE 및 PKTMON.EXE와 같은 네이티브 Windows 바이너리로 생성된 파일에서 NTLMv2 해시를 추출하기 위해 개발되었습니다.
다음 이진 네트워크 패킷 캡처 형식을 지원합니다:
사용법: NTLMRawUnhide.py -i <입력파일> [-o <출력파일>] [-f] [-h] [-q] [-v]
주요 옵션:
-f, --follow 입력 파일을 계속 "추적"(예: "읽기")
하여 새 데이터를 확인
-h, --help
-i, --input <입력파일> 이진 패킷 데이터 입력 파일
(.pcap, .pcapng, .cap, .etl 및 기타?)
-o, --output <출력파일> 발견된 NTLM 해시를 기록할 출력 파일
-q, --quiet 훨씬 더 조용하게 작동하며, 발견된
NTLM 해시만 출력합니다. --quiet는
지정 시 verbose도 비활성화합니다.
-v, --verbose
examples/capture.pcap에서 NTLMv2 해시 추출:
python3 NTLMRawUnhide.py -i examples/capture.pcap
동일하나, 상세 출력 포함:
python3 NTLMRawUnhide.py -i examples/capture.pcap -v
examples/capture.pcap에서 NTLMv2 해시를 추출하고 파일을 계속 모니터링하여 새 해시 확인 (tail -f와 유사):
python3 NTLMRawUnhide.py -i examples/capture.pcap -f
examples/capture.pcap에서 NTLMv2 해시를 추출하고 추출된 해시를 /tmp/hashes.txt에 기록:
python3 NTLMRawUnhide.py -i examples/capture.pcap -o /tmp/hashes.txt
호환되는 패킷 캡처 파일을 생성하려면 다음 방법 중 하나를 사용할 수 있습니다:
캡처 필터를 "tcp port 445"로 설정; .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
:: 모든 필터 나열
pktmon.exe filter list
:: 네트워크 어댑터 ID 찾기 (예시 > Id: 9)
pktmon.exe comp list
:: pktmon.exe start --etw -p 0 -c [어댑터 ID]
pktmon.exe start --etw -p 0 -c 9
:: 현재 디렉터리에 PktMon.etl 파일 생성
pktmon.exe stop
:: 정리
pktmon.exe filter remove
이 도구를 구축하는 데 다음 URL이 큰 도움이 되었습니다: NTLM 인증 프로토콜 및 보안 지원 제공자 http://davenport.sourceforge.net/ntlm.html