PTH哈希传递演练详解:从零到实战的“偷天换日”全记录
哎呦喂,各位网安同僚们,今天咱们不聊虚的,直接来点硬核的干货——PTH哈希传递演练详解!说实话,我刚接触这个概念的时候,整个人是懵的,心想:这玩意儿跟Pass the Hash有啥区别?后来真正上手做实验才发现,PTH哈希传递简直是内网渗透里的“万能钥匙”,尤其是当你拿到了一台机器的管理员权限,却死活搞不到明文密码的时候,那心情,简直像热锅上的蚂蚁——急得团团转!但别慌,今天我就把我踩过的坑、总结的经验,原原本本跟大家伙儿唠唠。
为啥非要搞PTH?直接上密码不香吗?
哎,这你就问到点子上了!在真实的内网环境里,尤其是域环境,你想拿到明文密码?那难度堪比登天!Windows系统默认开了NTLM认证,密码在内存里都是经过哈希处理的,你根本看不透,但哈希传递这招儿就妙了——它压根不关心明文密码是啥,只要你有用户的NTLM哈希,就能直接冒充他登录,这招儿在内网横向移动里简直屡试不爽!我当初第一次在实验环境里用mimikatz抓到一个域管的NTLM哈希,然后直接用它登录了域控服务器,那种感觉,嘿,就像拿着万能钥匙开了全世界的门,爽到飞起!
演练前的准备:工欲善其事,必先利其器
别急着上手,咱得把家伙事儿备齐了,我通常喜欢用这几样神器:mimikatz(抓哈希的瑞士军刀)、impacket套件(尤其是其中的secretsdump、wmiexec、psexec,简直是PTH的黄金搭档),还有crackmapexec(批量验证神器),对了,虚拟机必须有!我一般搞三层网络拓扑:攻击机(Kali)、跳板机(Win7)、靶机(Win2008),这样演练起来才带劲儿。
记住啊,PTH哈希传递的原理说白了,就是利用NTLM认证的缺陷——服务器只验证哈希是否匹配,不关心你是不是拿到了明文,你在内网里只要有一台机器沦为“肉鸡”,抓到了本地域管的哈希,那就能“借尸还魂”,顺着网线爬遍整个域,我第一次在实战演练里搞定这个的时候,手都在抖,心想:这活儿,真他娘的是个技术活!
实战开搞:一步步手把手教你“偷天换日”
来,咱们直接上命令!假设你已经拿下一台机器,并且有了管理员权限(比如通过MS17-010啥的),第一步,拉出mimikatz:
privilege::debug
sekurlsa::logonpasswords
哎呦,一堆明文和哈希哗啦啦地出来了,看到那串NTLM hash了吗?就是它!复制下来,这可是咱们后半场的主角。
第二步,用crackmapexec或者impacket的wmiexec直接打:
crackmapexec smb 192.168.52.0/24 -u administrator -H 你的NTLM哈希 --exec-method wmiexec
看到的标志了吗?那就是成功了!我当时第一次跑通的时候,心跳直接飙到120,一种“天下我有”的错觉油然而生,但别得意,哈希传递虽好,也要注意别被杀软拦了,最好用进程注入或者免杀版工具。
再补一招:用impacket的psexec,那家伙动静不小,但胜在稳定,如果你发现目标机器没开445,那咱就换个思路,用wmiexec.py走135端口,嘿嘿,这就是PTH哈希传递演练的魅力所在——灵活多变,见招拆招!
踩坑心得与避坑指南
哥们儿我当年演练的时候,可没少翻车!最尴尬的一次,是在一个域环境里,我用域管的哈希打了三台机器,结果全失败,最后才发现是SMB签名阻碍了传递——那叫一个憋屈!记住喽,如果crackmapexec报错STATUS_LOGON_FAILURE,先别急,检查下系统时间,NTLM认证对时间敏感得狠,偏差超过5分钟,天王老子来了也登不上!
还有,別总想着用sekurlsa::msv拿到明文,现在Win10 2019+默认开Credential Guard,你抓到的基本都是加密的,这时候就得靠哈希传递硬刚,我想提醒大家一句:PTH虽然爽,但别忘了日志清理!用mimikatz的event::drop或者手工删日志,不然蓝队顺着日志就能找到你,那咱们演练就变成“送人头”了。
最后的话:学网安,别做“脚本小子”
写到这里,我这手都酸了,但心是热乎的。PTH哈希传递演练这门手艺,说透了就是“知己知彼,百战不殆”,你只有理解了NTLM认底层的脆弱,才能在日常防守中有的放矢,我见过太多人拿着工具就冲,一遇问题就懵——那可不行,咱们得把原理嚼碎了咽下去,变成自己的东西!
友情提醒:技术本身没有好坏,但用之正则正,用之邪则邪。PTH哈希传递演练仅限在授权的测试环境中进行,千万别拿生产环境开玩笑,那可是要吃牢饭的!

如果你也想踏入网络安全这行,或者技术上有什么困惑,欢迎加QQ一起交流学习:3394506855(备注:网安交流),咱们一起进步,一起在技术的深海里扑腾,这才是青春该有的样子!加油,未来的大师们!

