百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量 - 深圳网站优化推广公司
搜索
分享
QQ空间 QQ好友 新浪微博 微信

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

Loading69 2017-03-01
展开全文

一、概述

经火绒安全实验室截获、分析、追踪并验证,当用户从百度旗下的

http://www./

http://soft.hao123.com/

这两个网站下载任何软件时,都会被植入恶意代码。该恶意代码进入电脑后,会通过加载驱动等各种手段防止被卸载,进而长期潜伏,并随时可以被“云端”远程操控,用来劫持导航站、电商网站、广告联盟等各种流量。

火绒实验室近期接到数名电脑浏览器被劫持的用户求助,在分析被感染电脑时,提取到多个和流量劫持相关的可疑文件:

HSoftDoloEx.exe

bime.dll

MsVwmlbkgn.sys

LcScience.sys

WaNdFilter.sys

这些可疑文件均包含百度签名。

这些包含恶意代码的可疑文件,被定位到一个名叫nvMultitask.exe的释放器上,当用户在http://www./

和http://soft.hao123.com/

这两个下载站下载任何软件时,都会被捆绑下载该释放器,进而向用户电脑植入这些可疑文件。需要强调的是,下载器运行后会立即在后台静默释放和执行释放器nvMultitask.exe,植入恶意代码,即使用户不做任何操作直接关闭下载器,恶意代码也会被植入。

根据分析和溯源,最迟到2016年9月,这些恶意代码即被制作完成。而操纵流量劫持的“远程开关”于近期被开启,被感染的电脑会被按照区域和时段等条件,或者是随机地被“选择”出来,进行流量劫持——安全业界称之为“云控劫持”。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 1、下载器向用户计算机植入恶意代码

被植入的恶意代码没有正常的用户卸载功能,也没有常规启动项,电脑每次开机时都会启动和更新恶意代码,恶意代码接收C&C服务器指令,行为受云端控制,并且会通过加载驱动,保护相关的注册表和文件不被删除。

因此,这些植入恶意代码的用户电脑成为长期被远程控制的“肉鸡”。

该恶意代码被远程启动后,会劫持各种互联网流量,用户的浏览器、首页、导航站都会被劫持,将流量输送给hao123导航站。同时,还会篡改电商网站、网站联盟广告等链接,用以获取这些网站的流量收入分成(详情在本报告第二章)。

综上所述,该恶意代码本身以及通过下载器植入用户电脑的行为,同时符合安全行业通行的若干个恶意代码定义标准,因此,火绒将这一恶意代码家族命名为“Rogue/NetReaper”(中文名:流量收割者)。升级到“火绒安全软件”最新版本,即可全面查杀、清除该类恶意代码。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图2、火绒安全软件检测结果

火绒安全软件4.0下载地址:

http://www./downv4.html

火绒专杀工具下载地址:

http:///download/tools/hrkill-v1.0.0.10.exe

二、主要劫持行为描述

用户在这两个下载站下载软件后,电脑即被植入“Rogue/NetReaper”恶意代码,在长期的潜伏期过程中,电脑可能发生如下流量劫持情况(按地域和时间等因素云控劫持,或者随机劫持):

  1. 导航站劫持:当用户访问其他导航站时,会被劫持到百度hao123导航站。

包括360、QQ、2345、搜狗、猎豹、114la、瑞星……等导航站都会被劫持,劫持后的hao123网址带有百度联盟的推广计费名。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图3、常见导航站被直接为hao123

2.首页劫持:把用户电脑首页修改为hao123导航站。

使用IE浏览器的用户,其首页被修改为hao123导航站,并通过百度联盟计费名统计流量。

3.浏览器劫持:360浏览器替换成IE浏览器或者假IE浏览器。

当发现用户使用360安全浏览器或360极速浏览器时,默认浏览器被修改为IE浏览器,或者修改为假IE浏览器,以躲避安全软件的浏览器保护。无论 怎样,被替换后首页都会变成hao123导航站,并通过百度联盟计费名统计流量。

4.网盟广告劫持:将百度网盟其他渠道计费名换成渠道商猎豹(金山毒霸)。

百度网盟有许多渠道商,这些渠道商都将流量售卖给百度网盟,这个劫持行为是将其他渠道商的推广计费名换成金山的,这样的话,本来应该属于其他渠道的百度网盟推广费用,就被猎豹获得,猎豹再向恶意代码制作者分钱。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 4、替换百度网盟广告

5.电商流量劫持:使用IE浏览器访问京东等电商网站时,先跳转到电商导流网站站,然后再跳转回该电商网站。

先跳转到电商导流网站妖猴网 :

http://www.

再返回原购物网站之后,电商网站链接就加上了妖猴网的计费名,电商网站就会按照流量向妖猴网支付推广费用,妖猴网再向恶意代码制作者分钱。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 5、访问电商网站时会跳转到电商导流网站

三、概要分析

执行任意从http://soft.hao123.com下载到的下载器,不需要进行任何操作,恶意代码就会植入用户计算机。使用火绒剑可以监控植入恶意代码的整个过程,如下图:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 6、恶意代码首次植入用户计算机流程

恶意代码首次植入用户计算机流程:

1.下载器执行释放的nvMultitask.exe。目前下载器包含的nvMultitask.exe是0.2.0.1版本,该版本仅会在用户计算机上植入部分恶意代码,如下:

a) 3.2.0.1版的HSoftDoloEx.exe

b) 1.7.0.1版的bime.dll

c) 0.4.0.130 版的LcScience.sys

d) 0.5.30.70 版的WaNdFilter.sys

e) 1.0.0.1020版的npjuziplugin.dll

2.植入恶意代码成功后nvMultitask.exe使用命令行参数“-inject=install”执行HSoftDoloEx.exe

