一、NTLMv2哈希提取全流程

  1. 捕获SMB2认证流量
  • 工具:Wireshark
  • 过滤条件:

    tcp.port == 445 && smb2.cmd == 0x0001

    过滤SMB2 Session Setup请求,快速筛选出包含NTLMSSP_AUTH标志的包(通常为三包中的第三个)。

  1. 提取关键字段
    在目标数据包的SMB2层 → Security Blob字段中,按以下顺序提取:

    字段位置提取方法
    用户名Security Blob → User Name直接复制字符串值
    域名Security Blob → Domain直接复制字符串值(若为空则填.
    服务器挑战Security Blob → NTLMv2 Challenge作为16字节十六进制字符串复制(例如df723e959c430a53
    NTProofStrSecurity Blob → NTProofStr作为32字节十六进制字符串复制(例如f2958e36eb0d00d5...
    响应BlobSecurity Blob → Response Blob复制完整二进制流(后续需截取后半段)

二、哈希组合格式详解

NTLMv2哈希的标准格式为:

username::domain:ServerChallenge:NTProofStr:ModifiedResponseBlob

字段说明

  1. ServerChallenge

    • 来源:服务器返回的16字节随机值(见上表)。
    • 格式:直接使用提取的十六进制字符串(8字节,无需转换)。
  2. NTProofStr

    • 来源:客户端用密码NTLM哈希加密挑战值后的结果。
    • 格式:直接使用提取的32字节十六进制字符串(16字节)。
  3. ModifiedResponseBlob

    • 来源:响应Blob的后半部分(需去除NTProofStr前缀)。
    • 操作:

      • 将响应Blob转换为十六进制流(如0101000000000000...)。
      • 从第40字节(NTProofStr结束位置)开始截取剩余部分。

最终哈希示例

Administrator::DOMAIN:df723e959c430a53:f2958e36eb0d00d5...:010100000000000071b6ef1e1d30d7010600040002000000...

三、破解工具配置

Hashcat命令

hashcat -m 5600 -a 0 ntlmv2_hash.txt /path/to/password_dict.txt --force
  • 参数说明:

    • ntlmv2_hash.txt:构造后的hash保存文件。
      - /path/to/password_dict.txt:爆破字典文件。
    • -m 5600:指定NTLMv2模式。
    • -a 0:字典攻击。
    • --force:忽略警告(GPU加速时常用)。
正文到此结束

本文标题:SMB2协议中-NTLMv2哈希提取与爆破

本文链接:https://www.hantaosec.com/3821.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源及链接,不带链接禁止任何转载!访问任何网络安全相关文章,则视为默认接受网络安全文章免责声明 ,请认真阅读。

喜欢我的文章吗?
别忘了点赞或赞赏,让我知道创作的路上有你陪伴。