科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道网络安全“重头戏”小议脚本变形

网络安全“重头戏”小议脚本变形

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

aspshell里的常用的对象名往往是杀毒软件采用的特征码,管理员也可以通过修改注册表,来改变asp对象的名称,但是没个asp对象在系统里有个规定的classid那么我们就可以通过classid来建立对象,

作者:中国IT实验室 2007年9月15日

关键字: 脚本 特征码 变量 杀毒软件 asp SET classid

  • 评论
  • 分享微博
  • 分享邮件

  脚本攻击在网络安全中永远是个“重头戏”,由此产生的各种攻击性脚本如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). 如果你编程够好的话,你可以写个程序可以随机改变大小写的,还有部分变形代码。

  

  

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章