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

Windows XP SP2 網頁木馬構造分析:HTML Help 控制項與 ADODB.Recordset 繞過防火牆實戰

編輯:XP 系統基礎知識

⚠️ 嚴正聲明

本文僅對**已公開漏洞 (MS04-038 / CVE-2004-XXXX)** 進行技術原理復盤與防禦分析,**嚴禁**用於製作、傳播惡意程式碼或攻擊未授權系統。相關代碼片段經脫敏處理,僅供安全研究人員理解攻擊鏈以部署緩解措施。

漏洞基礎資訊

項目內容
漏洞編號Microsoft Internet Explorer SP2 遠端任意命令執行 (綠盟 ID: 7272)
影響版本IE 6.0 SP2 on Windows XP Professional/Home SP2
核心元件HTML Help ActiveX 控制項 (HH_CTRL.OCX, CLSID: adb880a6-d8ff-11cf-9377-00aa003b7a11)
攻擊向量惡意網頁誘導使用者瀏覽 → 無需互動即執行任意程式碼

攻擊鏈重構與關鍵技術點

階段一:HTML Help 控制項突破區域鎖定

利用 <object classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> 載入精心構造的 .chm/.htm,繞過「本機電腦區域」的 ActiveX 初始化限制,獲得腳本執行上下文。

階段二:寫入啟動資料夾實現持久化

腳本呼叫 ADODB.Recordset 建立離線記錄集,將惡意 HTA 內容序列化為 XML,直接寫入 All Users\Start Menu\Programs\Startup\Microsoft Office.hta,繞過防火牆對網路連線的監控(原版透過遠端資料庫回傳 HTA 內容觸發防火牆警示)。

關鍵代碼邏輯 (脫敏)

On Error Resume Next
Set rs = CreateObject("ADODB.Recordset")
With rs
  .Fields.Append "payload", 200, 3000  ' adLongVarWChar
  .Open
  .AddNew
  .Fields("payload").Value = "[HTA 惡意內容: 下載並執行 payload.exe]"
  .Update
End With
rs.Save "C:\Documents and Settings\All Users\Start Menu\Programs\Startup\Microsoft Office.hta", 1 ' adPersistXML
rs.Close

階段三:HTA 自動執行與自我清除

  • 使用者重開機/登入 → Microsoft Office.hta 自動執行 (HTA 以 mshta.exe 執行,擁有完整系統權限)。
  • HTA 內嵌 window.close() 或 Self.Delete 邏輯,執行一次後自刪,降低被發現機率。
  • 利用 HTML Help 控制項 Close 參數自動關閉彈出的幫助視窗,隱藏攻擊痕跡。

實戰限制與失效條件

限制說明
需重開機觸發寫入啟動資料夾屬「登入型」持久化,非即時執行
系統盤非 C: 失效硬編碼路徑 C:\Documents and Settings\...,非預設安裝路徑無法寫入
防火牆/ HIPS 攔截mshta.exe 發起網路連線、寫入啟動資料夾均可能被行為分析攔截
DEP/ASLR (SP3+)記憶體保護機制大幅提高 Shellcode 開發難度

防禦與緩解策略

  1. 安裝官方補丁:MS04-038 (KB834707) / MS05-005 徹底修正 HTML Help 控制項與 MHTML 解析缺陷。
  2. Kill Bit 封鎖 HH_CTRL:
    reg add "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{adb880a6-d8ff-11cf-9377-00aa003b7a11}" /v "Compatibility Flags" /t REG_DWORD /d 1024 /f
  3. 限制啟動資料夾寫入權限:
    移除 Users 群組對 All Users\Start Menu\Programs\Startup 的寫入權限,僅保留 Administrators / SYSTEM。
  4. 啟用軟體限制原則 / AppLocker:禁止 mshta.exe、wscript.exe、cscript.exe 從非信任路徑 (Temp、Startup、下載資料夾) 執行。
  5. 網路層面:IDPS 偵測 Content-Type: application/x-oleobject 異常載入、HTA 下載可執行檔行為。

總結

此攻擊鏈展示了 **Client-side 漏洞串聯 (區域繞過 → 本地寫入 → 持久化 → 執行)** 的經典模式。雖然 XP SP2 時代已成歷史,但「受信任元件被濫用寫入自動執行點」的思路在現代 Office 宏、LNK 捷徑、捷徑劫持、COM 劫持等攻擊中依然活躍。**修補單一漏洞不足,需建立「最小權限 + 應用程式控管 + 行為偵測」的纵深防禦體系。**

Copyright © Windows教程網 All Rights Reserved