3.启动的HSoftDoloEx.exe链接C&C服务器(http://update./update.php)进行更新,更新的恶意组件将在下次计算机启动后被激活

每次计算机重启,恶意代码都会启动和检查更新:

经过几次更新之后,nvMultitask.exe的会升级到当前最新版本3.2.0.4,后续分析将会以这个版本展开。

最新版本的恶意组件在用户每次开机后都会执行以下流程:

1.LcScience.sys注册进程和映像加载回调将bime.dll分别注入services.exe、explorer.exe、iexplore.exe和其他第三方浏览器进程。

2.注入services.exe中的bime.dll负责启动HSoftDoloEx.exe

1)HSoftDoloEx.exe链接C&C服务器(http://update./update.php)检测更新。

2)HSoftDoloEx.exe链接C&C服务器(http://update./getupfs2.php),获取流量劫持指令。(后续章节进行详细分析)

3.注入explorer.exe中的bime.dll负责在执行5分钟后链接C&C服务器(http://update./ccl.php)下载并加载恶意代码svcprotect.dat到explorer.exe。

4.svcprotect.dat(1.0.0.11)加载后释放两个全新的流量劫持模块:

1)5.0.0.1版的iexplorer_helper.dat

2)1.5.9.1098版的iexplore.exe

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 7、恶意代码植入用户计算机流程

1.5.9.1098版的iexplore.exe是一个伪装系统名称的假IE浏览器,我们把这个文件上传到VirusTotal后发现,很多安全软件检测此文件是病毒,如图:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 8、Virustotal检测的结果

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 9、恶意代码包含百度签名

最终在用户计算机中所有包含恶意代码的文件如下:

安装目录安装文件
%HOMEPATH% \AppData\Roaming\HSoftDoloExx86、x64HSoftDoloEx.exe(3.2.0.4)x86bime.dll(1.7.0.5)x64bime64.dll(1.7.0.5)
%Drivers%x86LcScience.sys(0.4.0.130)WaNdFilter.sys(0.5.30.70)MsVwmlbkgn.sys(0.6.60.70)x64LcScience64.sys(0.4.0.130)WaNdFilter64.sys(0.5.30.70)MsVwmlbkgn64.sys(0.6.60.70)
%HOMEPATH%\AppData\Local\Internet Explorerx86、x64iexplorer_helper.dat(5.0.0.1)
%HOMEPATH%\AppData\Local\ProgramDatax86svcprotect_32_1.0.0.11.dat(1.0.0.11)x64svcprotect_64_1.0.0.11.dat(1.0.0.11)
%HOMEPATH%\AppData\Roaming\{E233850D-5D6E-48E3-98B5-8049F7E9FC68}x86、x64iexplore.exe(1.5.9.1098)
%HOMEPATH% \AppData\LocalLow\JuziPlugin\1.0.0.1020x86、x64npjuziplugin.dll(1.0.0.1020)

四、详细分析

1. 启动、保护和更新模块分析

1.1 启动

恶意代码有两个重要的启动模块HSoftDoloEx.exe和bime.dll。这两个文件是整组恶意代码的关键项,驱动文件LcScience.sys负责每次开机启动它们。

LcScience.sys(0.4.0.130)注册映像加载通知,排队一个工作例程,如下图:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 10、排队注入例程

该工作例程会判断启动进程是否需要注入,完整的注入列表如下:

Services.exe、Explorer.exe、Iexplorer.exe、360se.exe、Maxthon.exe、

iexplore.exe、liebao.exe、2345Explorer.exe、QQBrowser.exe、360chrome.exe和sogouexplorer.exe

如果满足注入条件,就会注入bime.dll(1.7.0.5)到指定进程。LcScience.sys实现了两种注入方式:一种通过patch系统动态库ntdll.dll的入口将动态库bime.dll注入到制定进程;另一种则是通过patch系统动态库ntdll.dll的NtTestAlert函数实现注入bime.dll到指定进程,相关代码如下图:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 11、选择注入方式

bime.dll(1.7.0.5)注入到services.exe、explor

注入到services.exe系统进程bime.dll,在系统开机运行services.exe后,以'-inject=start'参数执行HSoftDoloEx.exe。在explorer.exe中的bime.dll(1.7.0.5)也会随着“桌面”程序的启动,一同被激活。bime.dll还会随着用户启动的浏览器一并启动,如下图:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 12、恶意代码启动流程图

1.2 保护

WaNdFilter.sys(0.5.30.70)同LcScience.sys(0.4.0.130)都使用了注册表回调保护自己的注册表启动项不被删除,除此以外WaNdFilter.sys(0.5.30.70)还有两个保护点,如下图所示:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 13、文件保护逻辑

图中标明file_needs_protect_1 函数负责保护“WaNdFilter.sys”、“LcScience.sys”和“MsVwmlbkgn.sys”这几个文件不被删除,标明file_needs_protect_2 函数会阻止特定进程不能访问恶意代码指定的文件列表。

WaNdFilter.sys阻止的特定进程如下表:

NSoftMgr.exe、360Tray.exe、360Safe.exe、360DeskAna.exe、QQPCSoftCmd.exe、QMAutoClean.exe、QQPCMgr.exe、QQPCSoftMgr.exe、QQPCRTP.exe

恶意代码指定的文件列表的在我们的实验环境中并未得到。

1.3 更新

不同版本nvMultitask.exe释放的恶意代码在功能上存在差异。本文分析的是当前最新版本3.2.0.4。每次计算机重启恶意代码都会执行更新,升级到最新版本需要经过以下流程。

1)开机后执行HSoftDoloEx.exe,HSoftDoloEx.exe会向服务器http://update./update.php发送升级请求,每次请求返回的都不是最新版本,一般来说从下载器自带的0.2.0.1版本需要至少重启三次计算机 ,才可以更新到3.2.0.4版本。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 14、恶意代码释放器升级流程

2)除了HSoftDoloEx.exe会向服务器发送请求更新以外,3.2.0.4版的nvMultitask.exe中包含的1.7.0.5版的bime.dll ,会在注入系统进程Explorer.exe之后,也会向服务器http://update./ccl.php发送请求。

3)请求得到的数据是一段Base64编码后的字符串,解码后可以得到win_32_1.0.0.11.dat的下载地址后开始下载。这是一个新出现的恶意代码。

4)win_32_1.0.0.11.dat是加密的32位版本的svcprotect.dat(1.0.0.11)。

5)bime.dll解密后调用svcprotect.dat名为“Run”的导出函数,释放恶意代码“iexplorer_helper.dat” (5.0.0.1)

6)svcprotect.dat还会检查当前系统中是否存在“C:\ProgramData\userdata\data.dat”这个文件,如果不存在或者该文件最后写入时间距今相差30天以上,svcprotect.dat就会在“%HOMEPATH%\AppData\Roaming\{E233850D-5D6E-48E3-98B5-8049F7E9FC68}”目录中释放假iexplore.exe(1.5.9.1098)。“C:\ProgramData\userdata\data.dat”是一个0字节文件,会在svcprotect.dat第一次释放iexplore.exe后被svcprotect.dat创建。

