[转载]制作免杀的ASP网页木马
<P>文章作者:tankaiha<BR>信息来源:<A href="http://www.vxer.cn/">[url]http://www.vxer.cn/[/url]</A></P><CENTER><B>制作免杀的ASP网页木马</B></CENTER>
<P><BR>(垃圾文章,本来想投给杂志的,后来想想算了,怕被人骂。转载请注明出处:vxer.cn,谢谢! ^_^) <BR>2005年是免杀技术突飞猛进的一年,越来越多的人熟悉了简单的PE文件免杀操作。而杀毒软件也是在查杀方面下足了功夫,使得修改文件变得越来越困难。但是,无论定位和修改多么麻烦,只要杀软利用的是特征码扫描,PE文件就可以通过相对简单的特征码修改达到免杀。而CCL一直没有涉足的方面是脚本免杀,坛里也有朋友让我改进一下,因此最近给CCL加上了定位脚本特征码的功能,并对一款asp木马进行了测试,结果怎么样呢? <BR>这里我选择了海阳顶端网ASP木马2006版。由于并不知道杀软是怎样定义脚本文件的特征码,所以我的操作与定位PE文件相同。杀软仍用大名鼎鼎Kaspersky。先查一下吧,卡巴报警发现Backdoor.ASP.Ace.aw。注意末尾的aw,这是杀软对同一个文件不同版本的特征码定义,有时我们需要运用定位过程中版本号的变化来确定特征码的位置。 <BR>首先假设将特征码定位器CCL设置成手动定位,生成文件200个,打开海洋的木马主文件2006.asp。这时弹出了定位范围选择窗口,由于脚本文件不是PE文件,因此没有分段,整个文件就是一个整体。如图1所示,段名为整个文件,段大小就是整个文件的大小。 <BR><BR></P>
<CENTER><A href="http://vxer.cn/hmx/downloads/vxer1.JPG" target=_blank><IMG title=用新窗口浏览原始图片 src="http://vxer.cn/hmx/downloads/vxer1.JPG" onload="java script:if(this.width>screen.width-333)this.width=screen.width-333" border=0></A></CENTER>
<P><BR><BR>直接点确定,对整个文件进行定位。生成文件完毕后对目标进行查杀,结果,只剩下一个文件没有被杀,OUT_00000000_000001C3,这说明当从偏移0开始1C3个字节的数据被填0时,该文件免杀。我们看一下这里是什么。 <BR><BR>
<TABLE style="WORD-BREAK: break-all" cellSpacing=3 cellPadding=0 width="96%" align=center border=0>
<TBODY>
<TR>
<TD><B>代码:</B></TD></TR>
<TR>
<TD>
<HR width="100%" noShade>
</TD></TR>
<TR>
<TD class=code><FONT color=#0000ff><object runat="server" id="ws" scope="page" classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"></object> <BR><object runat="server" id="ws" scope="page" classid="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B"></object> <BR><object runat="server" id="fso" scope="page" classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object> <BR><object runat="server" id="sa" scope="page" classid="clsid:13709620-C279-11CE-A49E-444553540000"></object> <BR></FONT></TD></TR>
<TR>
<TD>
<HR width="100%" noShade>
</TD></TR></TBODY></TABLE><BR><BR>脚本文件我不太熟,但总比改汇编指令简单,试着修改一下吧,原则还是不能破坏原文件功能。我们知道,asp中代码是在<% %>之间的,于是我们在每一个<object></object>前插入一个<% %>,就像汇编插入nop空指令一样。保存修改,再用卡巴查一下。还是报警,但是这次显示的是Backdoor.ASP.Ace.w。这就说明:我们刚才修改是特征码中的一处,但不是全部,也就是说我们把<B>aw</B>中的<B>a</B>代表的特征码改掉了,但是<B>w</B>仍然在。 <BR>我们再用CCL打开修改过的2006.asp,设置保持不变,再重复上述步骤。经过查杀后,200个文件剩下了6个。看一下结果 <BR>-------------定位结果------------ <BR>序号起始偏移 大小 结束偏移 <BR>000100000000000001C3000001C3 <BR>0002000140A2000008CF00014971 <BR><BR>第1段仍是在文件头部。我分析是卡巴在对脚本文件检测前会分析文件的完整性,而1号结果正好将“<%”给替换掉,这样的脚本代码是没法运行的,因此卡巴就不认为它有毒。(卡巴对PE操作也存在同样问题,这也是很多人用CCL定位卡巴总是遇到结果定位在PE文件头部的原因。)我们看2段处是什么,该段结果范围较大,我们找有“特色”的改。最终目标定在如下语句: <BR>
<TABLE style="WORD-BREAK: break-all" cellSpacing=3 cellPadding=0 width="96%" align=center border=0>
<TBODY>
<TR>
<TD><B>代码:</B></TD></TR>
<TR>
<TD>
<HR width="100%" noShade>
</TD></TR>
<TR>
<TD class=code><FONT color=#0000ff><BR>chkErr(Err) <BR>echo("<script language=""java script"">alert('文件上传成功!\n" & Replace(fileName, "\", "\") & "');</script>") <BR>streamT.Close <BR>.Close <BR></FONT></TD></TR>
<TR>
<TD>
<HR width="100%" noShade>
</TD></TR></TBODY></TABLE><BR>我们将“文件上传成功”改为“上传成功”,保存后再检测。OK,免杀成功了。运行一下试试,海洋的各项功能正常。当然,文件上传成功后的提示已经变了。如图2。 <BR></P>
<CENTER><A href="http://vxer.cn/hmx/downloads/vxer2.JPG" target=_blank><IMG title=用新窗口浏览原始图片 src="http://vxer.cn/hmx/downloads/vxer2.JPG" onload="java script:if(this.width>screen.width-333)this.width=screen.width-333" border=0></A></CENTER>
<P><BR><BR>总结一下:卡巴对恶意脚本的定义仍是沿用特征码的方式,且明显没有PE文件的特征码定义那样复杂。希望杀软早日在检测方式上产生根本性的改变!</P> 看了mgf的文章,知道主动型防御未知病毒的技术已经初成体系了.卡巴,江民等杀毒软件公司已经是开始运用这种 形式了.所以这样的免杀方法还需要提高. 还有一种很傻瓜的防杀方式,那就是asp编码。网上到处都找得到这种工具。
示例:
[code]
<script language=Javascript runat=server>
Response.Write ("欢迎您使用ASP Decode!");
</script>
[/code]
以上是示范代码,经编码后就得到了:
[code]
<%@ LANGUAGE = VBScript.Encode %>
<script language=JScript.Encode runat=server>#@~^LAAAAA==@#@&InkwKx/Rq.kD+~`r欢迎您使用bjK,f+1GN"J*I@#@&DwoAAA==^#~@</script>
[/code]
通常情况下所有的杀毒软件都差不出来。
由于我没有上传权限,就麻烦大家自己找这样的工具了。
页:
[1]