蓝盟诗人[LUC]蓝客联盟

忘记密码

小议脚本变形

2010-09-29 13:54 作者: 来源: 本站 浏览: 1,443 views 我要评论 字号:

作者:SuperHei 2007-07-05

脚本攻击在网络安全中永远是个“重头戏”,由此产生的各种攻击性脚本如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来建立:
<object runat=server id=hh scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>
这样还有个好处就是即使管理员改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). 如果你编程够好的话,你可以写个程序可以随机改变大小写的,还有部分变形代码。

相关附件: bx.rar (63.52 K)

http://hackbase.com/tech/2004-10-12/203947.html

发表评论

*

* (保密)

Ctrl+Enter 快捷回复

会员登录关闭

记住我 忘记密码

注册会员关闭

小提示: 您的密码会通过填写的"电子邮箱"发送给您.

**/