遺忘密碼、需提權、或滲透測試授權場景下,Win7 修復模式(WinRE)提供 SYSTEM 權限命令提示字元,透過替換無障礙程式(`narrator.exe` 講述人、`sethc.exe` 黏滯鍵)為 `cmd.exe`,可在登入畫面喚出 SYSTEM 權限 Shell,實現密碼重置、帳號啟用、權限提升。僅限合法授權環境使用,嚴禁非法入侵。
核心原理
- Win7 登入畫面(LogonUI)支援無障礙熱鍵:Win+U 喚出講述人、連按 5 次 Shift 喚出黏滯鍵。
- 這兩個程式(`narrator.exe`、`sethc.exe`)位於 `C:\Windows\System32`,以 SYSTEM 權限運行。
- 在 WinRE 中以 SYSTEM 權限將其備份並替換為 `cmd.exe`,重開機後在登入畫面觸發熱鍵,即彈出 SYSTEM 權限命令提示字元。
實戰步驟(以 narrator.exe 為例)
- 開機連按 F8 → 選擇「修復電腦」→ 選擇鍵盤配置 → 登入管理員帳號(密碼為空或已知) → 選擇「命令提示字元」。
- WinRE 中預設盤符通常為 `X:`,系統盤常為 `C:` 或 `D:`。輸入 `dir C:`、`dir D:` 確認系統盤盤符(含 `Windows` 資料夾者)。假設為 `D:`。
- 輸入以下指令(每行按 Enter):
cd /d D:\Windows\System32
copy narrator.exe narrator_backup.exe
del narrator.exe
copy cmd.exe narrator.exe
- 重開機進入正常登入畫面。
- 按 Win+U 喚出講述人,實際彈出的是 SYSTEM 權限 `cmd.exe`。
- 在命令提示字元執行所需操作,例如:
net user administrator /active:yes
net user 你的帳號 新密碼
net localgroup administrators 你的帳號 /add
- 完成後,務必還原 narrator.exe:再次進入 WinRE 命令提示字元 → `copy narrator_backup.exe narrator.exe`(或直接 `del narrator.exe` 再 `rename narrator_backup.exe narrator.exe`)。
關鍵細節與避坑
- 盤符陷阱: WinRE 中系統盤盤符常非 `C:`,必須用 `dir` 逐槽確認,切勿盲目操作錯誤磁碟。
- sethc.exe 替代方案: 若 narrator.exe 被修補/移除,同理替換 `sethc.exe`,登入畫面連按 5 次 Shift 觸發。
- 為何不在 WinRE 直接 `net user administrator /active:yes`? WinRE 操作的是離線登錄檔(`X:\Windows\System32\config\SAM`),修改不會寫入實際系統盤(`D:\Windows\System32\config\SAM`),故必須替換系統檔案在線上環境觸發。
- 安全啟動/完整性保護: Win7 無 Secure Boot,但系統檔案保護 (WFP) 可能在替換後自動還原。實測 Win7 SP1 手動替換通常有效,若失效可嘗試 `takeown /f narrator.exe` + `icacls narrator.exe /grant administrators:F` 取得所有權後再替換。
- 痕跡清理: 操作完成後必須還原原檔,否則講述人/黏滯鍵功能永久失效,且留下入侵痕跡。
防禦視角:如何防範此類攻擊
- BIOS/UEFI 設定開機密碼,禁止從光碟/USB/網路啟動,鎖定啟動順序。
- 啟用 BitLocker 磁碟加密,WinRE 無法讀取加密磁碟內容,徹底阻斷離線登錄檔/系統檔案竄改。
- 實體機箱加鎖,防止拆卸硬碟外接竄改。
- 定期稽核系統檔案完整性(`sfc /scannow`)、監控安全事件日誌(事件 ID 4670、4672、4688)。
技術本身無善惡,關鍵在於使用者意圖與授權。掌握此技法,既能在合法授權下快速救援遺忘密碼的客戶電腦,也能從防禦角度理解離線攻擊面,部署 BitLocker 等有效緩解措施。