svcprotect.dat释放的文件都包含在它的PE资源中,如图:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 15、svcprotect.dat中包含的二进制资源

FILE_0068_0804对应iexplore.exe(1.5.9.1098),

FILE_0069_0804对应iexplorer_helper.dat(5.0.0.1)。至此所有恶意代码已经全部植入用户计算机了。

如果升级服务器不返回请求数据(此处由云端控制),也可以在安装了nvMultitask.exe 0.2.0.1版本计算机上,直接运行nvMultitask_3.2.0.4.exe的安装包(MD5: 4bf77866e8a851a2fa7d4088b85be126),同样会更新到最新版的恶意代码。但是会缺少两个关键组件iexplorer_helper.dat(5.0.0.1)和svcprotect.dat(1.0.0.11)。

HSoftDoloEx.exe和C&C服务器通信的请求升级流程如下表:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 16、HsoftDoloEx和C&C服务通信流程

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 17、C&C服务器返回的base64解码后数据

2. 用户态流量劫持模块

bime.dll会被注入到explorer.exe进程,在其等待5分钟之后会加载恶意模块svcprotect.dat。svcprotect.dat会释放另一个恶意模块iexplorer_helper.dat和一个假iexplore.exe,二者分别实现不同流量劫持功能:

1)针对用户浏览器首页的劫持:

在Explorer.exe中的svcprotect.dat Hook了的CreateProcessW劫持浏览器首页流量,此外svcprotect.dat还会直接启动假iexplore.exe替换用户运行的浏览器完成首页劫持。

2)针对用户访问购物网站做流量劫持:

svcprotect.dat释放的出来的iexplorer_helper.dat会针对系统IE浏览器劫持某购物网站流量。

负责用户态流量劫持的模块列表:

劫持模块
%HOMEPATH%\AppData\Roaming\HSoftDoloExbime.dll
%HOMEPATH%\AppData\Local\Internet Exploreriexplorer_helper.dat
%HOMEPATH%\AppData\Roaming\{E233850D-5D6E-48E3-98B5-8049F7E9FC68}iexplore.exe

负责用户态流量劫持的C&C服务器:

C&C服务器

http://update./getupfs2.php

http://update./test_json.php

http://api./url_loc.php

http://update./tnpp.php

2.1 svcprotect.dat劫持模块分析

加载到explorer.exe中的svcprotect.dat会向服务器http://update./getupfs2.php发送请求获取控制指令。

svcprotect.dat和C&C服务器通信流程如下表:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 18、svcprotect.dat和C&C服务器通信流程

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 19、解码服务器返回的数据为二进制格式

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 20、通过XOR 0x29得到的JSON格式的控制指令

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 21、控制指令的完整列表

通过C&C服务器得到的JSON各键名含义:

字段字段含义
browser被劫持的浏览器进程名
action进程启动方式数值为800:快捷方式启动数值为400:快捷方式添加参数启动数值为1:直接由explorer启动(如Ctrl R启动)
home劫持网址
juzi是否将进程替换为假IE
per劫持概率
perie将进程替换为系统IE的概率

svcprotect.dat根据接收到的云控指令,判断用户启动的浏览器是否匹配劫持条件,如果匹配则会选择对应的劫持方法。其流量劫持的手法一共分为三种:

1)将用户启动的浏览器劫持为假IE:

在用户双击浏览器快捷方式(包括带网址参数和不带网址参数两种)或者通过explorer直接启动浏览器时(当前只劫持通过“Win R”方式启动的浏览器,直接启动浏览器的可执行文件不会被劫持),只要配置文件中对应的概率命中,就会将当前启动浏览器替换为假IE。当然这样的劫持手法过于明显,很容易引起用户警觉,所以劫持为假IE的概率很低。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 22、假IE访问其默认首页

2)劫持浏览器的命令行启动参数:

在用户启动无命令行参数的浏览器快捷方式时,如果配置文件中对应的概率命中,则会添加带有自己计费号的百度搜索网址参数,如果启动的浏览器是系统IE,劫持网址就是带有计费号的hao123链接。针对360安全浏览器和360极速浏览器这种当启动参数为其他导航站时,就会跳转到http://hao.360.cn的浏览器,劫持网址就是带有计费号的百度搜索链接。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 23、劫持浏览器参数

3. 将启动的第三方浏览器替换为系统IE:

用户双击浏览器快捷方式(包括带网址参数和不带网址参数两种)或者通过explorer.exe直接启动时,如果“per”键值中的概率没有命中,则会继续使用“perie”键值中的概率进行第二次随机。如果命中第三方浏览器替换为系统IE。这种手法主要用于当第三方浏览器启动参数为hao123导航时,为了保住这些流量不会因为使用其他第三方浏览器而跳转到其他导航站(如:http://hao.360.cn),所以将第三方浏览器替换为系统IE,从而保护其固有流量。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 24、劫持逻辑流程图

svcprotect.dat 释放的假IE

因为当360安全浏览器和360极速浏览器的启动参数为http://www.hao123.com时,会默认打开http://hao.360.cn,所以为了更加彻底地劫持流量,svcprotect.dat中的恶意代码会将这两款浏览器替换为假IE,从而达到其劫持目的。除了启动后会默认打开hao123导航外,当假IE的启动参数为百度搜索时,其实际使用的计费号依然为自己的计费号(如下图,在访问网址时我们可以看到上述网址在浏览器标题栏中一闪而过)。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 25、假IE访问百度搜索

2.2 iexplorer_helper.dat劫持模块分析

注入浏览器的bime.dll会加载iexplorer_helper.dat组件,调用iexplorer_helper.dat动态库的'Run'导出函数后执行以下操作:

1)启动rundll32.exe,加载iexplorer_helper.dat,调用参数为Init

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 26、rundll32.exe启动的iexplorer_helper.dat

2)向C&C服务器发送获取控制指令,一共发送三个请求:

a)请求http://update./test_json.php获取的云控指令,我们命名为hijack_cmd1。

b)请求http://api./url_loc.php获取云控指令,我们命名为hijack_cmd2。

c)请求http://update./tnpp.php获取云控指令,我们命名为hijack_cmd3。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 27、iexplorer_helper.dat和C&C服务器通信

