安卓变僵尸:新型病毒“维京部落”分析

移动开发
僵尸网络是一组由黑客控制的设备,设备的用户毫不知情。根据设备的计算能力不同,“僵尸”能做各种各样的事。僵尸网络越大,能够做的事越多。

Check Point研究团队在Google Play Store发现了一款新的Android病毒,并取名为Viking Horde(维京部落)。这款病毒能够执行广告欺诈,还能进行DDoS攻击、发送垃圾信息等。至少已经有5款应用通过了Google Play的病毒扫描。

 

无论是在已root或是未root的设备上,Viking Horde都会创建一个僵尸网络,用经过代理的IP地址伪装广告点击,这样攻击者就能赚钱。僵尸网络是一组由黑客控制的设备,设备的用户毫不知情。根据设备的计算能力不同,“僵尸”能做各种各样的事。僵尸网络越大,能够做的事越多。

 

在已root的设备上,Viking Horde能够传输额外的恶意payload,从而远程执行任意代码,它还会利用root权限使得自身难以删除。

 

Horde介绍

 

[[166304]]

 

Viking Horde系列病毒中下载量最大的就是Viking Jump应用,自4月15日上传到GooglePlay,该应用已经有50,000-100,000的下载量了。有些地方的市场中,Viking Jump还登上了Google Play免费应用排行榜。

 

 

 

提交最早的应用是Wi-Fi Plus,于3月29日提交。其他的应用包括Memory Booster, Parrot Copter, 和Simple 2048。所有感染Viking Horde的应用的评分都很低,研究团队猜测可能是因为用户注意到了它奇怪的行为,例如请求root权限。

 

 

攻击者们创建的僵尸网络散布在全世界各个国家,Check Point研究团队通过一个C&C服务器收集的数据获得了其受害者的分布情况。

 

 

来源:Check Point移动威胁研究团队,2016年5月6日

 

Viking Horde工作原理

 

研究Viking Horde代码和C&C服务器后,研究人员画出了流程图。

 

 

1.病毒首先从Google Play上下载。当应用启动游戏时,它会在应用的目录外面安装几个组件。这几个组件的名字都被伪装成系统相关的名字,如core.bin,clib.so, android.bin 和 update.bin。如果设备没有root,组件就会被安装到SD卡上,如果已经root了,就会安装到root/data。这些文件中的一个是用来在各组件交换信息的。另一个包含所有生成的组件名称,方便其他组件访问它们。

 

2.接下来病毒会检查设备是否已经root:

 

如果是,病毒就会启动另外两个组件:

 

app_exec.实现与服务器的通讯协议

app_exec_watch_dog实现更新和系统驻足。Watchdog 会监控app_exec 进程,如果有必要会重启。


 

 

如果设备没有被root,恶意软件就会以共享库加载app_exec文件,并且通过JNI(Java Native Interface,能够允许Java代码运行本地二进制文件)来调用它的函数。

无论哪种情况下,一旦app_exec应用被安装,它就会与C&C服务器建立TCP连接并且开始通信。通信内容包含下列指令。

Ping。每10秒应用程序就会给服务器发送5个字节。同样,服务器会回复5个字节。

更新设备信息:将剩余电量、连接类型和手机号码发送给服务器。


 

 

3.下一步就是通过匿名代理连接执行恶意功能。C&C服务器会发送一个“create_proxy”命令,其中会有两个IP地址和端口作为参数。这两个IP地址就会被用来打开两个sockets连接,一个给远程服务器,一个给远程目标。然后它会读取第一个socket收到的数据,向目标主机传输。病毒的开发者可以借此隐藏他的IP地址。

 

僵尸网络活动

 

即便设备没有被root,Viking Horde还是会把它变成能够发送接收信息的代理。以下就是一个从攻击者的C&C服务器上看到的感染的设备。

 

远程端是代理的IP,而socks IP是C&C服务器的IP。C&C服务器包含设备的一些信息,包括操作系统版本、电池状态和GPS坐标。在本例中,设备位于美国,运营商是T-Mobile。

 

 

