CSDN博客

img liuweihug

小议脚本变形

发表于2004/10/17 23:15:00  801人阅读

脚本攻击在网络安全中永远是个“重头戏”,由此产生的各种攻击性脚本如vbs/js脚本,各种webshell 尤其是webshell是web入侵中必不可少的工具。现在的webshell版本繁多,功能越来越强,这也成为管理员防范和各大杀毒软件追杀的目标。 下面我以asp的webshell为例子简单说下脚本的变形思路: 1.classid的使用 aspshell里的常用的对象名往往是杀毒软件采用的特征码,管理员也可以通过修改注册表,来改变asp对象的名称,但是没个asp对象在系统里有个规定的classid(ps:classid在各个系统有所不同)那么我们就可以通过classid来建立对象,如我们通常建立fso对象是采用下面的语句: Set hh=Server.CreateObject("Scripting.FileSystemObject") 那么通过查找“Scripting.FileSystemObject" 来查杀你的脚本,那么我们就可以通过fso对应的classid来建立: 这样还有个好处就是即使管理员改fso的名字,也可以使用。 以下是常用对象对应的classid: WSCRIPT.SHELL 72C24DD5-D70A-438B-8A42-98424B88AFB8 WSCRIPT.NETWORK 093FF999-1EA0-4079-9525-9614C3504B74 Scripting.FileSystemObject 0D43FE01-F093-11CF-8940-00A0C9054228 Scripting.Encoder 32DA2B15-CFED-11D1-B747-00C04FC2B085 Scripting.Dictionary EE09B103-97E0-11CF-978F-00A02463E06F adodb.stream 00000566-0000-0010-8000-00AA006D2EA4 shell.application 13709620-C279-11CE-A49E-444553540000 2.使用+或&连接符的妙用 杀毒软件一般是提高提取特征码来查杀病毒的,所以asp对象名一般就成为了“特征码”了。我们就可以通过使用+或&来拆分对象名。如: Set hh=Server.CreateObject("Scripting.FileSystemObject") 我们就可以提高下面的语句替换: Set hh=Server.CreateObject("Scrip"+"ting.file"+"systemobject") 或 Set hh=Server.CreateObject("Scrip"&"ting.file"&"systemobject") 值得一提的是“思易ASP木马追捕”也是一个有asp编写的脚本,用来查杀webshell的,这个脚本先替换掉目标代码里的&在进行查找对象名,那上面简单的使用&就没用了,不过我们可以同过插入空变量来防杀: Set hh=Server.CreateObject("Scrip"&"ting.file"&qsdsdsdf&"systemobject") 其中qsdsdsdf就为空变量,即使替换了所有的&,对象名还是有改变。 3.改变字母大小写(本文的重点所在) 其实要通过改变字母的大小写来改变特征码,大小写对应的asii或其他的编码也不同,这样我们可以到达防杀的目的。实现起来也简单,一个系统自带的“记事本”就可以搞定,不过这样要手工一个字母的去替换,你可以自己写个简单的程序帮助你处理,不过注意的问题是,有的代码里有密码加密的函数会受到影响,还有对shell里的htm代码有影响,建立在变形事,采用部分变形(改变大小写)。下面是我vb写的一个变形工具。 PS:程序只是替换了指定的几个字母,还有就是加入空变量(见2). 如果你编程够好的话,你可以写个程序可以随机改变大小写的,还有部分变形代码
阅读全文
0 0

相关文章推荐

img
取 消
img