iexplorer_helper.datC&C服务器通信流程如下表:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 28、iexplorer_helper.dat和C&C服务器通信流程

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 29、解码服务器返回的数据为二进制格式

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 30、通过XOR 0x9C得到的JSON格式的控制指令

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 31、控制指令的完整列表

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 32、iexplorer_helper.dat和C&C服务器通信流程

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 33、解码服务器返回的数据为二进制格式

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 34、通过XOR 0x9C得到的JSON格式的控制指令

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 35、控制指令的完整列表

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 36、iexplorer_helper.dat和C&C服务器通信流程

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 37、通过XOR 0x9C得到的JSON格式的控制指令

hijack_cmd3没有请求后没有得到对应数据,但是会保存从服务器请求到的base64编码指令到%HOMEPATH%\AppData\Local\ProgramData\iehlp.dat。其余两组的指令保存在内存没有在本地保存,对应的含义如下:

通过C&C服务器得到hijack_cmd1的JSON各键名含义:

字段字段含义
id编号
urlsrc原访问网址
urldst劫持网址
rand劫持概率
times每日劫持次数
elapse劫持间隔时间
mode未知(现配置文件中所有mode键值都为8)

通过C&C服务器得到hijack_cmd2的JSON各键名含义:

字段字段含义
id编号
urlsrc原访问网址
urldst劫持网址
rand劫持概率
times每日劫持次数
elapse劫持间隔时间
mode未知(现配置文件中所有mode键值都为8)
referer未见使用
city未见使用

每个浏览器都会加载中iexplorer_helper.dat启动rundll32.exe执行iexplorer_helper.dat的Init函数。但是如果启动的进程是iexplorer.exe。注入iexplorer_helper.dat会和rundll32.exe进程通信,将IE地址栏的访问地址劫持交给rundll32.exe进行分析,如果满足劫持条件跳转网址发送给iexplorer。进行劫持。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 38、进程通讯流程图

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 39、劫持jd.com添加推广号

3)内核态流量劫持模块

HSoftDoloEx.exe接收C&C服务器云控指令发送给MsVwmlbkgn.sys进行HTTP收发包的流量劫持。从C&C服务器接收到的云控指令包含了普通导航站的劫持和百度网盟广告的劫持。

在x64系统zethelpEx64.exe(3.2.0.3)负责发送云控指令给MsVwmlbkgn.sys。

内核态负责流量劫持的模块列表:

劫持模块
%HOMEPATH%\AppData\Roaming\HSoftDoloExHSoftDoloEx.exezethelpEx64.exe
%drivers%MsVwmlbkgn.sys

内核态负责流量劫持的云控指令文件:

云控指令文件
%HOMEPATH%\AppData\Roaming \Internet Explorercfg.datiecompa.datiecompb.dat

内核态负责流量劫持的C&C服务器指令接口:

C&C服务器指令接口

http://update./getupfs2.php

3.1 云控指令获取

HSoftDoloEx.exe连接C&C服务器(http://update.)得到的加密的云控指令,解密后通过API函数DeviceIoControl,发送给设备“\\.\{D87A9329-ED85-49C3-A8D2-534474363333}”对应的驱动程序”MsVwmlbkgn.sys“。

HSoftDoloEx.exe通过C&C服务器获取运控制令流程:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 40、HSoftDoloEx.exe和C&C服务器通信流程

请求格式如下:

字段说明
update./getupfs2.phpC&C服务器地址
app=3.2.0.4HSoftDoloEx的版本号
cfg=本机保存指令的版本号,在文件cfg.dat文件中说明,为空就是本机还没有保存指令
os=3操作系统的版本[1] WindowsXP、WinServer2003[2] WinServer2008[3] Windows7[4] Windows8[5] Windows10
safe=0[0] 没有安装安全软件[1] 360安全卫士、360杀毒[2] 腾讯电脑管家[4] 百度卫士、百度杀毒[8] 金山毒霸如果安装多款安全软件就将数字相加,例如同时安装了360、腾讯电脑管家、和百度杀毒,safe就等于7。

3.2 云控指令解密

从C&C服务器返回的http:\\d.\DB\iecomv2.7z'下载地址是一个压缩文件。HSoftDoloEx.exe下载后解压文件到%HOMEPATH%\AppData\Roaming \Internet Explorer目录,一共三个文件分别是cfg.dat、iecompa.dat和iecompb.dat。

除cfg.dat是明文保存云控指令版本外。其余的iecompa.dat和iecompb.dat都是加密过的二进制数据。

iecompa.dat(后文简称指令A)和iecompb.dat(后文简称指令B)的格式如下:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 41、iecompa.dat XOR 0xB5后得到的控制指令

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 42、iecompb.dat XOR 0xB5后得到的控制指令

图中前0x16个字节中蓝色框中内容和版本相关,绿色是指令长度,黄色是校验和。在0x16字节后面的数据XOR 0xB5,就可以得到为被加密的具体指令。

指令A(iecompa.dat)

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 43、控制指令的完整列表(指令A)

指令B(iecompb.dat)

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 44、控制指令的完整列表(指令B)

获取云控指令后的HSoftDoloEx.exe使用DeviceIoControl函数和MsVwmlbkgn.sys进行通信。一共有三组控制码(HSoftDoloEx.exe版本3.2.0.4,MsVwmlbkgn.sys版本0.6.60.70),分别是:

a)222000 发送指令A的内容给MsVwmlbkgn.sys

b)222004 发送指令B的内容给MsVwmlbkgn.sys

c)222008 控制流量劫持功能的开关

目前3.2.0.4版HSoftDoloEx.exe还没有使用222008这个控制码, 因为在0.6.60.70版本的MsVwmlbkg.sys中,流量劫持功能默认为开。

“指令A”和“指令B” 分工合作, 在指令A中不同的劫持类型对应指令B给出不同处理劫持方案,根据具体的劫持内容可以分为三种情况,不同的劫持方案在下文会有详细分析:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 45、劫持指令说明

3.3 劫持流程

MsVwmlbkgn.sys是一个WFP驱动程序,该驱动会向WFP FWPM_LAYER_STREAM_V4和FWPM_LAYER_STREAM_V6注册Callout(我们标记为wfp_classify_callout)来分别过滤IPv4和IPv6的TCP数据流:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 46、注册IPv4和IPv6数据流过滤Callout

