zoukankan      html  css  js  c++  java
  • “Xavier”安卓木马分析:可静默收集数据并远程代码执行

    趋势科技研究发现了一款Android恶意木马——Xavier。在谷歌Play应用市场中,超过800款Android应用感染了该恶意木马,影响数百万Android用户。感染的应用范围覆盖图片编辑器,墙纸和铃声转换器等。受感染的用户绝大多数来自亚洲东南部国家,如越南、菲律宾和印度尼西亚,美国和欧洲的感染人数较少。

    对比此前恶意广告木马,Xavier的功能及特征更为复杂。首先他具备远程下载恶意代码并执行的能力。其次,它通过使用诸如字符串加密,Internet数据加密和模拟器检测等方法来保护自己不被检测到。

    Xavier窃取用户数据的行为很难被发现,它有一套自我保护机制,来躲避静态和动态的检测分析。此外,Xavier还具有下载和执行其他恶意代码的能力,使它的威胁性大大增加。

    Xavie进化史

    joymobile

    Xavier是恶意广告下载家族的成员之一,它的存在已有2年时间。第一个版本被称为joymobile,出现在2015年年初。joymobile这个版本已经具备执行远程代码的能力。

    除了收集和泄露用户信息,它还可以安装其他应用,并在设备root的情况下实现静默安装。

    它通过远程命令和C&C服务器来发送和接受信息,并对这些信息没有加密,但是对所有的常量字符串都进行了加密。

    nativemob

    第二个版本命名为nativemob,对比joymobile我们可以发现nativemob的代码重构了,并增加了一些新特新。主要是广告行为和实用程序。虽然没有静默安装,但是需要用户确认安装的程序仍然存在。

    它比第一个版本收集更多的用户信息,并通过base64编码发送这些信息到C&C服务器。

    nativemob的下一个变种出现在2016年1月左右,它缩减了字符串加密算法,加密了从远程服务器下载的代码,并添加了一些反射调用。

    紧接着在2月份,它更新了各方面的广告模块设置,并出于某种原因删除了数据加密。

    在接下来的几个月里进行了进一步更新。但是这些更新对于广告库没有进行重大更改。

    Xavier技术分析

    Xavier的变体出现在2016年9月,它的代码更加精简。第一个版本重去除了APK安装和root校验,但是加入了TEA加密算法。

    很快它添加了避免动态检测的机制,其结构如下:

    一旦加载Xavier,它将从C&C服务器hxxps://api-restlet[.]com/services/v5/得到初始化配置,并使其加密。

    服务器还对响应数据进行加密:

    解密后,我们可以看到它实际上是一个json文件:

    V代表SDK版本

    L代表SDK URL地址

    G代表SDK Sid

    S代表 SDK设置

    Au与ad配置相关

    Xavier将从hxxp://cloud[.]api-restlet[.]com/modules/lib[.]zip下载SDK并读取配置。但是,lib.zip不是一个完整的压缩包。

    在得到lib.zip压缩包之后,Xavier在压缩包里加入0x50 0x4B头,并把它命名为xavier.zip的有效文件。

    加入之前

    加入之后

    Xavier.zip包含加载和调用它的classes.dex文件。

    这个dex文件将收集用户的的设备信息,并加密传输到远程服务器hxxps://api-restlet[.]com/services/v5/rD

    如邮箱地址,设备ID,模型,操作系统版本,国家,手机制造商,SIM卡运营商,安装的应用程序等信息。

     

     

    为了躲避动态检测,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、它会根据运行环境隐藏其行为。下面是谷歌播放器的示例,嵌入了一个Xavier恶意广告库:

     

     

     

    保护措施

    1、提防可疑和陌生的应用软件,即便是从官方应用市场下载的。尽量下载知名的应用软件。

    2、在下载应用程序之前,查看应用程序需要授权的权限,并了解其他用户的评论。

    3、建议在手机上安装安全软件,可以有效检测并阻止恶意软件,及时升级系统和app的版本。

     

    * 本文翻译自trendmicro,更多安全类热点资讯及知识分享,请持续关注阿里聚安全博客

     

  • 相关阅读:
    libiconv2.dll
    windows下安装,配置gcc编译器
    STM32之DMA
    keilkill.bat
    STM32之系统滴答定时器
    STM32库函数开发使用总结
    STM32之串口通信
    yocto系统介绍
    fork子进程僵尸问题及解决方案
    shell实现的守护进程
  • 原文地址:https://www.cnblogs.com/alisecurity/p/7016021.html
Copyright © 2011-2022 走看看