反间谍软件之旅(一)

导读:何为“间谍”?《说文解字》解释道:“谍,军中反间也。”使用反间计当然需要三寸不烂之舌,这是“谍”的本义。“间”怎么会跟“谍”联系起来了呢?“间”本来写作“闲”,清代文字训诂学家段玉裁为《说文解字》所作的注释说:“开门月入,门有缝而月光可入。”因此“间”的本义就是门缝,泛指缝隙,有缝隙就可以使用反间计了,故称“间谍”。

间谍软件是一种能够在用户不知情的情况下,在其电脑上安装后门、收集用户信息的软件。近日研究员在GooglePlay上发现了首款基于AhMyth(安卓远控木马工具)的间谍软件。这款恶意软件名为RBMusic,是一款为Balouchi音乐爱好者提供流媒体广播的应用程序。但是在后台,这款应用会监视用户的行为和数据。窃取用户联系人信息、短信信息、收集存储在设备上的文件以及利用设备发送短信。

1.样本信息

MD5ef9346f9cd1d535622126ebaa1008769

程序名称:RBmusic

程序包名:com.radiobalouch.rbmusic

恶意行为:该间谍软件通过C&C通信,根据控制端发送的不同指令,执行窃取用户联系人信息、短信信息、收集存储在设备上的文件以及利用设备发送短信恶意行为。并在用户注册登录时窃取用户登录凭证。

 

2.间谍软件远控框架

客户端通过解析控制端发送的指令order执行获取联系人信息、短信信息、文件信息以及发送短信等不同操作并将收集的信息发送至控制端:http://ra***ch.com。

图2-1间谍软件远控框架

 

3.病毒技术原理分析

3.1权限管理

程序开始运行申请访问设备照片、媒体内容、文件权限,申请拨打和管理电话权限,申请访问通讯录权限。如果用户不给予相应权限,程序再次申请。

图3-1 权限管理

如果用户已授予读取联系人权限,则获取联系人列表信息并发送至服务器:http://ra***ch.com/Debugging/process/process/resolving/system/ReadAllTracks.php

图3-2 获取联系人信息并发送

如果程序申请的所有权限已被授予,则启动主界面程序。程序在申请权限之前启动了ServiceM服务,该服务用于建立控制端与服务器通信,客户端根据接收的控制端指令执行不同操作来获取用户数据。

图3-3 启动ServiceM服务

ServiceM服务内部通过在catch内调用startAsync()函数实现实时监听连接。

图3-4 控制端与客户端通信

3.2远程控制

应用通过在程序启动时启动服务ServiceM和通过在开机广播MyReceiver中启动服务ServiceM来与控制端http://ra***ch.com建立通信。

图3-5 开机启动广播MyReceiver

初始化socket,配置参数,监听连接。

图3-6 Socket初始化、监听连接

当控制端与客户端已建立连接,控制端通过发送的不同指令收集用户联系人信息、短信信息、文件信息并发送短信。

图3-7 远控主体程序

解析指令order,当getString(order)==x0000cn时,获取联系人信息。

图3-8 获取联系人信息

解析指令order,当getString(order).getString(extra)==ls时,获取用户短信信息。

图3-9 获取短信信息

解析指令order,当getString(order).getString(extra)==ls时,遍历指定文件file=getString(order).getString(path)目录、获取文件名称、路径等信息。

图3-10 获取文件信息

解析指令order,当getString(order).getString(extra)==dl时,下载指定文件file=getString(order).getString(path)。

图3-11 下载指定文件

解析指令order,当getString(order).getString(extra)==sendSMS时,发送短信,将content=getString(order).getString(sms)短信内容发送至指定号码phonenumber=getString(order).getString(to)。

图3-12 发送短信给指定联系人

将获取的联系人信息、文件信息、短信信息发送至控制端http://ra***ch.com。

图3-13 发送获取的数据

3.3 获取凭证

获取用户登陆时输入的邮箱账号和密码信息,并上传至服务器:

http://ra***ch.com/Debugging/process/process/resolving/system/login.php。

图3-14 获取用户登录凭证并发送

获取用户注册时输入的邮箱账号、密码及姓名信息,并发送至服务器:

http://ra***ch.com/Debugging/process/process/resolving/system/signup.php

图3-15 获取用户注册信息并发送

任何“注册”都是没有意义的,因为任何输入都会将用户带入“登录”状态。由此可以看出应用添加注册登录功能仅仅为了获取受害者登录凭证。

3.4 应用传播

应用具有分享app给通讯录联系人的功能,当用户点击分享app时,将带有应用下载地址链接的短信发送给联系人。

图3-16 通过联系人传播应用

发送链接:http://play.google.com/store/apps/details?id=com.radiobalouch.rbmusic给通讯录联系人。

图3-17 发送短信链接

 

4.AhMyth框架介绍

AhMyth是一款安卓远控木马工具。它有两个组件:一个是服务器端,一个是客户端。

图3-18 AhMyth工具文件结构

客户端主要包含电话管理器、文件管理器、短信管理器、联系人管理器,其中ConnectionManager主要用于解析控制端发送的指令,并根据解析结果调用不同管理器。

图3-19 客户端主体类

将AhMyth框架集成到apk中,输入监听端口,等待主机上线。

图3-20 AhMyth工具监听端口

通过控制台可以实施Camera、Location、contacts、SMS、CallsLogs等各种远控操作。

图3-21 AhMyth工具控制台

 

安全建议

  • 让你的设备保持最新,最好将它们设置为自动补丁和更新,这样即使你不是最熟悉安全的用户,你也能得到保护。
  • 坚持去正规应用商店下载软件,避免从论坛等下载软件,可以有效的减少该类病毒的侵害。关注”暗影实验室”公众号,获取最新实时移动安全状态,避免给您造成损失和危害。
  • 安装好杀毒软件,能有效的识别已知的病毒。

    更多精彩文章请关注我们的微信公众号 ↓

    反间谍之旅001
 
(完)