哈希传递
复用凭据
哈希传递 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。
什么是传递哈希?
传递哈希(PtH)是一种技术,攻击者使用用户的 NTLM 密码哈希进行身份验证,而不是使用明文密码。
由于 Windows NTLM 身份验证直接将哈希作为秘密凭据,因此您无需破解哈希,就可以以该用户身份登录。
NTLM 哈希
Windows 会将账户密码存储为 NTLM 哈希(密码 UTF-16 表示经过 MD4 运算得到的结果)。在 NTLM 身份验证期间,用于证明身份的是哈希,而不是密码。
这一设计缺陷意味着,对于基于 NTLM 的登录,窃取哈希在实际效果上等同于窃取密码。
哈希存放在哪里
哈希可以从多个位置获取:
- 本地计算机上的 SAM 数据库。
- 已登录用户的 LSASS 进程内存。
- 域控制器上的 NTDS.dit 文件。
每个来源所需的权限不同,但都能提供可重复使用的哈希。
使用 Mimikatz 转储
Mimikatz 是从 LSASS 内存中提取凭据的经典工具。sekurlsa::logonpasswords 命令会显示当前已登录用户的 NTLM 哈希。
读取 LSASS 需要本地管理员权限(通常还需要 SeDebugPrivilege)。
mimikatz # sekurlsa::logonpasswords使用 secretsdump 转储
Impacket 的 secretsdump.py 可以使用有效凭据,从 SAM 和域数据库中远程提取哈希。
如果您拥有适当的复制权限,它还可以执行 DCSync,直接从域控制器中提取哈希。
secretsdump.py corp.local/admin:Pass@10.0.0.10传递哈希
获得哈希后,工具可以让您直接使用它进行身份验证。Impacket 的 psexec.py 接受通过 -hashes 标志提供的哈希,并为您打开远程 shell。
格式为 LMHASH:NTHASH;在现代系统中,LM 部分通常是空的零值。
psexec.py -hashes :a1b2c3d4... administrator@10.0.0.20使用其他工具传递哈希
许多工具都支持 PtH:
- CrackMapExec / NetExec:将哈希喷洒到多台主机上。
- evil-winrm:使用哈希通过 WinRM 打开 shell。
- wmiexec.py / smbexec.py:其他执行方法。
将单个本地管理员哈希喷洒到整个子网,可以快速扩大访问范围。
netexec smb 10.0.0.0/24 -u admin -H a1b2c3d4... 横向移动
传递哈希是核心的横向移动技术。攻击者可以在其他计算机上重用一台计算机的本地管理员哈希(当多台计算机共享相同的本地管理员密码时,这会造成问题),从而在主机之间跳转。
每台新主机的内存中都可能存有权限更高用户的哈希。
防御措施
缓解措施包括:
- LAPS:为每台计算机设置唯一的随机本地管理员密码。
- Credential Guard:隔离 LSASS 秘密。
- 限制特权账户可以登录的位置(分层管理)。
- 在可行的情况下禁用 NTLM,改用 Kerberos。
相关攻击
传递哈希还有一些相关技术:
- 传递票据:重用被窃取的 Kerberos 票据。
- 哈希越权传递:使用 NTLM 哈希请求 Kerberos TGT。
这些技术将凭据重用扩展到了 Kerberos 环境。
NTLM 与 Kerberos
传递哈希专门利用 NTLM 身份验证。强制使用 Kerberos 并禁用 NTLM 的环境,其攻击面会显著缩小。
不过,出于兼容性考虑,大多数网络中仍然存在 NTLM,因此 PtH 依然广泛有效。这就是为什么禁用 NTLM 是推荐的加固措施。
快速检查
回忆一下为什么 PtH 不需要破解。
总结
现在,您已经了解传递哈希:
- NTLM 身份验证接受哈希作为秘密凭据,因此不需要破解。
- 可以使用 Mimikatz 或 secretsdump 从 SAM、LSASS 或 NTDS.dit 中转储哈希。
- psexec.py、NetExec 和 evil-winrm 等工具可以重用哈希来进行横向移动。
- 使用 LAPS、Credential Guard 和分层管理进行防御。
接下来,您将使用 BloodHound 映射攻击路径。
常见问题解答
「哈希传递」课时是免费的吗?
是的 — 「哈希传递」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。
「哈希传递」这节课中我会学到什么?
复用凭据 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Ethical Hacking Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「哈希传递」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?
能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。