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

Windows XP 啟動腳本竄改密碼:繞過登入畫面重置管理員密碼的離線技術

編輯:XP 系統基礎知識

原理:啟動腳本在登入畫面前以 SYSTEM 權限執行

Windows XP/2000 的「啟動腳本」(Startup Scripts)屬於群組原則機制,在使用者登入前、系統啟動過程中以 Local System 權限 執行。利用此特性,可在離線環境下植入批次檔重置任意使用者(含 Administrator)密碼,無需第三方工具、無需破解 SAM 檔案。

前置條件

  • 目標系統檔案系統為 FAT32(可用 Win98 開機碟存取)
  • 若為 NTFS,需將硬碟掛載至支援 NTFS 的系統(Win2000/XP/PE/WinPE)操作
  • 需知道目標使用者帳戶名稱(如 Administrator、rwd)

操作步驟(以 FAT32 + Win98 開機碟為例)

  1. 建立重置密碼批次檔:
    Win98 開機進入 DOS → 編輯 a.bat:
    net user rwd 12345678
    (將用戶 rwd 密碼設為 12345678)
    儲存至:C:\Windows\system32\GroupPolicy\Machine\Scripts\Startup\a.bat
  2. 建立啟動/關機腳本配置檔:
    編輯 scripts.ini(檔名固定不可改):
    [Startup]
    0CmdLine=a.bat
    0Parameters=
    
    儲存至:C:\winnt\system32\GroupPolicy\Machine\Scripts\scripts.ini
    注意路徑: C:\winnt\ 為系統目錄(若 XP 安裝在 C:\Windows 請對應修改)
  3. 重新啟動電腦: 移除開機碟 → 正常啟動 → 系統執行啟動腳本 → 密碼重置完成
  4. 登入驗證: 使用新密碼 12345678 登入
  5. 清理現場: 登入後刪除上述建立的 a.bat 與 scripts.ini

關鍵細節解析

  • scripts.ini 結構:[Startup] 與 [Shutdown] 兩區段;XCmdLine 儲存腳本路徑,XParameters 儲存參數;X 為 0 起始索引,支援多腳本循序執行
  • net user 命令需目標帳戶存在,若帳戶被停用/鎖定,需先啟用(可另建批次檔 net user Administrator /active:yes)
  • 適用於 Windows 2000 / XP / Server 2003 本地帳戶與網域帳戶(網域環境需網域控制站可達)

安全啟示與防禦

  • 物理安全第一: 機箱加鎖、BIOS 設定開機密碼、禁用 USB/光碟開機、硬碟加密(BitLocker/VeraCrypt)
  • 啟動腳本防篡改: 群組原則→「電腦設定」→「Windows 設定」→「指令碼」→ 限制腳本簽名/路徑
  • 審核原則記錄: 啟用「稽核原則變更」「稽核程序追蹤」,異常腳本執行留痕
  • 離線防禦: 硬碟加密是唯一徹底防禦離線 SAM/腳本植入的手段

適用場景

  • 遺忘管理員密碼、無重置磁碟、不想重灌
  • 繼承無文檔舊系統、需取得控制權
  • 滲透測試/授權審計中離線密碼重置環節

小結

「啟動腳本 + net user」是 Windows 內建的「後門」,設計初衷是企業環境自動化部署,卻也成為密碼遺忘時的救命稻草。物理存取 = 完全控制 是資安鐵律。保護伺服器/關鍵工作站,請從機箱鎖、BIOS 密碼、硬碟加密做起,不要指望作業系統層面的防禦能擋住擁有物理存取權的攻擊者。

Copyright © Windows教程網 All Rights Reserved