Rover12421's Blog

The End.

PandaLabs Report:MPack Uncovered

写在最前面:

这是我自己的翻译文档,EN不好,自己不能翻译的就讲究着看,自己能看懂的最好自己翻译。我最后会给出源文档的下载地址的。源文档是PDF的,其中有俄文部分,转doc是乱码,这工具是来自俄罗斯的。文档来自PandaLabs。

Panda 实验室报告: MPack 揭密

目录:
引言 MPack 版本
DreamDownloader
MPack 常用攻击步骤
如何管理被感染的用户
安装和配置 Readme.txt
Ip2csetup.php
Ip-tocountry.sql
Settings.php
漏洞利用
mdac4.php vml_dbg.php
ms06-044_w2k.php
ff.php
07.php
xml.php
主要模块
index.php
file.php
cryptor.php
数据统计
fout.php
flush.php
\flags
stats.php

引言

MPack

MPack 是安装在服务器上的应用程序,并通过漏洞利用程序在远程系统上安装恶意软件。
随着新的漏洞的发现,新的程序更新被释放将感染更多的计算机。
它是用PHP写的程序,通过用户访问来获取其信息并存贮。
这些信息被保存在MySQL数据库中。
Mpack创作者称自己是“Dream Coders Team”。
在这个文档中,我们主要讲0.61版本,因为他是最新版本,并且我们有他的副本。

版本

v0.33
是 MPack 的第一个版本,2006年12月在俄罗斯的一个论坛上出售。
v0.51
我们是在分析 Trj/Bankolimb.A 发现的, 因为他会发送银行行号的详细资料到一个服务器上。.
在检查服务器文件内容时,我们发现了有趣的数据。
这个版本创建于2007年2月15号。
v0.61
几天后,我们在 Trj/Bankolimb.A 这台服务器上发现了名为“MPack061u(update 03-05).zip” 的更新版本.
这个版本创建于2007年5月。
v0.80
我们发现另一个俄罗斯论坛上有销售; 它的广告日期是2007年4月3日。
从0.33版本看, MPack 的售价是$700, 多加$300可以得到DreamDownloader.
购买该软件包含一年的技术支持。.
这个版本的包括最新的漏洞利用:

  • Web视图文件夹图标溢出
  • WinZip ActiveX控件溢出
  • QuickTime 溢出
  • 最新的ANI溢出 v0.84
    这是我们知道 MPack 的最新版本, 但是我们没有他的副本.
    他安装在服务器上并感染计算机的时间是4月27日。
    一个版本到另一个版本的发现至少已经过来一个甚至几个月。
    他们担保在销售时间内不被杀毒软件查杀。
    更新到新版本,不包括购买,没一个新版本在$50 到 $150之间,这取决于漏洞的严重性。
    而防止他被杀毒软件发现exe文件需要$30,脚本文件需要$20.

DreamDownloader

这是一个下载者工具通常和MPack一同销售. 用户只需要告诉这文件下载地址,工具就可以创建一个可以exe文件。
下面是在论坛中提到的这个EXE文件的特点:

  • 穿透几层防火墙.
  • 关闭一些杀软软件.
  • 使用反编译技术.
  • 能够检测虚拟计算机.
  • 可以加壳压缩
  • 使用几种壳(Upack, UPX or Mew).  

MPack 常用的攻击步骤

  1. 用户通过访问带有Iframe加载的index.php来安装。
    2.index.php通过利用程序来决定是否运行,这取决于浏览器和操作系统是否存在漏洞。
  2. 根据第二条得到的数据,利用运行在用户计算机中的统计模块来统计和存贮受感染的计算机信息。

如何管理被感染的用户

他们使用多种技术让用户运行index.php中引用的代码
1. 黑客用于攻击的服务器.
对于WEB服务器他们通常使用iframe框架加载到文件的最后。默然表明是安装Mpack的index.php页面。
有时候,他们使用被攻击下的网站安装Mpack或其他类型的而已软件.
因此,他们更难被找到,因为这些而已软件存放在第三方服务器上。
有一个服务器被发现安装MPack, 他们来自7644 个不同的页面.
2. Enter certain words on the web pages where they are stored, so that when the web page is
indexed in the browsers, users end up at the page containing the MPack and get infected.
输入某些词的网页在那里储存,所以当网页索引中的浏览器,用户最终在网页载MPack并受到感染。
【google自动翻译】
3. Buy domains with similar names to known sites users tend to access. For example, gookle,
which only differs in a character from the famous google browser. Users who wrongly enter
a character in the browser name could be infected.
搜索域名类似的名字,知道网站的用户往往获得。例如gookle其中只有不同性质由著名的谷歌浏览器。谁rongly用户输入一个字符在浏览器中的名称可能被感染。【google自动翻译】
4. 发送大量的邮件. 这些邮件包含连接,利用社会工程学来使他运行. Trj/Goldun 和 Trj/Haxdoor 经常使用这样的技术。
5. 购买Google的某些赞助商的搜索关键词.