wfp_classify_callout中会调用http_hijack函数对TCP发送和接收的数据进行协议分析并按照一定的逻辑进行劫持:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 47、wfp_classify_callout函数

http_hijack函数中,根据HSoftDoloEx.exe接收C&C服务器云控指令对收发数据有选择地进行劫持,具体劫持流程如下:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 48、内核态劫持流程图

3.3.1 发包流程

MsVwmlbkgn有一个全局开关决定是开启劫持功能,这个全局开关在MsVwmlbkgn中由控制码222008进行控制(70版本默认是打开的,上层没有对应控制的流程)。

除了全局开关以外,MsVwmlbkgn还会根据请求包中“Host”字段的网址,在C&C服务器给出的指令中查找,根据指令有不同的处理方式,C&C给出的指令包含:需要劫持的网站、劫持概率、使用何种方式劫持和浏览器名称。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 49、发包流程判断逻辑1

如果请求的URL在C&C服务器返回的劫持列表中,接下来驱动还

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 50、发包流程判断逻辑2

如果上述判断逻辑均通过,则会根据C&C服务器返回的针对当前

标记为“2”的劫持方式:

首先将要劫持到的目标URL保存在redir_url。接下来,将当前HTTP Flow的句柄保存在flowHandle_lo/hi,在收包劫持流程中做判断使用。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 51、保存收包劫持所需数据

MsVwmlbkgn会保留请求包中原始”Host“地址,在地址前添加“http://”子串后进行base64编码,在编码后的字符串前添加'&s=',构成一个新的字符串,结果保存在url_from_http_get_request。恶意代码制造者会通过该字符串统计截取流量的来源。

以“http://hao.qq.com/ ”为例,转换后”&s=aHR0cDovL2hhby5xcS5jb20vIA==“,保存该字符串在对应的应答包中使用,用于服务器后台统计。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 52、分析HTTP发送请求完整URL

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 53、拼接劫持来源统计信息

标记为“8”的劫持方式:

如果是方式“8”直接添加插入一个请求数据包,在”Host“地址后面修改推广号,具体实现在construct_send_hijack_packet中完成。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 54、发包劫持流程

3.3.2 收包流程

如果当前HTTP Flow为发包时记录下的需要被劫持的Flow (flowHandle_lo/hi与当前句柄相同),则表示这个收到的HTTP数据是需要被劫持的。这时,则会在应答流程中插入一个302重定向应答包,并将重定向地址指向redir_url,且将劫持来源统计信息(url_from_http_get_request)同时拼接到重定向URL中。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 55、收包劫持流程

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 56、拼接302重定向应答包

以用户访问“http://hao.qq.com/ ”为例,经过内核态劫持后,真正的访问链接就变成了“https://www.hao123.com/?tn=70000 ... 2hhby5xcS5jb20vIA==”

3.3.3 百度网盟广告劫持

通过云控指令一节中可以看到,指令A中劫持的网站列表中绝大多数都是导航站,但是最后两个却是百度网盟的广告js脚本,劫持关系如下表:

劫持源URL劫持目标URL
http://cpro./cpro/ui/c.jshttp://update./r.php?c=30&v=3
http://cpro.baidu.com/cpro/ui/c.jshttp://update./r.php?c=31&v=3

用户访问有投放百度广告的网站时,恶意代码会劫持百度广告,具体流程如下:

1)http://cpro./cpro/ui/c.js和http://cpro.baidu.com/cpro/ui/c.js是用于展示从百度网盟获取广告的js脚本。

2)访问带有百度广告脚本的网站时,步骤1的“c.js”脚本被劫持替换成http://update./r.php?c=30&v=3或http://update./r.php?c=31&v=3。

3)步骤2的PHP页面会继续跳转到http://xz./ifr/c3w.js,得到”c3w.js”脚本。

4)继续跳转到http://xz./ifr/cw3.js,得到”cw3.js”脚本。

5)”cw3.js”脚本就是最终得到负责劫持的百度网盟广告的js脚本。

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 57、百度网盟广告劫持流程图

“cw3.js”脚本劫持百度网盟广告的流程如下:

1)首先拼接劫持到的目的网址,这些网址都是跳转链接:

http://yu./cl/u63990/200x200.htmlhttp://yu./cl/u63990/250x250.htmlhttp://yu./cl/u63990/300x250.htmlhttp://yu./cl/u63990/336x280.htmlhttp://yu./cl/u63990/580x90.htmlhttp://yu./cl/u63990/640x60.htmlhttp://yu./cl/u63990/728x90.htmlhttp://yu./cl/u63990/960x90.html

跳转后的广告页面为带有计费号的“http:///union2.html“:

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 58、劫持后的广告链接

2)查找页面中的iframe标签,判断链接是否是”pos.baidu.com”并且不是”duba”:

for (var M = 0; M < H.length; M ) {

var D = H[M].id;

if (D == null || D == 'undefined' || D.indexOf('iframe') !== 0) {

continue

}

if (H[M].src.indexOf('pos.baidu.com') != 7 || H[M].src.indexOf('duba') > 0) {

continue

}

F(H[M], H[M].offsetWidth, H[M].offsetHeight)

}

3)如果条件匹配,判断第一步准备的广告有没有大小合适的,找到合适大小则将原始链接保存下来:

function F(U, d, T){

if (t.length == 0) {

return

}

for (var s in t) {

if (t[0] == U.offsetWidth &&t[1] == U.offsetHeight) {

G.push(U)

}

}

}

4) 然后判断当前网站链接是否在它的放过列表中

