电脑技术学习

分析并清除web服务器上的网页木马

dn001

  很多朋友都碰到过这样的现象:打开一个网站,结果页面还没显示,杀毒软件就开始报警,提示检测到木马病毒。有经验的朋友会知道这是网页恶意代码,但是自己打开的明明是正规网站,没有哪家正规网站会将病毒放在自己的网页上吧?那么是什么导致了这种现象的发生呢?其中最有可能的一个原因就是:这个网站被挂马了。

  挂马这个词目前我们似乎经常能听到,那么什么是挂马呢?挂马就是黑客入侵了一些网站后,将自己编写的网页木马嵌入被黑网站的主页中,利用被黑网站的流量将自己的网页木马传播开去,以达到自己不可告人的目的。例如很多游戏网站被挂马,黑客的目的就是盗取浏览该网站玩家的游戏账号,而那些大型网站被挂马,则是为了搜集大量的肉鸡。网站被挂马不仅会让自己的网站失去信誉,丢失大量客户,也会让我们这些普通用户陷入黑客设下的陷阱,沦为黑客的肉鸡。下面就让我们来了解这种时下最流行的黑客攻击手段。

  挂马的核心:木马

  从“挂马”这个词中我们就可以知道,这和木马脱离不了关系。的确,挂马的目的就是将木马传播出去,挂马只是一种手段。挂马使用的木马大致可以分为两类:一类是以远程控制为目的的木马,黑客使用这种木马进行挂马攻击,其目的是为了得到大量的肉鸡,以此对某些网站实施拒绝服务攻击或达到其他目的(目前绝大多数实施拒绝服务攻击的傀儡计算机都是挂马攻击的受害者)。另一类是键盘记录木马,我们通常称其为盗号木马,其目的不言而喻,都是冲着我们的游戏帐号或者银行帐号来的。目前挂马所使用的木马多数属于后者。

  木马的免杀伎俩

  作为挂马所用的木马,其隐蔽性一定要高,这样就可以让用户在不知不觉中运行木马,也可以让挂马的页面存活更多的时间。黑客为了让木马躲避杀毒软件的查杀,使用的伎俩很多。通常使用的方法有:

加壳处理:关于壳的概念我们曾经介绍过,就是为了让别人无法修改编译好的程序文件,同时压缩程序体积。木马经过加壳这一道工序后就有可能逃过杀毒软件的查杀,这也是为什么我们装了杀毒软件还会感染老病毒的原因。虽然目前的杀毒软件都支持对程序脱壳后再查杀,但只局限于一些比较热门的加壳程序,例如aspack、UPX等,而碰上一些经过冷门加壳程序处理后的木马时,就无能为力了。所以加壳仍是黑客比较常用的免杀伎俩之一。

  冷门的加壳程序

  修改特征码:杀毒软件是根据病毒特征码来判定一个程序是否是病毒的。杀毒软件在对程序进行检测时,如果在程序中发现了病毒特征码,就将该程序判定为病毒。黑客当然也明白这个道理,于是他们会修改木马中被定为特征码的部分代码,将其加密或使用汇编指令将其跳转,这样杀毒软件就无法在木马中找到病毒特征码,自然也就不会将其判定为病毒了。

  虽然这两种方法都可以躲过杀毒软件的查杀,但是我们还是有办法阻止木马运行的,具体方法将在防范部分讲到。那么木马是如何“挂”在网站上的呢?这里我们以“灰鸽子”木马为例,演示一下黑客挂马的过程。演示用的“灰鸽子”木马已经经过免杀处理,杀毒软件无法查杀。

  潜伏的攻击者:网页木马

  为什么我们一打开网页就会运行木马程序,木马又是如何“挂”在网站上的呢?这就要涉及“网页木马”这个概念。 网页木马就是将木马和网页结合在一起,打开网页的同时也会运行木马。最初的网页木马原理是利用IE浏览器的ActiveX控件,运行网页木马后会弹出一个控件下载提示,只有点击确认后才会运行其中的木马。这种网页木马在当时网络安全意识普遍不高的情况下还是有一点使用价值的,但是其缺点是显而易见的,就是会出现ActiveX控件下载提示。当然现在很少会有人去点击那莫名其妙的ActiveX控件下载确认窗口。

  在这种情况下,新的网页木马诞生了。这类网页木马通常利用了IE浏览器的漏洞,在运行的时候没有丝毫提示,因此隐蔽性极高。可以说,正是IE浏览器层出不穷的漏洞造成了如今网页木马横行的网络。例如最近的IE浏览器漏洞MS06-014,就可以利用来制作一个绝对隐蔽的网页木马。下面让我们看看利用MS06-014制作网页木马的过程。

  网页木马当然得有木马程序,这里我们使用上文中提到的“灰鸽子”木马。然后我们要下载一个MS06-014网页木马生成器。接着还要一个网页空间,三者准备完毕后,就可以开始测试了。