MPack 组件

安装和配置

Readme.txt
这是一个文本文件,用来指引安装。在这,是安装Mpack。

MPack v0.61

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
安装:
1) 复制文件内容上传到空间
2) 设置文件为可写属性。chomd(777)
3) 打开配置文件 settings.php 进行配置
 
$AdminPath = "http://host.com/spk2"; //程序安装路径
$Password = "mpack2"; //后台等图密码
 
Èççà îñîáåííîñòåé ðàáîòû îäíîãî èç ýêñïîâ, ëîàäåð äîëæåí íàõîäèòüñÿ íà òîì æå õîñòå ÷òî è
ñâÿçêà.
 
3.1) Åñëè áóäåò èñïîëüçîâàòüñÿ MySQL äëÿ ïîäñ÷åòà ñòàòèñòèêè ïî ñòðàíàì, íàñòðîèòü è åãî:
 
$UseMySQL = 0; // 1使用MySQl数据库
$dbhost = "localhost"; //数据库连接地址
$dbuser = "spluser";
$dbpass = "splpass";
$dbname = "spldb"; //数据库名
$dbstats = "stats";//数据库状态
 
3.2) 在数据库中添加表,最好使用 phpMyAdmin 添加
 
äëÿ òàáëèöû ñòàòèñòèêè (èìÿ æåñòêî ôèêñèðîâàíî!)
 
CREATE TABLE `stats` (
`statid` VARCHAR( 50 ) NOT NULL ,
`a2` VARCHAR( 10 ) NOT NULL ,
`country` VARCHAR( 50 ) NOT NULL ,
`count` INT NOT NULL DEFAULT '0'
) ENGINE = MYISAM ;
 
äëÿ mysql âåðñèè geo2ip (èìÿ æåñòêî ôèêñèðîâàíî!)
 
CREATE TABLE `ip2country` (
`ipfrom` BIGINT NOT NULL ,
`ipto` BIGINT NOT NULL ,
`a2` VARCHAR( 10 ) NOT NULL ,
`a3` VARCHAR( 10 ) NOT NULL ,
`country` VARCHAR( 50 ) NOT NULL
) ENGINE = MYISAM ;
 
3.3) çàïîëíèòü òàáëèöó geo2ip äàííûìè âûçâàâ ÷åðåç áðàóçåð ñêðèïò ip2csetup.php
Âûïîëíåíèå ñêðèïòà äîëæíî çàâåðøèòüñÿ ñòðîêîé Filling IP2L DB, please wait...done

这个文件说了 stats 和 ip2country 两个表必须手动在 MySQL 数据库中建立。

?View Code MYSQL
1
2
3
4
5
6
CREATE TABLE `stats` (
`statid` VARCHAR( 50 ) NOT NULL ,
`a2` VARCHAR( 10 ) NOT NULL ,
`country` VARCHAR( 50 ) NOT NULL ,
`count` INT NOT NULL DEFAULT '0'
) ENGINE = MYISAM ;
?View Code MYSQL
1
2
3
4
5
6
7
CREATE TABLE `ip2country` (
`ipfrom` BIGINT NOT NULL ,
`ipto` BIGINT NOT NULL ,
`a2` VARCHAR( 10 ) NOT NULL ,
`a3` VARCHAR( 10 ) NOT NULL ,
`country` VARCHAR( 50 ) NOT NULL
) ENGINE = MYISAM ;

在MPack版本0.80中他们更容易安装。如果表不存在可以用install.php文件自动创建的表。
~~~~~~~~~~~~~~~~
不写了。。。
翻译是一件痛苦是事情。要还写一片到这会跟痛苦。
Doc的文档有143M,不可能传上来,改成PDF的了,小了不只是一点。自己转格式吧。
翻译好的:Panda实验室报告-MPack揭密(2007)_zh
源文档:PandaLabs Report - MPack uncovered (2007).pdf

Comments