function e() { var d = ['.hao123.co', '.3567.com', '.www2345.com','.www9991.com', '.365wz.net', '.2345.net', '.2345.org','.77816.com', '.365wz.com','.hao184.com', '.d1wz.com', '.to128.com', '.42.62.30.178','.42.62.30.180', '.2345soso.com', '.2345kankan.com', '.ku118.com','.hh361.com', '.v2233.com', '.ie567.com', '.2345ii.com', '.kuku2.com', '.yes115.com','.kabasiji.com', '.5599.net', '.te99.com','.duote.com.cn', '.duote.net', '.51ct.cn','.zhangyu.com', '.537.com', '.cc62.com', '.cn220.com','.k986.com', '.555k.net', '.wzeh.com','.yl234.com', '.2345download.com', '.g3456.com','.duote.com', '.duote.cn', '.9991.com', '.50bang.org', '.2345.com.cn','.duote.org', '.haozip.com', '.2345.com', '.2345.cn','.tt5000.com', '.4585.com', '.728.com','.game56.com', '.fa3000.com', '.yy5000.com','.777ge.com', '.hao774.com']; var T = location.hostname; for (var s = 0; s < d.length; s ) { if (T.indexOf(d) > 0) { return true } } var U = ['hao123.co', '3567.com', 'www2345.com','www9991.com', '365wz.net', '2345.net', '2345.org', '77816.com', '365wz.com','hao184.com', 'd1wz.com', 'to128.com', '42.62.30.178','42.62.30.180', '2345soso.com', '2345kankan.com','ku118.com', 'hh361.com', 'v2233.com','ie567.com', '2345ii.com', 'kuku2.com','yes115.com', 'kabasiji.com', '5599.net','te99.com', 'duote.com.cn', 'duote.net', '51ct.cn', 'zhangyu.com', '537.com','cc62.com', 'cn220.com', 'k986.com', '555k.net', 'wzeh.com', 'yl234.com','2345download.com', 'g3456.com', 'duote.com', 'duote.cn','9991.com', '50bang.org', '2345.com.cn','duote.org', 'haozip.com', '2345.com', '2345.cn', 'tt5000.com', '4585.com','728.com', 'game56.com', 'fa3000.com', 'yy5000.com', '777ge.com','hao774.com']; for (var s = 0; s < U.length; s ) { if (T == U) { return true } } return false}

5) 如果不在放过列表中,”cw3.js”劫持时用第一步中保存跳转链接替换原始的广告链接,达到劫持百度网盟广告的目的:

d.addChildAdTask = function() {

d.CurrentDisplayAd = d.OldAd.cloneNode(true);

d.CurrentDisplayAd.setAttribute('src', d.AdSrc);

if (d.OldAd == null) {

return

}

var i = q(d.OldAd);

if (i) {

d.CurrentDisplayAd.style.display = 'none';

d.ParentContainer.appendChild(d.CurrentDisplayAd);

setTimeout(function() {

d.removeFadeOut(d.OldAd)

}, 3000)

} else {

d.OldAd.setAttribute('src', d.AdSrc)

}

};

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 59、cw3.js劫持流程

五、附录

1. 恶意代码攻击时间线

百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量

图 60、时间线

签名时间恶意代码释放器版本释放器中包含的恶意代码功能简述
第一版
2016-09-28nvMultitask.exe(0.2.0.1)最初版本软件站下载包内置HSoftDoloEx.exe(3.2.0.1)bime.dll(1.7.0.1)bime64.dll(1.7.0.1)LcScience.sys(0.4.0.130)LcScience64.sys(0.4.0.130)WaNdFilter.sys(0.5.30.70)WaNdFilter64.sys(0.5.30.70)npjuziplugin.dll(1.0.0.1020)这个版本包含保护驱动,但是没有相应的流量截取功能
第二版
2016-11-25nvMultitask.exe(3.2.0.2)MsVwmlbkgn.sys(0.6.60.66)MsVwmlbkgn64.sys(0.6.60.66)HSoftDoloEx.exe(3.2.0.2)bime.dll(1.7.0.2)bime64.dll(1.7.0.2)首次加入流量截取驱动MsVwmlbkgn[64].sys,版本0.6.60.66。HSoftDoloEx.exe连接http://update./ntdl.php下载JOSN格式的控制信息,通过ioctrl号222000h发送给驱动
第三版
2017-01-03nvMultitask.exe(3.2.0.3)zethelpEx64.exe(3.2.0.3)HSoftDoloEx.exe(3.2.0.3)MsVwmlbkgn.sys(0.6.60.68)MsVwmlbkgn64.sys(0.6.60.68)HSoftDoloEx放弃http://update./ntdl.php服务器,改用 http://update./getupfs2.php获取云控指令。新增的zethelpEx64.exe只有64位版,版本号3.2.0.3,负责在x64位系统下和驱动MsVwmlbkgn.sys通信。0.6.60.68版本的MsVwmlbkgn.sys增加了两组新的控制码。
第四版
2017-01-18nvMultitask.exe(3.2.0.4)HSoftDoloEx.exe(3.2.0.4)MsVwmlbkgn.sys(0.6.60.70)MsVwmlbkgn64.sys(0.6.60.70)bime.dll(1.7.0.5)bime64.dll(1.7.0.5)更新的MsVwmlbkgn.sys版本0.6.60.70和旧版本68相比,修改了HTTP劫持和HTTP302头拼接的相关函数。1.7.0.5版本的bime.dll下载新组件svcprotect.dat,svcprotect.dat释放iexplore.exe(1.5.9.1098)和iexplorer_helper.dat(5.0.0.1)两个恶意组件

另外,火绒安全实验室还在http://dl.服务器上发现其他版本的恶意代码释放器,但是在实验室环境中并没有发现这些释放器何时被使用。

签名时间恶意代码释放器版本释放器中包含的恶意代码
2016-10-31nvMultitask.exe(4.2.0.1)nvSoftHelpEx.exe(4.2.0.1)
2016-11-14nvMultitask.exe(4.2.0.2)nvSoftHelpEx.exe(4.2.0.2)bime.dlll(1.7.0.2)bime64.dlll(1.7.0.2)
2017-01-19nvMultitask.exe(4.2.0.4)HSoftDoloEx.exe(4.2.0.4)MsVwmlbkgn.sys(0.6.60.70)MsVwmlbkgn64.sys(0.6.60.70)zethelpEx64.exe(3.2.0.3)bime.dll(1.7.0.5)bime64.dll(1.7.0.5)
2017-01-19nvMultitask.exe(6.2.0.4)QyNthxlnsxy.exe(6.2.0.4)MsVwmlbkgn.sys(0.6.60.70)MsVwmlbkgn64.sys(0.6.60.70)zethelpEx64.exe(3.2.0.3)bime.dll(1.7.0.5)bime64.dll(1.7.0.5)
2017-1-19nvMultitask.exe(8.2.0.4)ASoftDevHe.exe(8.2.0.4)MsVwmlbkgn.sys(0.6.60.70)MsVwmlbkgn64.sys(0.6.60.70)zethelpEx64.exe(3.2.0.3)bime.dlll(1.7.0.5)bime64.dlll(1.7.0.5)
2017-1-19nvMultitask.exe(9.2.0.4)PjczMqnopyx.exe(9.2.0.4)MsVwmlbkgn.sys(0.6.60.70)MsVwmlbkgn64.sys(0.6.60.70)zethelpEx64.exe(3.2.0.3)bime.dlll(1.7.0.5)bime64.dlll(1.7.0.5)

