专栏首页FreeBuf安卓新型恶意木马Xavier的发展过程和技术分析

安卓新型恶意木马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),作者:eridanus96

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 自动化沙箱打造之“关于XShell我有话说”

    最近XShell很是火了一把,每个安全厂商都在发通告,都在分析,反正就是百花齐放,在这里我想做一个总结,从前些时间的勒索软件到今天的xshell,其实我们可以看...

    FB客服
  • Lanproxy路径遍历漏洞复现

    lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议,可用于访问内网网站、本地支付接口调试、ss...

    FB客服
  • 基于Bash Shell的一个审计脚本

    最近在给学生讲Linux下的常规命令的时候,有学生问过,windows下,无论是检查日志,还是扫描webshell,都有现成的工具使用,毕竟可视化,干啥也方便,...

    FB客服
  • iOS开发CoreGraphics核心图形框架之七——图像处理

        位图图像数据实际上一个像素阵列,其中每个像素代表了图像中的一个点。位图实际上只支持矩形区域的渲染,但是使用透明技术可以实现任意形状图像的渲染。开发者也可...

    珲少
  • ElasticSearch + Logstash + Kibana 搭建笔记

    针对文件描述符,调成 65536 ulimit -n 65536,如果提示没有权限,则可以在用户的 .bash_profile 中增加一行,退出用户重新登陆就可...

    大江小浪
  • Prometheus系列 | 监控elasticsearch

    启动成功后,可以访问 http://192.168.50.153:9109/metrics ,看抓取的信息

    SY小站
  • ELK Stack 日志系统搭建

    ELK Stack是什么? ELK Stack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分析场合,三...

    小小科
  • 如何构建识别图像中字符的自动程序?一文解读OCR与HTR

    光学字符识别和手写文本识别是人工智能领域里非常经典的问题。OCR 很简单,就是将文档照片或场景照片转换为机器编码的文本;而 HTR 就是对手写文本进行同样的操作...

    机器之心
  • 微软史上最成功的操作系统是哪个版本?

    到现在为止个人还是觉得微软最成功的的操作系统还是XP系统,现在很多人还在使用着这个版本,只不过由于软件的支持力度问题,很多软件已经运行不起来了,说到微软的操作系...

    程序员互动联盟
  • 蛋疼的ElasticSearch(一)之安装ElasticSearch

    用户2032165

扫码关注云+社区

领取腾讯云代金券