警告:本文僅供安全研究與防禦分析之用,嚴禁用於非法用途。
ASPXSpy 是經典 ASP.NET 木馬(WebShell),偽裝為 .aspx 頁面,提供文件管理、命令執行、資料庫操作、註冊表讀寫、服務控制、端口掃描、提權等完整後門功能。特徵:單檔案、大量混淆、動態編譯、反射調用、Base64 編碼路徑傳遞。
| 模組 | 功能 | 關鍵代碼特徵 |
|---|---|---|
| 身分驗證 | Cookie 驗證 MD5 密碼(預設 admin/21232f297a57a5a743894a0e4a801fc3) | Request.Cookies[vbhLn].Value != Password |
| 文件系統 | 列表、上傳、下載、編輯、刪除、重命名、屬性修改、時間戳克隆 | Directory.GetFiles, FileUpload.SaveAs, StreamReader/Writer |
| 命令執行 | 執行 cmd.exe /c 任意命令,回顯輸出 | Process.Start("cmd.exe", "/c " + cmd) |
| 資料庫 | 支援 MSSQL/Access,執行任意 SQL、啟用 xp_cmdshell、備份寫 Shell | OleDbConnection, xp_cmdshell, sp_OACreate |
| 註冊表 | 遍歷、讀寫 HKLM/HKCU 等根鍵 | Registry.LocalMachine.OpenSubKey |
| 系統偵察 | 進程列表/殺掉、服務列表、用戶組、硬體資訊、BIOS、網卡 MAC | Process.GetProcesses, WMI Win32_*, DirectoryEntry |
| 提權/橫向 | Serv-U 提權、端口映射、端口掃描、IIS 站點探測 | TcpClient, Socket, DirectoryEntry(IIS://) |
| 持久化 | 自我刪除、Base64 路徑混淆、動態生成控件 | File.Delete(Request.PhysicalPath), ParseControl |
Convert.ToBase64String(Encoding.Default.GetBytes(path)) 編碼,繞過 WAF 關鍵字檢測。ParseControl 根據磁碟機/目錄動態生成 LinkButton,繞過靜態分析。GetType().InvokeMember、MethodInfo.Invoke 隱藏調用鏈。ManagementObjectSearcher 獲取進程、服務、硬體資訊,無需匯入特定命名空間即可編譯。DirectoryEntry 操作 IIS Metabase、WScript.Shell 執行命令。BeginConnect/BeginReceive 實現雙向隧道。validateRequest="false"、enableViewStateMac="false"、大量 @ Import Namespace、@ Assembly Name、Process.Start、Registry.、ManagementObjectSearcher、DirectoryEntry、Base64 編碼參數。__EVENTTARGET、__FILE 參數、Base64 編碼路徑、異常 User-Agent。App_Code、Bin、Global.asax、Web.config 是否被植入後門代碼。Handler Mappings 移除 .aspx/.php/.jsp 處理器,或 web.config <handlers accessPolicy="Read" />。Load User Profile、SetACL 限制寫入目錄。validateRequest="true"、enableViewStateMac="true"、requestValidationMode="4.5"、移除 PageParserPaths。根據《中華人民共和國網絡安全法》等法規,制作、傳播、使用木馬程式屬違法犯罪行為。企業應建立應急響應預案,發現入侵立即報告公安機關配合取證。
理解攻擊者工具鏈,才能構建更有效的防禦體系。安全無絕對,持續監測與快速響應是關鍵。