⚠️ 開場引言
在 Windows 內網滲透中,Pass-the-Hash(PtH)攻擊是橫向移動的核心手法。攻擊者無需破解密碼,直接以竊取的 NTLM 雜湊值偽造身份,在整個域環境中自由穿梭。
NTLM 認證機制與攻擊原理
NTLM 認證採用 Challenge-Response 模型,伺服器傳送隨機挑戰值,用戶端以密碼的 NTLM Hash 加密後回傳。關鍵漏洞在於:系統驗證的是 Hash 本身,而非明文密碼。只要取得 Hash,即可直接通過驗證,不需要任何破解步驟。攻擊者通常透過 Mimikatz 從 LSASS 進程記憶體中傾印(dump)出 NTLM Hash,再以工具(如 Impacket、CrackMapExec)對內網其他主機發起認證請求,完成橫向移動。同一組域帳號 Hash 往往可存取大量機器,攻擊面極廣。
橫向移動與權限提升路徑
取得普通用戶 Hash 後,攻擊者優先鎖定本機管理員帳號(RID 500)或具有跨機器重用密碼的服務帳號。透過 SMB 協議執行遠端指令,可在目標機器上部署後門或竊取更高權限的 Hash。若成功取得 Domain Admin 帳號的 Hash,則可利用 DCSync 技術向域控制器請求所有帳號憑證,達成完整域接管。整條攻擊鏈的核心是憑證重用(Credential Reuse)——企業內部密碼重用率越高,單一 Hash 的橫向穿透力越強。
# 使用 Impacket 以 NTLM Hash 執行遠端指令(PtH 示範)
python3 psexec.py -hashes :aad3b435b51404eeaad3b435b51404ee \
administrator@192.168.1.100
# 使用 CrackMapExec 批量驗證內網機器
crackmapexec smb 192.168.1.0/24 \
-u administrator -H aad3b435b51404eeaad3b435b51404ee
💡 重點整理
- Hash 即憑證:NTLM 環境中,Hash 與明文密碼具有等同的認證效力。
- 主要來源:LSASS 記憶體、SAM 資料庫、NTDS.dit 是三大 Hash 竊取目標。
- 防禦核心:啟用 Protected Users 群組與 Credential Guard,限制 LSASS 存取。
- 最小權限原則:禁止本機管理員帳號跨機器重用,可大幅削減橫向移動範圍。
結語
Pass-the-Hash 攻擊揭示了密碼雜湊本身就是攻擊面的根本問題。防禦重心應從「保護密碼」轉向「保護 Hash」,並積極推動 Kerberos 取代 NTLM,從協議層根除漏洞。