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

在 CMD 建立終極防線阻絕病毒入侵:利用 AutoRun 登錄鍵攔截 cmd.exe 執行、記錄入侵時間與網路連線

編輯:Windows XP 系統介紹

命令提示字元(cmd.exe)是駭客入侵後取得互動式 Shell 的首選目標:緩衝區溢位彈回 Shell、Web Shell 提權、nc 綁定 cmd.exe 等手法皆依賴 cmd.exe。利用 cmd.exe 的 AutoRun 登錄機制,在 cmd.exe 啟動之前執行自訂腳本,可實現:阻斷惡意 Shell(執行 exit)、記錄入侵時間/網路連線/攻擊者 IP、告警通知,構建 CMD 層面的主動防禦線。

核心原理

cmd.exe 啟動時(若非 cmd /D)會檢查兩個登錄鍵值:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
  • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

若存在,會優先執行指定的命令/腳本/批次檔,然後才進入 cmd 互動環境。這意味著我們可以在攻擊者取得 Shell 之前,先行掌控執行流程。

實作步驟

  1. 建立批次檔 C:\Windows\System32\cmd_guard.bat 內容(範例):
@echo off
REM 阻斷模式:直接退出,攻擊者獲得即失去
exit

REM 記錄模式(建議):記錄入侵證據再退出
@echo off
netstat -an >> C:\Windows\System32\net.log
date /t >> C:\Windows\System32\date.log
time /t >> C:\Windows\System32\time.log
whoami >> C:\Windows\System32\user.log
exit
  1. 設定登錄鍵值(建議 HKCU 限制當前使用者,HKLM 影響所有使用者):
    Win+R → regedit → HKEY_CURRENT_USER\Software\Microsoft\Command Processor → 右側新建/修改 AutoRun (REG_SZ/REG_EXPAND_SZ) → 值:C:\Windows\System32\cmd_guard.bat。
  2. 測試:開啟 CMD,應立即執行腳本退出(或記錄後退出),無法進入互動提示字元。

進階防禦策略

  • 條件式攔截: 批次檔判斷父進程/命令列/環境變數,僅針對可疑啟動方式(如無視窗、非互動、特定父進程)執行 exit,正常使用者開啟 CMD 不受影響。
  • 白名單機制: 檢查 %CMDCMDLINE%、%PROMPT%、父進程名稱(wmic process get ParentProcessId),合法啟動放行。
  • 告警通知: 記錄模式下結合 blat.exe/sendEmail.exe 發送郵件/簡訊通知管理員。
  • 蜜罐誘捕: 記錄攻擊者 IP、指令、時間,配合防火牆封鎖、SIEM 關聯分析。

繞過與對抗

  • 攻擊者使用 cmd /D 忽略 AutoRun → 需配合 HKLM\...\AutoRun 系統層級設定(攻擊者無權修改)或應用程式白名單(AppLocker/軟體限制原則)限制 cmd.exe 僅允許受信任路徑/簽章執行。
  • 攻擊者上傳自帶 cmd.exe 副本 → 檔案完整性監控(FIM)/應用程式白名單阻擋未授權二進位執行。
  • 攻擊者使用 PowerShell/WSL/Python/自帶 Shell → 同樣機制應用於 powershell.exe(HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\AutoRun)、python.exe(PYTHONSTARTUP 環境變數)等所有 Shell 入口。

現代防護替代方案

此技巧屬「單點防禦」,現代企業環境建議部署:

  • EDR/XDR(CrowdStrike, SentinelOne, Microsoft Defender for Endpoint):行為偵測、記憶體掃描、自動回應,無需手動登錄技巧。
  • 應用程式控制:AppLocker/WDAC(Windows Defender Application Control)白名單執行,從根源阻斷未授權程式(含 cmd.exe)執行。
  • 受保護的程序輕量級(PPL)、Credential Guard、HVCI:硬體虛擬化隔離核心/憑證,提高提權難度。

理解 AutoRun 機制與 Shell 入口防禦邏輯,有助於建立纏繞防禦體系。但單一技巧無法對抗成熟威脅,請採用現代端點防護平台構建系統性防禦。

Copyright © Windows教程網 All Rights Reserved