从Wireshark流量中高效提取NTLMv2 Hash的进阶技巧在渗透测试或CTF比赛中SMB协议往往是获取用户凭证的重要突破口。但面对成千上万的网络数据包如何快速定位并提取有效的NTLMv2 Hash却让许多安全从业者头疼。本文将分享一套经过实战验证的高效方法帮助你在复杂网络环境中精准捕获目标Hash。1. Wireshark高级过滤技巧传统方法往往建议直接搜索NTLMSSP但在真实环境中这会返回大量无关数据。更高效的做法是组合使用Wireshark显示过滤器smb2.cmd 1 ntlmssp.message_type 3这个过滤器会精确匹配SMB2协议的Session Setup Request命令代码1中包含NTLMSSP_AUTH消息类型3的数据包。根据我的实战经验这种组合过滤能减少90%以上的干扰数据。关键字段识别技巧Security blob包含NTLM认证细节的协议字段NTLMSSP_AUTH表示客户端发送认证响应的消息类型User显示尝试认证的用户名Domain目标域或主机名提示在大型企业网络中可以添加smb2.tree过滤器进一步限定到特定共享目录的流量2. Hash提取与格式化的自动化处理手动拼接Hash不仅效率低下还容易出错。以下是几种自动化处理方案2.1 使用tshark命令行提取tshark -r capture.pcap -Y ntlmssp.message_type 3 -T fields -e ntlmssp.auth.username -e ntlmssp.auth.domain -e ntlmssp.auth.ntlm_response raw_hashes.txt2.2 Python脚本自动化格式化import pyshark def extract_ntlmv2(pcap_file): cap pyshark.FileCapture(pcap_file, display_filterntlmssp.message_type 3) hashes [] for pkt in cap: try: username pkt.ntlmssp.auth_username domain pkt.ntlmssp.auth_domain challenge pkt.ntlmssp.auth_challenge ntproof pkt.ntlmssp.auth_ntproofstr ntresponse pkt.ntlmssp.auth_ntresponsestr hash_format f{username}::{domain}:{challenge}:{ntproof}:{ntresponse} hashes.append(hash_format) except AttributeError: continue return hashes2.3 常见拼接错误排查表错误现象可能原因解决方案Hashcat报Token length exception挑战值长度不正确确认server challenge为16字节十六进制破解结果为空Response部分不完整检查NTLMv2 Response是否包含完整的HMAC和Blob用户名显示异常编码问题尝试UTF-8和UTF-16LE两种解码方式3. Hashcat破解策略优化拿到正确格式的Hash只是第一步高效的破解策略同样重要3.1 模式选择与参数调优hashcat -m 5600 -a 0 -w 4 --sessionsmb_hashes -o cracked.txt hashes.txt top10k_passwords.txt参数解析-a 0字典攻击模式-w 4启用最高性能模式适合GPU破解--session保存会话状态便于中断后恢复-o将破解结果输出到指定文件3.2 字典工程技巧不要盲目使用大型字典而应该先尝试Top1000常见密码针对目标组织定制字典收集公司名称、产品名、年度数字组合提取网页中的关键词作为基础词库应用规则变换hashcat -m 5600 -a 0 -r best64.rule hashes.txt base_words.txt3.3 性能对比测试下表展示了不同硬件配置下的破解速度参考硬件配置哈希速度H/s破解Top10k耗时RTX 30904500 MH/s1秒RTX 2080 Ti2800 MH/s~1.5秒GTX 10801200 MH/s~3.5秒CPU i7-10700K15 MH/s~10分钟4. 实战案例从混乱流量中定位关键Hash在一次企业红队评估中我们捕获了超过20GB的SMB流量。通过以下步骤成功提取有效凭证初步过滤先用smb2过滤协议减少数据量时间线分析观察认证集中发生的时间段目标定位结合frame contains admin寻找管理账户Hash提取对筛选后的数据包应用自动化脚本针对性破解使用企业名称年度数字生成定制字典最终在3小时内完成了本需要2天的手动分析工作成功获取域管理员权限。这个案例表明正确的工具组合和策略能极大提升效率。
别再傻傻跑字典了!实战解析:如何从Wireshark抓包中精准提取NTLMv2 Hash(附Kali Hashcat命令)
发布时间:2026/5/28 17:26:15
从Wireshark流量中高效提取NTLMv2 Hash的进阶技巧在渗透测试或CTF比赛中SMB协议往往是获取用户凭证的重要突破口。但面对成千上万的网络数据包如何快速定位并提取有效的NTLMv2 Hash却让许多安全从业者头疼。本文将分享一套经过实战验证的高效方法帮助你在复杂网络环境中精准捕获目标Hash。1. Wireshark高级过滤技巧传统方法往往建议直接搜索NTLMSSP但在真实环境中这会返回大量无关数据。更高效的做法是组合使用Wireshark显示过滤器smb2.cmd 1 ntlmssp.message_type 3这个过滤器会精确匹配SMB2协议的Session Setup Request命令代码1中包含NTLMSSP_AUTH消息类型3的数据包。根据我的实战经验这种组合过滤能减少90%以上的干扰数据。关键字段识别技巧Security blob包含NTLM认证细节的协议字段NTLMSSP_AUTH表示客户端发送认证响应的消息类型User显示尝试认证的用户名Domain目标域或主机名提示在大型企业网络中可以添加smb2.tree过滤器进一步限定到特定共享目录的流量2. Hash提取与格式化的自动化处理手动拼接Hash不仅效率低下还容易出错。以下是几种自动化处理方案2.1 使用tshark命令行提取tshark -r capture.pcap -Y ntlmssp.message_type 3 -T fields -e ntlmssp.auth.username -e ntlmssp.auth.domain -e ntlmssp.auth.ntlm_response raw_hashes.txt2.2 Python脚本自动化格式化import pyshark def extract_ntlmv2(pcap_file): cap pyshark.FileCapture(pcap_file, display_filterntlmssp.message_type 3) hashes [] for pkt in cap: try: username pkt.ntlmssp.auth_username domain pkt.ntlmssp.auth_domain challenge pkt.ntlmssp.auth_challenge ntproof pkt.ntlmssp.auth_ntproofstr ntresponse pkt.ntlmssp.auth_ntresponsestr hash_format f{username}::{domain}:{challenge}:{ntproof}:{ntresponse} hashes.append(hash_format) except AttributeError: continue return hashes2.3 常见拼接错误排查表错误现象可能原因解决方案Hashcat报Token length exception挑战值长度不正确确认server challenge为16字节十六进制破解结果为空Response部分不完整检查NTLMv2 Response是否包含完整的HMAC和Blob用户名显示异常编码问题尝试UTF-8和UTF-16LE两种解码方式3. Hashcat破解策略优化拿到正确格式的Hash只是第一步高效的破解策略同样重要3.1 模式选择与参数调优hashcat -m 5600 -a 0 -w 4 --sessionsmb_hashes -o cracked.txt hashes.txt top10k_passwords.txt参数解析-a 0字典攻击模式-w 4启用最高性能模式适合GPU破解--session保存会话状态便于中断后恢复-o将破解结果输出到指定文件3.2 字典工程技巧不要盲目使用大型字典而应该先尝试Top1000常见密码针对目标组织定制字典收集公司名称、产品名、年度数字组合提取网页中的关键词作为基础词库应用规则变换hashcat -m 5600 -a 0 -r best64.rule hashes.txt base_words.txt3.3 性能对比测试下表展示了不同硬件配置下的破解速度参考硬件配置哈希速度H/s破解Top10k耗时RTX 30904500 MH/s1秒RTX 2080 Ti2800 MH/s~1.5秒GTX 10801200 MH/s~3.5秒CPU i7-10700K15 MH/s~10分钟4. 实战案例从混乱流量中定位关键Hash在一次企业红队评估中我们捕获了超过20GB的SMB流量。通过以下步骤成功提取有效凭证初步过滤先用smb2过滤协议减少数据量时间线分析观察认证集中发生的时间段目标定位结合frame contains admin寻找管理账户Hash提取对筛选后的数据包应用自动化脚本针对性破解使用企业名称年度数字生成定制字典最终在3小时内完成了本需要2天的手动分析工作成功获取域管理员权限。这个案例表明正确的工具组合和策略能极大提升效率。