深度:针对超强手机木马DenDroid的分析与测试

深度:针对超强手机木马DenDroid的分析与测试

关于Dendroid这款手机木马FreeBuf上曾有介绍门铁克发现名为Dendroid的超强手机木马》,那么今天我们就来研究下这款号称需要300美元的手机远控木马。本文最后会提供相关工具包,有兴趣的同学可以下载哦。

FreeBuf科普:手机木马Dendroid

赛门铁克的研究人员就在手机移动领域发现了一种新的名为Dendroid木马,可以轻松实现对手机远程恶意操控。而在此前赛门铁克发现了一个名为AndroidRAT的android远程管理软件被认为是第一个恶意绑定软件。然而这款最新发现的运行在http上的Dendroid具有更强功能。

Dendroid能够生成恶意apk,具有如下远程指令功能:

可以删除通话记录  可打开网页  拨打任意号码  通话记录、短信窃取  短信拦截  上传图片,视频  打开任意应用程序  做DDoS攻击的节点(会大量消耗上网流量或令手机卡机、死机)  可以改变命令和控制服务器

一、服务端web控制台安装

服务端为PHP+Mysql,服务器环境好办,phpnow、xampp等服务器套装可迅速搞定,服务端主要用来记录受控手机的相关信息,并对手机发送相关指令。服务端包解开如下:

深度:针对超强手机木马DenDroid的分析与测试

搭建好服务器环境(这里省去步骤),记录下服务端的IP或域名,打开reg.php,修改如下地方:

深度:针对超强手机木马DenDroid的分析与测试

改完后把以上服务端php代码放置到web根目录,然后直接访问http://服务器地址或域名/setup/,即可开始安装部署:

深度:针对超强手机木马DenDroid的分析与测试

点击begin setup即可进入服务器配置环节,

深度:针对超强手机木马DenDroid的分析与测试

可以看到,该页面需要设定数据库的相关信息,在操作之前我们先部署好数据库,这里我们使用phpMyAdmin创建数据库dendroid:

深度:针对超强手机木马DenDroid的分析与测试

打开包里的SQL.sql,复制并导入到dendroid:

深度:针对超强手机木马DenDroid的分析与测试

 即可看到表创建成功:

深度:针对超强手机木马DenDroid的分析与测试

然后再回到服务器配置页面Step1,输入好相关信息后,即可完成相关部署:

深度:针对超强手机木马DenDroid的分析与测试

点击Finish Setup,即可进入服务端管理台登录界面,输入配置好的用户名和密码即可登陆控制台:

深度:针对超强手机木马DenDroid的分析与测试

注:dendroid调用的是google地图API,如要正常显示需使用代理。

二、客户端APK编译

下载Android SDK开发包,导入压缩包中DendroidApk:

深度:针对超强手机木马DenDroid的分析与测试

导入之后如果提示缺少API包可点window->AndroidSDK Manager下载对应的包:

深度:针对超强手机木马DenDroid的分析与测试

记得更新时同样要使用代理,在Tools选项里设置(谁让咱天朝把google墙了)。

导入完毕后展开src,可以看到服务端的主要功能模块:

深度:针对超强手机木马DenDroid的分析与测试

从命名上看能知道各功能模块的大致作用,这里我们只修改下连接服务器的参数部分,确保编好后的APK能连上我们刚才的服务端,打开MyService.java,修改如下:

深度:针对超强手机木马DenDroid的分析与测试

上面三处均为Base64编码,注意encodePassword部分默认为‘password’的base64编码,如果修改,则需要到服务端修改get.php、get-functions.php、new-upload.php、upload-pictures.php文件中的$_GET'Password']部分,如图:

深度:针对超强手机木马DenDroid的分析与测试

修改好后再导出:

深度:针对超强手机木马DenDroid的分析与测试

生成成功:

深度:针对超强手机木马DenDroid的分析与测试

三、上传手机,安装执行

安装过程中需要给予该APK一些必要的权限,例如摄像头、定位功能开启权限,方便测试。程序名称和图标在编译前可自行修改。Android版本为4.4.2。

深度:针对超强手机木马DenDroid的分析与测试        

测试环境下控制台机器和手机在同一局域网内(移动数据下建议3G或4G环境)。执行安装好后的APP,会看到定位被调用:

 深度:针对超强手机木马DenDroid的分析与测试