Viking C&C服务器

 

僵尸网络由很多台C&C服务器控制,每台都管理者几百台的设备。恶意软件的首要目标是劫持设备,然后用它模拟点击网站上的广告来赚钱。恶意软件需要代理来绕过广告商的反欺诈机制。

有些用户评论还说这款应用会发送收费短信,如截图所示。这个僵尸网络能用以各种用途,包括DDoS攻击、发送垃圾邮件和发送病毒。

 

 

病毒的持续性

 

病毒使用多种方法驻足在系统中。首先,Viking Horde安装的那些组件使用了跟系统有关的名字,使得它们很难定位删除。

 

如果设备经过root,有两项机制又可以用来防止删除:

 

app_exec组件会监控主程序是否存在。如果用户卸载了主程序,app_exec会解密一个名为com.android.security的组件并且静默安装。这个组件是隐藏的,重启之后执行。

 

watchdog组件会安装app_exec组件的更新。如果app_exec被删除,watchdog会从更新目录重新安装它。

 

显然,有些用户还注意到了这样的活动:

 

 

针对root设备的额外组件

 

可能最危险的功能就是更新机制:app_exec从服务器下载最新的二进制文件,然后以app_exec_update的名字储存在/data目录。

 

Watchdog会周期性地检查更新文件是否存在,并且用它替换app_exec。这就意味着VikingHorde可以根据服务器的命令下载新的二进制文件。watchdog组件会用它替换掉应用。这样的话这台设备上就可以下载执行任何远程代码。

 

附录 1: app 包名

  1. com.Jump.vikingJump  
  2. com.esoft.wifiplus  
  3. com.fa.simple2048  
  4. com.android.wifiman  
  5. Com.g.o.speed.memboost  
  6. Com.f.a.android.flyingcopters 

 

附录2: C&C 服务器列表

  1. www[.]adautoexchange[.]com  
  2. www[.]adexchng[.]com  
  3. www[.]adexchnge[.]com  
  4. www[.]adexchangetech[.]com 

 

附录3: 感染的可执行文件的SHA256

  1. 85e6d5b3569e5b22a16245215a2f31df1ea3a1eb4d53b4c286a6ad2a46517b0c  
  2. 254c1f16c8aa4c4c033e925b629d9a74ccb76ebf76204df7807b84a593f38dc0  
  3. ebfef80c85264250b0e413f04d2fbf9e66f0e6fd6b955e281dba70d536139619  
  4. 10d9fdbe9ae31a290575263db76a56a601301f2c2089ac9d2581c9289a24998a  
  5. a13abb024863dc770f7e3e5710435899d221400a1b405a8dd9fd12f62c4971de  
  6. 1dd08afbf8a9e5f101f7ea4550602c40d1050517abfff11aaeb9a90e1b2caea1  
  7. e284a7329066e171c88c98be9118b2dce4e121b98aa418ae6232eaf5fd3ad521 

 

责任编辑:陈琳 来源: FreeBuf
相关推荐

2014-08-18 10:34:40

僵尸病毒NewGOZ宙斯病毒

2016-09-09 09:26:42

2010-08-31 13:05:25

2009-04-24 10:18:39

2012-08-22 16:09:35

2010-08-31 12:45:36

2012-12-21 15:17:50

Android

2011-07-25 17:16:05

2021-02-19 09:23:37

僵尸网络DDoS攻击安卓设备

2020-02-06 12:37:59

新型冠状病毒勒索病毒病毒

2020-08-31 07:00:00

Android安卓日志分析

2010-11-09 09:44:23

2024-08-08 16:23:06

2012-05-22 11:33:15

2010-10-12 16:14:37

蠕虫病毒计算机安全

2013-12-23 10:35:01

2020-02-25 16:54:21

数据分析Python疫情

2018-08-14 09:00:00

2021-09-29 15:35:49

木马ERMAC病毒

2013-07-30 10:01:10

点赞
收藏

51CTO技术栈公众号