聲明:本文為安全防禦研究,分析密碼在 LSASS 進程記憶體中的存留特性,協助建立監控與緩解措施。禁止用於攻擊行為。
Windows 驗證架構要求 LSASS (Local Security Authority Subsystem Service) 以明文或可逆加密形式持有使用者密碼以進行認證運算。微軟認為可逆加密等同明文,故直接保留明文以換取效能。
| 特性 | NT 4.0 / 2000 | XP / Server 2003 |
|---|---|---|
| 儲存進程 | Winlogon.exe | LSASS.exe |
| 記憶體位址 | 固定、可預測 | 隨機化 (ASLR)、動態配置 |
| 多用戶覆蓋 | 較少見 | 後登入密碼覆蓋前者 |
| 特徵碼穩定度 | 高 (易定位) | 低 (無固定前綴/後綴) |
strstr() 失效,僅能嘗試搜尋 LocalSystem Remote Procedure Call 等經驗字串,命中率極低。LogonUser() 建立基準特徵,反推未知密碼位置。OpenProcess(PROCESS_VM_READ) 針對 lsass.exe 的呼叫,整合 SIEM 告警。Windows Server 2003 已停止主流支援,強烈建議規劃遷移至受支援版本並啟用現代認證保護機制。