这时,控制台里手机也上线了:

深度:针对超强手机木马DenDroid的分析与测试

四、主要控制功能介绍

通过控制台我们可以实现控制手机是否静音、亮屏、拦截短信、自动开启后台录音、拍照、视频记录,获取手机短信内容、联系人信息,打开指定app等等功能。 

受控手机(安装了恶意APK的客户端)和服务端(WEB控制台)的执行示意图如下:

深度:针对超强手机木马DenDroid的分析与测试

下面我们通过手机上线和短信截获功能(其它功能原理类似)来介绍上图的具体实现情况:

1.上线

1) 客户端中通过请求控制台的get.php 来实现受控主机的上线和状态刷新。

深度:针对超强手机木马DenDroid的分析与测试

2) 获取物理标识码:

深度:针对超强手机木马DenDroid的分析与测试

3)构造向服务端的请求URL

深度:针对超强手机木马DenDroid的分析与测试

4)Get.php中处理GET方式发送过来的参数值,并通过updateSlave处理这些值(updateSlave在functions.php中定义):

深度:针对超强手机木马DenDroid的分析与测试

5)functions.php中通过判断bot表中是否有记录过该手机来决定是更新还是插入手机属性信息:

深度:针对超强手机木马DenDroid的分析与测试

6) 控制页显示结果:

深度:针对超强手机木马DenDroid的分析与测试

2. 短信拦截

1) 点击如图按钮:

深度:针对超强手机木马DenDroid的分析与测试

addCommand函数处理,第一个值为命令串’intercept’,第二个值为true:

深度:针对超强手机木马DenDroid的分析与测试

请求addcommand.php:

深度:针对超强手机木马DenDroid的分析与测试

2) 把请求命令插入commands表中:

深度:针对超强手机木马DenDroid的分析与测试

3)客户端通过请求get-funtions.php来获取需要执行的命令:

深度:针对超强手机木马DenDroid的分析与测试

4) 服务端在验证了Password之后通过UID(上面提到的Android手机物理标识码)查询之前控制台界面请求的动作(即插入到数据库中的’intercept’),最后以如下格式传递给客户端:

深度:针对超强手机木马DenDroid的分析与测试

5) 判断返回的内容中是否含有“intercept(”,若有则把键‘intercept’的值设置为true:

深度:针对超强手机木马DenDroid的分析与测试

6) 获取短信内容:

深度:针对超强手机木马DenDroid的分析与测试

7) 向urlPost请求获取的数据:

深度:针对超强手机木马DenDroid的分析与测试

urlPost即为message.php

深度:针对超强手机木马DenDroid的分析与测试

8)message.php收到请求Data后调用addMessage,插入messages数据库,

深度:针对超强手机木马DenDroid的分析与测试

9) 控制页刷新查询数据库即得到信息:

深度:针对超强手机木马DenDroid的分析与测试

与手机端收到的信息一致:

深度:针对超强手机木马DenDroid的分析与测试

3.拍照记录

同上面的执行流程一样,只不过没有自动上传服务端,而是通过手动上传,估计是考虑到该类文件传输占用带宽较多,未防止传输失败,可多次上传:

1) 选择前置或后置摄像头:

深度:针对超强手机木马DenDroid的分析与测试

2) 拍摄完成

深度:针对超强手机木马DenDroid的分析与测试

3) 上传类型里选图片:

深度:针对超强手机木马DenDroid的分析与测试

同样处理函数也是addCommand

深度:针对超强手机木马DenDroid的分析与测试

命令插入数据库后等待客户端获取命令类型来实施上传操作。

4) 上传命令执行显示:

深度:针对超强手机木马DenDroid的分析与测试

5) 文件列表出现上传的照片:

深度:针对超强手机木马DenDroid的分析与测试

6) 下载预览

深度:针对超强手机木马DenDroid的分析与测试

若想修改图片尺寸可以修改CameraView.java中的如下部分(红框标记处):

深度:针对超强手机木马DenDroid的分析与测试

五、附件

这里附上dendroid的源码,大家可以学习修改或优化功能。

链接:http://pan.baidu.com/s/1pJFQcOV 

密码: rnq5

压缩包pass:123456

[本文作者Liuz5069,本文属FreeBuf黑客与极客(FreeBuf.COM)原创文章奖励计划,未经允许禁止转载]