怎么使用NTLMHash?老网工手把手教你破解哈希(附踩坑实录)
哎,说到NTLMHash,我是真有一肚子话要讲!上周帮朋友做渗透测试,他还在用彩虹表跑得满头大汗,我直接用NTLMHash中继三分钟拿下域控权限,他当场就傻眼了,今天咱们就来聊聊这个让无数安全工程师又爱又恨的工具到底怎么玩!
先搞清楚NTLMHash是个啥玩意儿
好多新手一上来就问我:“老师,NTLMHash是不是就是密码啊?”唉,这话对了一半,NTLMHash其实是Windows系统里存储密码的加密形式,就像你把牛肉做成牛肉干保存起来一样,虽然原材料是牛肉,但你直接啃牛肉干肯定不对味儿,Windows把用户密码通过一系列算法转换成哈希值存储,这个值就是咱们要攻击的目标。
说到这儿我得提醒各位,NTLMHash和Net-NTLMv2完全是两码事!前者是本地存储的哈希可以直接Pass-the-Hash,后者是网络认证时的挑战响应,只能用来中继,好多小白搞混这个,拿着网络抓包抓到的NTLMv2去跑哈希碰撞,那真是南辕北辙,气死我了!
怎么使用NTLMHash?实战五步走
第一步:获取哈希(这一步最头疼)
说实话,获取哈希的方法五花八门,最简单的就是用Mimikatz在已控主机上直接导出:
privilege::debug
sekurlsa::logonpasswords
看到输出的那串AAD3B435B51404EEAAD3B435B51404EE开头的玩意儿没?那就是NTLMHash啦!不过我得唠叨一句——你最好在管理员权限的CMD或者PowerShell里运行,不然各种报错能让你崩溃到怀疑人生。
第二步:Pass-the-Hash直接登录
拿到哈希就别费劲去破解了!直接用哈希登录它不香吗?我常用的工具是Impacket套件里的psexec.py:
python3 psexec.py -hashes :YOUR_NTLM_HASH administrator@192.168.1.1
哎哟喂,这一步简直就是“一招鲜吃遍天”,只要目标没开Windows Defender实时防护,基本一打一个准,不过要是碰上SMB签名强制开启的环境,就得换用evil-winrm或者WMI协议了。
第三步:中继攻击(高级玩法)
这个可就有意思多了!利用ntlmrelayx把获取的Net-NTLMv2哈希转发到另一台机器上,直接把目标机器的SAM数据库拖下来:
ntlmrelayx.py -t smb://192.168.1.10 -smb2support
然后随便在网上邻居里触发一次认证请求,哗啦啦,哈希就到手了!每次做这一步我都特别兴奋,感觉就像钓鱼时大鱼咬钩一样。
第四步:哈希破解(最后的手段)
如果对方密码设置得实在弱智,那咱们就顺水推舟跑个字典,Hashcat搭配rockyou字典,一千块显卡并行算,那速度简直快到飞起!不过我真心建议各位,还是别浪费电费了,现在的Windows密码普遍密码策略不错,跑了三天三夜出不来也是常有的事儿。
几个让我挠头的坑
-
防病毒软件!Windows Defender一更新,Mimikatz立马变病毒!我上次在客户那里运行,差点把人家安全团队全招来,那场面别提多尴尬了,解决办法是加白名单或者用进程注入工具。
-
64位和32位的坑!你拿32位的工具去64位的系统上跑,能输出结果就见鬼了!我刚开始学的时候折腾了两天,最后发现下载错了版本,气得把键盘都砸了。
-
离线哈希攻击的局限性!拿到哈希只是第一步,如果目标开启了Credential Guard,那么就算你有哈希也白搭,这时候得考虑内存攻击或者篡改注册表,唉,道高一尺魔高一丈啊!
我的经验之谈
说了这么多,我得提醒各位:NTLMHash攻击是网络安全测试中的核心技能,但咱们必须用在正道上,我自己就是在学了这套技术后,帮企业找出了不少安全隐患,真正理解了“最好的防御是进攻”这句话的含义。
你要问怎么使用NTLMHash最高效?我的建议是组合拳!先收集信息,再获取哈希,然后尝试各种横向移动手法,记得做好记录,每次都把攻击路径画成思维导图,这样复盘的时候才有迹可循。
哎,突然想起一件事,你们要是真想系统学习网络安全,特别是内网渗透这块,可以加QQ:3382688692,我偶尔会分享一些实战经验和工具包,绝对比网上那些菜鸟教程靠谱多了!

最后送大家一句话吧:NTLMHash只是开始,真正的功夫在哈希之外,理解Windows认证机制,熟悉网络协议栈,才能成为真正的网络高手,这是我摸爬滚打这么多年最深切的感悟啊!

