本文從技術原理層面剖析 Windows 登入密碼被攔截破解的核心機制,僅供安全研究與防禦參考,嚴禁用於非法用途。Windows 身分驗證最終由 lsass.exe 進程處理,預設安全套件為 msv1_0.dll,關鍵導出函式 LsaApLogonUserEx2 負責處理互動式登入、RDP 遠端桌面、IPC$ 連線、RunAs 等所有驗證請求。
lsass.exe 進程空間。LsaApLogonUserEx2,該函式在任何身分驗證發生時必定被呼叫。UNICODE_STRING.Length 高 8 位取得 XOR Key,若密碼已編碼,呼叫 ntdll.RtlRunDecodeUnicodeString 解碼。AdvApi32.CredIsProtectedW 判斷是否受保護,呼叫 AdvApi32.CredUnprotectW 解密。編譯 DLL 導出 DllInstall 介面(符合 regsvr32 呼叫慣例),參數二指定日誌路徑(支援 Pipe/Mailslot)。測試命令:
regsvr32 /n /i:c:\xxx.log c:\pluginWinPswLogger.dll
成功後切換使用者或鎖定電腦重新登入,密碼即被記錄至指定日誌。
RunAsPPL = 1),防止非簽名程式碼注入。lsass.exe 異常執行緒建立、模組載入事件(Sysmon Event ID 8/10)。理解攻擊原理,才能建立有效防禦。保護 lsass 進程完整性,是 Windows 身分認證安全的關鍵防線。