2. 全部样本HASH和C&C服务器指令接口

2.1 样本HASH

文件名签名日期SHA1
bime.dll(1.7.0.1)2016-09-284eedbccd08fd01008befb696221bec98a385f5c6
bime.dll(1.7.0.2)2016-11-04b5c4ad0d7ddb85ebb837544f09a2f3bb45edaef8
bime.dll(1.7.0.5)2017-01-18060aff4551d0577cc89fdcfa2b5d308c9314371b
bime64.dll(1.7.0.1)2016-09-28f7cfd2d0749b9e95a4980ed1062ef99d1ab7c731
bime64.dll(1.7.0.2)2016-11-047d1028635e0d337acb86db6c56c0b73b5b36ec8b
bime64.dll(1.7.0.5)2017-01-18b769c3bbc65fb3c1cd04bc6f5824e1be4464d87d
LcScience.sys(0.4.0.130)2016-09-28c4856ae2cc30bee437ad46dce69b22227aa6323b
LcScience64.sys(0.4.0.130)2016-09-282dc6ca6975acd6b28ae658a21dabe8e0d6634273
WaNdFilter.sys(5.30.70)2016-09-287f3219d2b0edb6499e679507bac348d4200c2f0a
WaNdFilter64.sys(5.30.70)2016-09-28f1f0dda83814fc082ff072937c3efafe2d2670c7
nvMultitask.exe(0.2.0.1)2016-09-282dcc278369563870712c2fa1ecd35907cc4bb8aa
nvMultitask.exe(3.2.0.2)2016-11-25d2e712fd1d20445b4bb1b279f79e8914b9eb2de9
nvMultitask.exe(3.2.0.3)2017-01-03ee136bbb979311c918fbd435d56cbbf096cab2d8
nvMultitask.exe(3.2.0.4)2017-01-18c9499909d8b60934ed03f3675af2acd2cd4bcac3
nvMultitask.exe(4.2.0.1)2016-10-31c00d956c96ec3c1ba2e946e305d9216a43d0c25d
nvMultitask.exe(4.2.0.2)2016-11-043ba67878986dd0e4c49b55af2456a6759c937c77
nvMultitask.exe(4.2.0.4)2017-01-192dc86b959799ae101b8fed077164927884d04473
nvMultitask.exe(6.2.0.4)2017-01-1999cc8d92322f34e1a399345b9bb95a9a681d611a
nvMultitask.exe(8.2.0.4)2017-01-1931a1db3189decd02e7359f6b0dd7822f9cbdbe54
nvMultitask.exe(9.2.0.4)2017-01-198996b2d74e005c2e3ae2ff509a64c219a07c430c
HSoftDoloEx.exe(3.2.0.1)2016-09-286a0eaf027efa32b5b0a6ab1219c6f9d592652f97
HSoftDoloEx.exe(3.2.0.2)2016-11-259952bfb13643894f6190075c4776095a3240c423
HSoftDoloEx.exe(3.2.0.3)2017-01-03ca14a69ebfe8bc18d8cda40cbf762c27cc7f58d6
HSoftDoloEx.exe(3.2.0.4)2017-01-18660a464ccbe823a19c9cfde548f934464b8c6a41
nvSoftHelpEx.exe(4.2.0.1)2016-10-28179130056ee004500d8e508509b85f9a6b2ebfe0
nvSoftHelpEx.exe(4.2.0.2)2016-11-04bf92d23cfa6e941181880a06c6735e8d2a84a0c2
nvSoftHelpEx.exe(4.2.0.4)2017-01-194b764c612ee3a0d773eff51012403b01bb183158
QyNthxlnsxy.exe(6.2.0.4)2017-01-19840b51615c16e908ac1dd7a71ef9ff0d72042fcf
ASoftDevHe.exe(8.2.0.4)2017-01-19f89f0d96475ba95197dbb4c1d7449793c941b19a
PjczMqnopyx.exe(9.2.0.4)2017-01-199584cc3b35cad7a2d0b16e89cae27ae440d71475
zethelpEx64.exe(4.2.0.4)2017-01-03c68380c65e25e2f906a0928022f9b9d3511dd28e
MsVwmlbkgn.sys(0.6.60.66)2016-11-255832935e3d08b40a730b11d3263606a485802048
MsVwmlbkgn.sys(0.6.60.68)2017-01-038032e9ec79546d7fb875227fa984860ce432ce34
MsVwmlbkgn.sys(0.6.60.70)2017-01-18804ddba4d498a087c3153c4d0a668d230a2a9ecc
MsVwmlbkgn64.sys(0.6.60.66)2016-11-2598526463435f47b66212176a1d921a05cf7e2fb7
MsVwmlbkgn64.sys(0.6.60.68)2017-01-03c38df45eef5b3a9081dfbd7cd2c7d3cac2cfea92
MsVwmlbkgn64.sys(0.6.60.70)2017-01-18a71f16958f37a860968f8f92db391691758b48e4
iexplorer_helper.dat (5.0.0.1)2017-01-205f336d5aad078c1f8e4313e8bddc4bb2960cc8db
npjuziplugin.dll (1.0.0.1018)2016-03-17286c0828918daa85b19f2d4ca18eda1db8a926ab
npjuziplugin.dll (1.0.0.1020)2016-08-184fc5607bcfb608b7a64fb2b515f1f955fb178957
svcprotect_32_1.0.0.9.dat2017-01-1096b93e21622da2a0e73d0bee061a810094bb5669
svcprotect_32_1.0.0.11.dat2017-01-23853a6dfb0aa1e30f871f87d13719e82fab6987cf
svcprotect_64_1.0.0.9.dat2017-01-1002a4468b263e341b63f3cb709fe4f5f1115db53a
svcprotect_64_1.0.0.11.dat2017-01-23e9a62a8e198268de04a3378803f19d0b8213f497

2.2 C&C服务器指令接口

