首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

IIS 5.0 ISAPI Extension 後門原理與實作分析 (安全研究)

     編輯:MySQL 資料庫相關知識

研究動機

SQL Injection 防禦常靠應用層過濾,易遺漏。利用 ISAPI Extension 掛載於 IIS 進程,可在Web 伺服器層統一攔截惡意請求,同時可作為隱蔽後門 (進程/連接埠/服務全隱藏)。

ISAPI Extension vs Filter

  • Filter:掛載於所有請求,適合日誌、認證、重寫 URL
  • Extension:對應特定副檔名 (如 .asp → asp.dll, .php → php5isapi.dll),獨立處理特定 HTTP 請求,隱蔽性更高

權限提升關鍵:InProcessIsapiApps

  • Metabase 鍵 LM/W3SVC/InProcessIsapiApps 列出的 DLL 由 inetinfo.exe (Local System) 直接載入
  • 不在列表中 → 由 dllhost.exe (IWAM_帳號) 載入,權限極低
  • 植入後門策略:
    1. 將惡意 DLL 加入 InProcessIsapiApps (需 adsutil.vbs)
    2. 或劫持既有高權限 mapping (如 .printer → msw3prt.dll)

ISAPI Extension 必須匯出三個函數

  1. GetExtensionVersion:版本協商
  2. HttpExtensionProc:核心請求處理入口
  3. TerminateExtension:卸載清理

後門功能設計

  • 認證:擴充 HTTP Method 新增 ICY,僅接受 ICY 請求
  • Shell:回傳命令列輸出;若 System 禁用 cmd,提供下載自訂 cmd
  • 隱蔽:無新增連接埠、服務、進程,全借 IIS 進程

防禦建議

  1. 定期稽核 InProcessIsapiApps 清單
  2. 檢查 Script Maps 是否有異常副檔名對應
  3. 啟用 IIS 稽核日誌,監控異常 HTTP Method
  4. 最小權限原則:Application Pool 使用專用低權限身分
本文僅供安全研究與防禦參考,嚴禁用於非法入侵。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved