萬盛學電腦網

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

網站安全檢測:如何徹底掃描與清除 ASP 後門程式

前言

ASP 舊版網站常因程式碼審查不足、上傳功能缺乏驗證、資料庫設定錯誤而遭植入 Web Shell(後門)。本文提供系統性掃描、分析與清除流程,助管理員快速淨化主機。

一、後門常見特徵與類型

  • 單行木馬:`<%execute(request("cmd"))%>`、`<%=eval request("x")%>`、``。
  • 大馬功能:檔案管理、資料庫操作、命令執行、掃描端口、提權漏洞利用(如 `wscript.shell`、`cmd.exe`)。
  • 變形/混淆:Base64、Unicode、字串拆分、動態執行 `Execute(Unescape(...))`、自定義解碼函式。
  • 偽裝檔名:`config.asp`、`conn.asp`、`include.asp`、`image.jpg.asp`、`.cer`、`.asa`、`.cdx` 等可解析副檔名。
  • 隱藏位置:上傳目錄、圖片目錄、備份檔(`bak`、`old`、`tmp`)、資料庫備份檔、虛擬目錄外可寫目錄。

二、掃描工具與指令

1. 檔案特徵掃描

  • Windows:`findstr /s /i /r /c:"execute\|eval\|wscript.shell\|shell.application\|adodb.stream" *.asp *.asa *.cer *.cdx`
  • Linux/WSL:`grep -r -i -E "execute\(|eval\(|wscript\.shell|shell\.application|adodb\.stream" --include="*.asp" --include="*.asa" --include="*.cer" /var/www/`
  • 專用掃描器:WebShellDetect、ScanWebShell、webshell-scanner(支援 PHP/ASP/JSP/ASPX)、河馬 webshell 掃描(商業)。

2. 檔案完整性監控 (FIM)

  • 建立基線:`certutil -hashfile * SHA256 > baseline.txt` 或使用 Tripwire、OSSEC、Wazuh、AIDE。
  • 定期比對:新增/修改/刪除檔案即時告警,特別關注可寫目錄。

3. Web 存取日誌分析

  • 關鍵字:`POST /upload.asp`、`/admin/`、`/manage/`、`cmd=`、`exec=`、`eval=`、`select%20*%20from`、`union%20select`。
  • 工具:GoAccess、AWStats、ELK Stack、自寫腳本統計異常 IP、User-Agent、回應碼 200/500、回應大小異常。

三、人工審核清單

  1. 列出所有可寫目錄(`icacls` / `ls -la`),確認是否必要,移除 `Everyone:(OI)(CI)F`、`Users:F`。
  2. 檢查 IIS 處理程式對應:`*.asp`、`*.asa`、`*.cer`、`*.cdx` 僅映射至 `asp.dll`,移除 `.jpg`、`.png` 等靜態副檔名映射。
  3. 資料庫連線字串檔(`conn.asp`、`inc/conn.asp`)是否含明文密碼、是否可直接下載(需放在 Web 根目錄外)。
  4. 檢視 `global.asa`、`application.asp` 是否被竄改植入 `Application_OnStart` 執行惡意代碼。
  5. 搜尋近期修改時間(`dir /s /b /o-d *.asp | head -50`)排查異常新增檔案。

四、清除與修復步驟

  1. 隔離主機:斷開對外連線,防止攻擊者持續控制、資料外洩。
  2. 備份現場:完整複製網站目錄、資料庫、IIS 設定(`%windir%\system32\inetsrv\config\applicationHost.config`)、事件日誌。
  3. 刪除後門檔案:依掃描報告與人工審核刪除惡意檔案;若不確定,先改副檔名 `.asp.quarantine` 隔離。
  4. 修補漏洞:
    • 上傳功能:驗證副檔名、MIME、檔案頭、重新命名、存放非執行目錄、限制大小。
    • SQL 注入:參數化查詢、存儲過程、WAF 規則。
    • 預設帳號/弱口令:修改資料庫、後台、FTP、RDP 密碼,啟用 MFA。
  5. 恢復乾淨版本:從版本控制或乾淨備份還原核心程式碼;比對差異確認無殘留。
  6. 重設權限:目錄 `Read/Execute`、寫入目錄 `Modify`、移除 `Write` 執行權限(`icacls /inheritance:r /grant:r "IIS_IUSRS:(RX)" "Administrators:(F)"`)。
  7. 更新與加固:安裝 Windows/IIS 修補程式、啟用請求過濾(`requestFiltering` 封鎖雙重編碼、高風險字串)、部署 WAF (ModSecurity/商業 WAF)。
  8. 驗證上線:掃描器複測、功能測試、日誌監控 48 小時無異常後解除隔離。

五、持續防禦建議

  • 納入 CI/CD 流程靜態代碼分析 (SonarQube、Fortify、Checkmarx)。
  • 定期滲透測試(內部/外部),重點測試上傳、管理後台、API。
  • 啟用 IIS 進階日誌、ETW 事件、Sysmon 記錄進程建立、網路連線、檔案寫入。
  • 建立事件回應手冊:發現、遏制、根因分析、復原、事後複盤。
  • 考慮遷移至 ASP.NET Core / PHP / Node.js 等現代框架,棄用經典 ASP。

結語

ASP 後門清除非一次性動作,需建立「掃描-審核-清除-修補-監控」閉環。工具輔助人工,人工驗證工具,配合權限最小化、程式碼審查、版本控制,才能從根源杜絕 Web Shell 植入風險。

copyright © 萬盛學電腦網 all rights reserved