C&C服务器指令接口描述
http://update./update.php恶意代码更新(nvMultitask.exe)
http://update./ccl.php恶意代码更新(svcprotect.dat)
http://update./getupfs2.php用户级劫持控制指令(svcprotect.dat)
http://update./test_json.php用户级劫持控制指令1(iexplorer_helper.dat)
http://api./url_loc.php用户级劫持控制指令2(iexplorer_helper.dat)
http://update./tnpp.php用户级劫持控制指令3(iexplorer_helper.dat)
http://update./ntdl.php旧版内核级劫持控制指令
http://update./getupfs2.php新版内核级劫持控制指令

    QQ空间 QQ好友 新浪微博 微信
    献花(0

    来自: Loading69 > 《天眼/监控网络/个人安全/保密/黑客相关》

    举报/认领

    0条评论

    发表

    请遵守用户 评论公约

    查看更多评论
    类似文章 更多
    热门阅读 换一换

    相关内容推荐

    北京网站制作张卫移动微网站制作流程爬墙网站视频制作律师求职网站制作网站制作视屏插入网站制作开题报告范文奥迪网站制作书签东平网站制作哪家好坑梓平台网站制作免费微圈网站制作教学计划模板网站制作流行音乐网站制作表格制作网站要投资多少钱域名网站制作表格评论网站免费制作大闹天宫电影网站制作海口自适应网站制作沈阳网站制作手工餐饮制作网站有哪些永州微网站制作费用起跑线早教网站制作桓台外贸响应式网站制作化工网站制作开发网站html原型模板制作唐山制作网站公司有哪些南昌公司网站制作公司全景网站视频制作专利图表制作网站淘宝网站在制作五月天网站视频制作航空公司网站怎么制作雅安旅游网站制作外包小网站广告怎么制作网站优化推广制作大连模板网站制作价格网页作业如何制作网站网站制作什么软件好功能网站制作的费用岳阳网站制作总部游戏网站制作的实训报告福田区网站制作费用情况如何制作小公司网站重阳节网站制作舟山网站制作哪家强制作一个公司网站的费用关于汉服制作的网站自己制作文字头像的网站焦作专业网站制作dw网站制作素材网站制作常用工具金融产品网站制作泰州网站制作怎样商铺图制作网站铅笔怎么制作网站电子请帖在哪个网站制作好看教学网站制作学习心得大理网站制作电话号码订票网站制作表格自己制作交易网站ins店铺网站制作免费公众号封面图制作网站书籍网站制作雪糕平湖姜堰高端网站制作如何收费网站策划制作公司 北京制作网站与公司的合作合同批发行业网站制作义工网站制作合川多语言网站制作制作个人网站的思路网站制作创意想法模型制作著名网站保定网站制作推广南充网站制作报价餐厅网站制作流程简单描述一下网站的制作流程视频记录制作网站网站制作新技术肇庆市行业网站制作报价邵阳家电维修网站制作南岗网站制作地址舟山南昌网站制作哪个公司好廊坊网站制作雪糕象山徐州有哪些制作网站的公司制作网站前端与后端的详细步骤淅川租房网站制作制作好网站怎么发布到百度网站数据用什么制作韶关定制网站制作永康市网站制作闵行网站建设制作公司云南网站制作方案钟祥网站改版制作汉中企业网站制作企业委托网站制作费用的分录高唐网站制作服务商个人做企业网站制作要多少钱淘宝网站如何制作莱芜网站制作公司被禁电影网站制作潍坊懂企网站制作制作游戏网站的公司果敢网站制作贴纸易胜博网站制作美食制作视频网站如何获取资源日照正规网站设计制作网页制作的素材网站许昌网站制作建设佛山网站制作电话程序员制作违规网站的处罚立绘制作 网站高清视频美食制作网站绍兴怎么制作一个app网站服装网站制作手工婚恋网站制作奶茶免费制作公章的网站昆山网站制作昆山网站建设表白墙网站制作源码网站建设与网页制作毕业论文ps网站制作模版web前端制作网站的过程江门网站app制作张掖网站设计制作制作网站有手机端制作网站费用计入广告费网站微信公众号制作软件网站制作控标方法制作律师函网站企业网站制作加盟织梦网站制作app公司网站制作北京那家公司好科讯怎么制作网站专题中山做网站制作物流网站制作奶茶怎样制作网站需要专业人员男士网站制作书签艺术印章在线制作网站思维导图制作网站思路制作公众号网站有哪些用钢笔写名字制作网站制作网站需要学习什么无锡网站制作壁纸教程单页网站制作 在线 支付网站稿件标题制作分为猪猪网站制作贴纸杭州企业网站制作联系驰牛科技专业的网站设计制作公司一步步制作网站的巩义租房网站制作开县小程序网站制作免费营销单页制作网站农牧业免费制作网站亳州定制网站设计制作公司清溪家具网站制作专门制作字体的网站潍坊网站制作优化拖拽制作响应式网站网站制作可信乐云seo十年厦门网站制作费的公司网站地图有几种制作形式北京网站免费制作邮箱网站制作视频大连图文制作网站发型网站制作手工中山网站建设制作价格有什么关于服装制作的网站制作钓鱼网站需要什么软件网站logo制作格式的抗战纪录片网站制作网站广告制作尺寸手机怎么制作微电影网站庄行企业网站制作个人怎么制作商城网站卖东西商检局网站制作书签招聘海报制作软网站网站制作设计专业选择长安甘泉网站制作商机网站制作书签全屏网站制作医学网站制作蛋糕门头沟网站制作开发公司儿童手工制作爱好网站龙岗便宜的网站制作比较好的网站 分享给微信 功能制作qq头像在线制作网站自选制作旅游网站的需求分析恋与制作人去内无遮挡网站日文网站制作头像东方财经网站制作起泡地理网站制作蛋糕自己如何制作方格网站制作网站有什么好的方法小说网站的设计与制作论文制作厚涂的网站网站谷歌地图制作高埗互联网网站制作在线推广崂山区制作网站公司网站设计制作全网优惠大城网站建设制作网站制作优化hv丷云速捷济南加盟网站制作公司

    合作伙伴

    深圳网站优化推广公司

    龙岗网络公司
    深圳网站优化
    龙岗网站建设
    坪山网站建设
    百度标王推广
    天下网标王
    SEO优化按天计费
    SEO按天计费系统