生成网页木马

  首先将木马程序上传到网页空间中。运行“MS06-014木马生成器”,在“木马地址”中填入已经上传到空间中的木马网址,并勾选下方的“是否隐藏源码”选项。这个选项的作用是当网页木马运行后,会自动清空网页源文件,用户即使起了疑心也无法找到痕迹。当然清空的是用户打开的源文件,而网页木马却不受影响。点击“生成网马”按钮即可在程序的同目录生成一个名为muma.htm的网页木马。
  配置网页木马继续进行网页木马的配置,在“欲加密的网页”中浏览选中生成的网页木马。网页木马在运行时会利用IE的漏洞,其中肯定存在漏洞利用代码,这些代码会被杀毒软件检测出来,因此要想隐蔽地运行网页木马,加密木马程序还不够,还需对网页木马进行加密。“MS06-014木马生成器”的“加密方式”中提供了四种网页的加密方式,分别是:空字符加密、转义字符加密、Escape加密和拆分特征码。这里我们使用“转义字符加密”加密方式,选中“转义字符加密”选项后点击“加密”按钮,免杀的网页木马就生成了。将该加密过的网页木马上传到网页空间中即可。

  寻找缺陷网站,写入网页木马

  网页木马准备完毕,就等着寻找挂马的目标网站了。此时黑客会到处搜索,寻找有脚本缺陷的网站程序,找到后利用网站程序的漏洞入侵网站,并得到网站的一个webshell。这时我们可以编辑网站首页的内容,将挂马的代码插入即可。代码为:<iframe src="/muma.htm"; width="0" height="0" frameborder="0"></iframe>,src参数后面的是网页木马的地址。当我们打开这个网站的首页后,会弹出网页木马的页面,这个页面我们是无法看到的,因为我们在代码中设置了弹出页面的窗口长宽各为0。此时木马也已经悄悄下载到本机并运行了。我们可以看到,网站的首页显示正常,杀毒软件并没有任何反应,而木马却已经运行了,可见木马的隐蔽性很高,危害也相当严重。

  “挂马”攻击已经成为目前最流行的攻击方式,面对数量庞大的“挂马”网站,我们该如何防御呢?作为一名网站站长,我们又如何知道自己的网站被人挂马了呢?站长防范:如果你是一名站长,可以对网站首页以及其他主要页面的源代码进行检查,如用记事本打开这些页面后,以“<iframe>”为关键字进行搜索,找到后可以查看是否是挂马代码。不过碰上有经验的黑客,会编写一段代码将整句挂马代码进行加密,这样我们就很难找到网页中的挂马代码。这时,我们可以采用“掘马”-北京智恒联盟公司出品的一个专门针对网页木马代码检测的一个系统,可以帮助解决代码量较大,网页木马存在形式多样检查困难的问题。系统定期升级可以检测1000多种网页木马,检测定位非常准!

  普通用户防范:普通用户关心的自然是如何防范“挂马”攻击。既然杀毒软件在网页木马面前成了“睁眼瞎”,而我们又无法感知网站是否被“挂马”。在这种情况下,我们岂不是任人宰割?我们已经知道网页木马的运行原理利用了IE浏览器的漏洞,因此只要我们及时更新系统补丁就可以让网页木马失效了。开启系统“自动更新”的方法为:右键点击“我的电脑”,选择“属性”,切换到“自动更新”标签,选中其中的“自动(推荐)”即可。

标签: 木马