安卓新型恶意木马Xavier的发展过程和技术分析

近日,一个名为Xavier的安卓系统广告库木马被发现,它会在用户不知情的情况下窃取和泄露用户的信息,同时还可以在root过的安卓设备上静默安装任何APK。

据统计,目前已有超过800个嵌入该广告库的应用程序,这些应用程序已经被用户下载数百次。下载量最大的是越南、菲律宾、印度尼西亚这些东南亚国家,美国和欧洲的下载量则相对较小。

与其他广告库木马不同的是,它将从远程服务器下载代码并加载执行的恶意行为嵌入到自身,同时使用数据加密和仿真程序检测等方法来保护自己不被查杀。

由于该木马具备一种能逃避静态和动态分析的自我保护机制,所以它的窃密行为很难被监测到。此外,Xavier还可以下载并执行其它恶意代码,这一点意味着它具有更大的风险。Xavier的具体行为取决于下载的代码和代码中的网址,可被指定服务器远程设置。

该木马的发展变化过程如下图:

Xavier是AdDown木马家族的一员,该系列木马已经在互联网中存在超过两年。其第一个版本称为joymobile,于2015年年初被发现。此变体已经可以执行远程代码。

除了收集和泄露用户信息之外,这一木马还能悄无声息地在已经root过的安卓设备中安装其他APK。

该木马会以明文形式与命令和控制(C&C)服务器进行通信,但所有的常量字符串都在代码中被加密过。

AdDown家族出现的第二个变种叫nativemob。与joymobile相比,我们可以发现nativemob的代码结构进行了调整和优化。同时,nativemob还增加了一些新的功能,主要是行为控制和实用工具。虽然这一变种没有使用静默方式安装应用,但提示用户确认的应用安装行为仍然存在。

在将数据发送到C&C服务器之前,它收集了比joymobile更多的用户信息,并使用base64的方式对这些信息进行了加密。

接下来的一个变种版本出现在2016年1月,这一变种调整了字符串加密算法,对从远程服务器下载的代码进行加密,同时还添加了一些反射调用。

16年2月,它对设置模块做了若干更新,由于某种原因又移除了数据加密的部分。

在接下来的几个月中进行了进一步更新,然而这些更新都没有太大的变动。

Xavier的技术分析

2016年9月,被称为Xavier的新变种被发现。该变种与此前版本相比,具有更精简的代码。Xavier删除了apk安装和root检查,同时增加了数据加密的茶叶算法(TEA algorithm)。

很快,Xavier的更新版本增加了一种可以逃脱动态检测的机制。

Xavier的结构如下:

一旦它被加载,Xavier将从C&C服务器https[:]//api-restlet[.]com/services/v5/中获取经加密后的初始配置。

服务器同样会对响应数据进行加密:

在解密后,我们可以发现其实是一个Json文件:

  • V代表SDK版本;
  • L代表SDK地址;
  • G代表SDK标识号;
  • S代表SDK设置;
  • Au与其配置有关。

Xavier随后会根据其配置文件,从http[:]//cloud[.]api-restlet[.]com/modules/lib[.]zip下载所谓的SDK文件。然而我们发现,lib.zip并非一个完整的zip文件。

在获取到lib.zip后,Xavier将“0x50 0x4B”添加在lib.zip的最前,并将其改名为xavier.zip。此时的文件就变成了完整的zip文件。

修改前的lib.zip

修改后的xavier.zip

Xavier.zip包含一个可供Xavier加载和调用的classes.dex文件。

这一dex文件会从用户的设备中收集一些信息, 并加密并传输到远程服务器 https[:]//api-restlet[.]com/services/v5/rD中,收集信息内容如下:

  • 制造商
  • 来源
  • SIM卡所属国家
  • 产品名称
  • 生产商ID
  • SIM卡运营商
  • 服务ID
  • 系统语言
  • 分辨率
  • 型号
  • 操作系统版本
  • 设备名称
  • 设备ID
  • 已安装的APP
  • 安卓ID
  • 邮箱地址

Xavier还会通过检测系统中运行的进程,使其攻击行为具有隐蔽性,从而逃脱动态检测。

