同
項目 winlogonhijack (rootkit.com) 攔截 WlxLoggedOutSAS 等函數。實測:本地登入成功,遠端桌面 (RDP) 失敗,因 RDP 繞過 Winlogon 互動流程。
替換 msgina.dll 掛鉤 WlxLogonUser、WlxDisplaySASNotice 等。
穩定性高,支援所有登入類型。
相容性問題:XP/2003 新增 WlxNegotiate、WlxInitialize 等函數,舊後門程式未導出這些函數導致載入失敗,需更新原始碼重新編譯。
LSASS 負責安全認證 (NTLM/Kerberos),需明文密碼計算雜湊/金鑰。微軟認為可逆加密無意義 (追蹤 LSASS 操作即可還原),故直接存明文。
"LocalSystem Remote Procedure" 後鄰近區域尋找密碼,多數系統無此字串或定位錯誤。LogonUser() 登入已知帳密 → 掃描 LSASS 定位特徵 → 建立記憶體地圖 → 推測他人密碼位置。
// 簡化版掃描邏輯
HANDLE hProcess = OpenProcess(PROCESS_VM_READ, FALSE, lsass_pid);
BYTE *buffer = VirtualAllocEx(...);
ReadProcessMemory(hProcess, base_addr, buffer, size, &bytesRead);
// 搜尋特徵字串
char *sig = "LocalSystem Remote Procedure";
char *found = memmem(buffer, size, sig, strlen(sig));
if (found) {
// 向後偏移嘗試提取 Unicode 字串作為密碼候選
}
免責聲明:以上技術僅供安全研究與防禦理解,嚴禁用於未授權存取。實際部署環境請啟用 Credential Guard、LSASS 保護 (RunAsPPL)、限制除錯權限等緩解措施。