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

Windows 登入密碼破解原理深度解析:lsass 進程注入與 LSA 攔截機制

編輯:XP 系統應用技巧

本文從技術原理層面剖析 Windows 登入密碼被攔截破解的核心機制,僅供安全研究與防禦參考,嚴禁用於非法用途。Windows 身分驗證最終由 lsass.exe 進程處理,預設安全套件為 msv1_0.dll,關鍵導出函式 LsaApLogonUserEx2 負責處理互動式登入、RDP 遠端桌面、IPC$ 連線、RunAs 等所有驗證請求。

核心破解流程:注入 Hook 攔截明文密碼

  1. 程式碼注入:將 DLL 注入 lsass.exe 進程空間。
  2. Hook 關鍵函式:攔截 LsaApLogonUserEx2,該函式在任何身分驗證發生時必定被呼叫。
  3. 解密密碼結構:
    • Windows 2000/XP/2003:透過 UNICODE_STRING.Length 高 8 位取得 XOR Key,若密碼已編碼,呼叫 ntdll.RtlRunDecodeUnicodeString 解碼。
    • Vista/更新版本:透過 AdvApi32.CredIsProtectedW 判斷是否受保護,呼叫 AdvApi32.CredUnprotectW 解密。
  4. 導出明文:透過 Named Pipe、Mailslot 或檔案寫出攔截到的明文密碼。

實測驗證方式

編譯 DLL 導出 DllInstall 介面(符合 regsvr32 呼叫慣例),參數二指定日誌路徑(支援 Pipe/Mailslot)。測試命令:

regsvr32 /n /i:c:\xxx.log c:\pluginWinPswLogger.dll

成功後切換使用者或鎖定電腦重新登入,密碼即被記錄至指定日誌。

防禦建議

  • 啟用 Windows Defender Credential Guard(虛擬化隔離 lsass)。
  • 部署 LSA 保護(註冊表 RunAsPPL = 1),防止非簽名程式碼注入。
  • 監控 lsass.exe 異常執行緒建立、模組載入事件(Sysmon Event ID 8/10)。
  • 限制本地管理員權限,減少注入攻擊面。

理解攻擊原理,才能建立有效防禦。保護 lsass 進程完整性,是 Windows 身分認證安全的關鍵防線。

Copyright © Windows教程網 All Rights Reserved