它检查设备的产品名称、制造商、设备品牌、设备名称、设备模块、硬件名称或指纹是否包含以下字符串:

  • vbox86p
  • Genymotion
  • generic/google_sdk/generic
  • generic_x86/sdk_x86/generic_x86
  • com.google.market
  • Droid4X
  • generic_x86
  • ttVM_Hdragon
  • generic/sdk/generic
  • google_sdk
  • generic
  • vbox86
  • ttVM_x86
  • MIT
  • Andy
  • window
  • unknown
  • goldfish
  • sdk_x86
  • generic_x86_64
  • phone
  • TTVM
  • sdk_google
  • Android SDK built for x86
  • sdk
  • Android SDK built for x86_64
  • direct
  • com.google
  • XavierMobile
  • TiantianVM
  • android_id
  • generic/vbox86p/vbox86p
  • com.google.vending
  • nox

Xavier还通过扫描用户的邮件地址来隐藏其行为,会检查用户的电子邮件地址是否包含下列字符串:

  • pltest
  • @facebook.com
  • tester
  • @google.com
  • review
  • playlead
  • agotschin
  • gptest
  • rxwave 15
  • rxplay
  • admob
  • gplay
  • adsense
  • gtwave
  • rxtest
  • wear.review
  • qaplay
  • test
  • rxtester
  • playtestwave

为了进一步避免被发现,Xavier具有如下行为:

1) 对所有常量字符串进行加密,使静态检测和手动分析更加困难。

2) 通过https进行网络数据传输, 防止其通信被捕获,同时对数据也进行加密。

3)使用大量的反射调用方法, 对类名和方法名进行加密。

4)根据运行环境,隐藏其行为。

这是Google Play中一个被嵌入了Xavier广告库木马的应用程序:

防范建议:

避免像Xavier这样的恶意软件,最简单的方法是:不下载任何来源不明的APP,包括在诸如Google Play这样正规的应用商城中的APP。

此外,还应该留意应用商城中其他用户对于某个APP的评论,如果有人提及某个APP表现出了可疑行为,那就应该特别注意。

此外,需要及时更新移动设备的系统,及时修复已知漏洞。假如自己的手机出现了异常状况,需要及时寻求手机售后服务人员或安全人士进行处理。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-06-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏坚毅的PHP

zookeeper学习系列:四、Paxos算法和zookeeper的关系

一、问题起源 淘宝搜索的博客 http://www.searchtb.com/2011/01/zookeeper-research.html  提到Paxos是...

43540
来自专栏星流全栈

React + Redux 最佳实践

31550
来自专栏知识分享

STM32采集电阻触摸贴膜

公司的项目用电阻屏,触摸的时候发现获取的位置会漂,后来自己发现是由于压力的问题....如果亲们用电阻屏发现触摸的位置有问题,可以看一下这篇文章,,先测量触摸的压...

31760
来自专栏LET

谈谈3D Tiles(1):渲染调度

46860
来自专栏FreeBuf

无线键盘易被监听,不知不觉导致信息泄露

在用户使用计算机时,键盘是信息输入的主要媒介,键盘输入包含大量的私人机密信息,包括帐号密码等,所以键盘侦听被各种攻击者所大量采用,成为一种普遍但是破坏力强大的攻...

32070
来自专栏FreeBuf

一次XorDDos变种样本的分析实战记录(附工具下载)

*本文原创作者:熊猫正正 ,本文属FreeBuf原创奖励计划,未经许可禁止转载 ? 一、起因 上周五晚上,前同事丢给我一个样本,让我帮他分析一下,周未有事也没时...

50070
来自专栏吉浦迅科技

在NVIDIA Jetson TX2上编译背景建模库(BGSLibrary)

BGSLibrary,A Background Subtraction Library,包含了几十种背景建模算法,可以显示输入视频/图像、基于背景建模得到的前景...

18160
来自专栏恰童鞋骚年

操作系统核心原理-3.进程原理(中):进程调度

PS:在多进程并发的环境里,虽然从概念上看,有多个进程在同时执行,但在单个CPU下,在任何时刻只能有一个进程处于执行状态,而其他进程则处于非执行状态。那么问题来...

11350
来自专栏崔庆才的专栏

爬虫代理哪家强?十大付费代理详细对比评测出炉!

前言 随着大数据时代的到来,爬虫已经成了获取数据的必不可少的方式,做过爬虫的想必都深有体会,爬取的时候莫名其妙 IP 就被网站封掉了,毕竟各大网站也不想自己的...

871120
来自专栏Python爬虫与算法进阶

Cookies池的后续解决方案

在上一篇文章: 从cookie池搭建说起,简单说明了自己对于该网站的想法,在经过两天的测试与研究之后,我有了更多的想法.

12810

扫码关注云+社区

领取腾讯云代金券