Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows NT/2000/XP 管理員密碼離線獲取技術:SAM 檔案提取與 Pwdump2 記憶體注入

編輯:XP 系統基礎知識

⚠️ 法律與道德聲明

本文僅供系統管理員在合法授權環境下進行密碼稽核、遺忘密碼恢復或滲透測試教學使用。**嚴禁**用於未經授權的系統存取、權限提升或資料竊取。實施前請確認適用法律(如中華民國刑法第 359 條、資通安全管理法)。

核心攻擊面:SAM 資料庫與 SYSKEY

儲存位置路徑特性
作用中 SAM%SystemRoot%\System32\Config\SAM系統執行時鎖定,無法直接複製
修復備份 SAM%SystemRoot%\Repair\SAM 或 SAM._可能已刪除或過期

SYSKEY (系統金鑰):Windows 2000+ 預設啟用,以 128-bit 金鑰加密 SAM 中的 NTLM 雜湊,導致離線複製 SAM 後無法直接破解。

方法一:離線啟動碟提取 SAM(適用無 SYSKEY 或舊版系統)

  1. 製作 Windows 98 SE 開機磁碟/USB,刪除 fdisk.exe 騰出空間。
  2. 複製 NTFSDOS.exe (可讀寫 NTFS 的 DOS 工具) 至啟動媒體。
  3. 目標機以啟動媒體開機 → 執行 NTFSDOS.exe 掛載 NTFS 磁碟 (如 D:)。
  4. 切換至 D:\WinNT\System32\Config (或 Windows),複製 SAM._ 或 SAM 至備份媒體。
  5. 於分析機使用 L0phtCrack / Cain & Abel / Hashcat 載入 SAM 進行字典/彩虹表/暴力破解。

方法二:Pwdump2 記憶體注入提取非 SYSKEY 雜湊(需管理員權限)

原理:Pwdump2 (Todd Sabin) 透過 LsaRetrievePrivateData 從 LSASS 進程記憶體讀取**未經 SYSKEY 加密**的 NTLM 雜湊,繞過檔案層面加密。

標準流程(具備管理員權限)

  1. 下載 Pwdump2.exe → 置於 C:\Tools。
  2. Win+R → cmd → cd C:\Tools。
  3. 執行 pwdump2 > hashes.txt。
  4. 將 hashes.txt 匯入破解工具(L0phtCrack: Import → Import from PWDUMP file)。

無管理員權限時的提權技巧:螢幕保護程式劫持

  1. 重命名 %SystemRoot%\System32\logon.scr → logon.bak。
  2. 複製 cmd.exe → logon.scr。
  3. 等待螢幕保護程式觸發 (預設 5-25 分鐘閒置) → 以 SYSTEM 權限獲得命令列。
  4. 執行 pwdump2 > hashes.txt 完成提取。
現代防禦:Windows 10+ 已移除螢幕保護程式機制,且 LSASS 受 PPL (Protected Process Light)、Credential Guard (VBS) 保護,Pwdump2 類工具大多失效。

防禦與稽核建議

  1. 啟用 SYSKEY (預設開啟) 並設定啟動金鑰儲存於 USB/密碼模式,增加離線破解成本。
  2. 部署 LSASS 保護:註冊表 HKLM\SYSTEM\CurrentControlSet\Control\Lsa\RunAsPPL = 1 (Win 8.1+)。
  3. 啟用 Credential Guard (Enterprise 版,需虛擬化支援),將秘密隔離於 VBS 環境。
  4. 稽核原則:審核安全性事件 → 審核特權使用/程序追蹤,偵測異常 lsass.exe 存取。
  5. 定期密碼輪換,強制複雜度與長度 (群組原則:密碼必須符合複雜度需求 + 最小密碼長度 14+)。
Copyright © Windows教程網 All Rights Reserved