NTLM Hash实战:从抓取到利用,一场与Windows认证的攻防拉锯战
嘿,各位安全圈的老铁们,今天咱们不聊虚的,直接上硬菜——聊聊NTLM Hash那点事儿,说实话,我最初接触这玩意儿的时候,真是又爱又恨,爱它是因为在红队评估中,拿到一个NTLM Hash往往意味着内网漫游的钥匙;恨它是因为,有时候折腾半天,抓着个Hash却不知道怎么用,那感觉,简直比吃苍蝇还难受。
初见惊鸿:什么是NTLM Hash?
先从最基础的唠起,NTLM Hash,全称NT LAN Manager Hash,简单说就是Windows系统存储密码的一种方式,注意了,这里不是明文密码,而是经过哈希算法处理后的密文,它长这样:aad3b435b51404eeaad3b435b51404ee,前面这串是LM Hash的残留,后面那串才是真正的NT Hash。
一开始我天真地以为,拿到这玩意儿就等于拿到密码了,后来才发现,天真得可爱,这玩意儿就像是个保险箱,而Hash就是保险箱的钥匙模具——你得用特殊的工具(比如Hashcat)去打磨它,才能开锁。
实战第一步:怎么抓取NTLM Hash?
哎呀,说到抓取,这可是门技术活,我在测试环境中,最常用的方法就是利用mimikatz——那可是我们红队的“瑞士军刀”,操作起来那叫一个简单,直接在目标机器上执行:
privilege::debug
sekurlsa::logonpasswords
你猜怎么着?哗啦一下,当前所有登录用户的NTLM Hash、明文密码(如果运气好)全暴露了,那感觉,就像打开了一个装满宝藏的密室,爽歪歪!
这里得提醒一句,现实环境可比实验室复杂多了,很多杀软现在对mimikatz都虎视眈眈,动不动就查杀,我上次给客户做测试,一执行命令,360就跳出来“拦截可疑操作”,吓我一跳,所以啊,免杀技术也是我们日常研究的方向,不然刚拿到权限就被封堵,那真是欲哭无泪。
实战第二步:利用NTLM Hash进行攻击(Pass-the-Hash)
拿到Hash之后,最骚的操作来了——Pass-the-Hash(PtH)攻击,啥意思呢?就是说,我甚至不需要破解出明文密码,直接拿着这个Hash就能去访问其他机器。
试想一下这个场景:你通过钓鱼拿下一台普通员工的工作站,抓取到了域管的NTLM Hash(别惊讶,有时候域管登录过这台机器),然后你直接在本地用mimikatz打一条命令:
sekurlsa::pth /user:administrator /domain:yourdomain.com /ntlm:<抓到的Hash>
执行完,弹出一个黑框框,你在这个黑框框里访问域控,直接就是最高权限,那种“挟天子以令诸侯”的快感,简直比大夏天喝冰阔落还解渴!
但话说回来,这事儿风险也不小。NTLM Hash虽然不能直接破解出密码,但它是可以重放的,企业内网里,我真心建议大家开启“网络级别认证”(NLA),至少能挡住一部分攻击。
实战第三步:破解与彩虹表
有些时候,PtH行不通(比如目标开启了限制),那就得走破解这条路,这时候,Hashcat就得请出山了,说真的,这玩意儿破解速度那叫一个快,配上好显卡,每秒跑个上百亿次都跟玩似的。
我记得有次实战,拿到一个域管的Hash,看着那串字符我脑子就疼,放到Hashcat里跑字典,本来想着怎么也得跑个三五天,结果你猜怎么着?有个弱口令字典,里面有个P@ssw0rd,跑了一分钟,出来了!我当时在椅子上差点蹦起来,原来目标域管的密码竟然这么简单。
要是遇到强密码,那就得靠规则生成、掩码攻击了,彩虹表也是个思路,不过现在用的人少了,毕竟存储空间太大,性价比不高。
绕不过的坎:缓解措施与防御策略
老铁们,咱们红队研究这个,是为了更好得防守,如果我是蓝队,我肯定这么干:
- 强制使用Kerberos:能不用NTLM就不用NTLM,毕竟Kerberos的票据更难伪造。
- 限制本地管理员权限:别让用户闲得没事干乱登录服务器。
- 开启Windows Defender Credential Guard:这玩意儿能直接把NTLM Hash锁在虚拟化环境里,让mimikatz也白瞎。
- 加强密码策略:别用“123456”这种了,我都替你们愁得慌。
NTLM Hash的实战,说白了就是一场“猫鼠游戏”,我们既要懂攻击的犀利,也得懂防守的坚韧,说实话,每一次成功的利用背后,都是无数次踩坑和查资料的积累。
行了,今天就跟大家唠到这儿,如果你也对网络安全这块感兴趣,尤其是想学点实战技巧,咱们可以私下聊聊,互相学习进步。

学习网络安全可以加QQ:3383708514,咱们一起探讨,共同提高!别忘了,网络江湖,技术为王,但人品更重要,咱们下期见!

