现在各主流杀软对IE网马的查杀规律其实比较明了,主要集中在下列几个地方:
1)ShellCode。如“var sc="%u6a90%u596a%u09eb%u805e……"”,SC一般都是以UNCIDOE形式给出的,自然是重点查杀对象,需作相应的变形。
2) 内存扩充代码。这部分代码相信大家比较熟悉,用JavaScript写的,一般整段代码都作为查杀对象。如果能从中挑出一部分代码作变形的话,躲避查杀也是有可能的。变形的方法之一就是通过String.fromCharCode函数来回切换。
3) 漏洞特征点,例如调用ActiveX的代码。以这个迅雷漏洞为例,被查杀代码为:
var size_buff = 1070;
var x = unescape("%0c%0c%0c%0c");
while (x.length<size_buff) x += x;
gl.FlvPlayerUrl = x; //尤其是这一句
OK,具体到这个漏洞免杀,通用的变形代码只需要前2点就能解决。
一是将ShellCode变形为如下代码。
其中,Document.write的输出如图1所示,直接把这个结粘贴到新的Exp中即可。
![](http://www.hacker.com.cn/hackarticle/Upfiles/Article/20111812438111.jpg)
图
1
二是内存扩充变形代码为:
同样,把Document.write输出结果拿来用即可。
修改后的Exp 文件exp_ms.htm,以及两部分变形代码trans1.htm和trans2.htm,我已随文提供。其中,exp_ms.htm仍然是打开calc.exe的功能,在Mcafee、Norton、Kaba以及NOD32环杀毒测试均可通过。