新型 Android 银行木马“MoqHao”利用社交网络隐藏 C&C 服务器

作者:启明星辰ADLab

1、概述

启明星辰AdLab近期追踪到一个新出现的Android恶意木马样本,该恶意木马主要通过钓鱼APP来窃取用户银行及理财APP登录凭证,能够通过创建本地代理来窃取Google账户登录凭证,且具备远程控制感染机的能力。依据样本关联分析我们发现,该同类型的样本之前被Mcafee披露过(其在8月28日将该银行木马命名为:Android/MoqHao),并且还发现恶意代码背后的黑客早在2013年就开始针对韩国的手机用户进行钓鱼攻击。直到2015年,该黑客组织开始利用伪造的Chrome更新消息来进行传播,并且开始利用QQ空间等社交网络账户来配置C&C服务器地址。本次启明星辰ADLab追踪到的恶意代码样本为9月中旬的最新样本,该样本利用了百度账户来设置C&C服务器,不过C&C服务器IP进行了加密处理。通过对该恶意代码的分析我们发现其具有如下特点:

(1) 通过短信传播
(2) 伪装成Chrome浏览器更新欺骗用户下载。
(3) 通过BASE64编码将恶意dex文件隐藏于资源目录。
(4) 创建手机代理服务的方式来窃取Google账户凭证。
(5)通过百度个人账户来更新C&C服务器地址。目前涉及到的攻击者百度账户页面有http://www.baidu.com/p/dajiahao188384/detail 和http://www.baidu.com/p/womenhao183527/detail,解密后的C&C服务器地址为:111.240.228.234:8833。
(6) 利用加密的WebSocket协议通信。
(7)使用了类似RPC的机制来实现远程控制。
(8) 替换合法金融类APP为钓鱼APP,窃取登录凭证。

该样本相关信息见表1:

表1 样本相关信息

2、木马行为简介

该恶意木马伪装成Chrome浏览器更新包来欺骗用户下载,并且该恶意木马运行后会不断提示用户激活其设备管理员权限(见图1),一旦其设备管理员权限被激活,该恶意木马就隐藏自身的图标。这样,普通用户很难卸载掉该恶意木马,从而使该恶意木马长期驻留在受害用户的设备中。

图1 提示用户激活设备管理员权限

该样本原始包充当了类似壳的角色,真实的恶意dex文件被加密保存在原始包的assets目录下,原始包在运行时解密加载其恶意dex文件来实现恶意攻击。解密后的dex文件经过了严重的混淆。我们对其深入分析后发现,恶意木马在运行时,通过Http请求获取攻击者提前在其百度个人账户页面配置好的加密过的C&C服务器地址,请求成功返回后,再对C&C服务器进行解密。获取到C&C服务器地址后,该恶意木马会使用加密的WebSocket协议来和C&C服务器通信。值得注意的是,该恶意木马和C&C服务器均各自实现了自己的RPC函数,通信双方利用这些RPC函数来达到数据窃取和远程控制的目的 (示意图见图2)。

图2 恶意木马网络通信图

需要关注的是,该恶意木马会遍历受害用户本机安装的APP信息,以确定受害用户是否安装有特定的银行类APP。如果有的话,该恶意木马就会从C&C服务器下载对应的伪装银行木马,待对应的伪装银行木马下载完成后,就提示用户升级。伪装银行木马运行后,会卸载掉受害用户本机原始合法的银行APP来偷梁换柱。不难推测,对用户真正的钓鱼活动才刚刚开始。

另外,该恶意木马除了收集受害用户的手机硬件相关信息和手机状态信息,还会窃取受害用户的Google账号凭证。与常见的利用远程服务钓鱼页面不同的是,该恶意木马在受感染手机本地开启了一个Httpserver服务,并利用该本地服务页面完成对受害用户的Google账号凭证钓鱼后,再将其通过WebSocket协议转发到C&C服务器。该恶意木马的主要行为见图3:

图3 恶意木马的主要行为

3、原始包解密分析

如前所述,该恶意木马真实的恶意dex文件被加密保存在原始包的assets目录下,其内容是Base64后的可见字符(见图4),其原始包只是扮演了壳的角色,原始包在运行时解密加载真实的恶意dex文件来实现恶意攻击。我们将bin文件Base64解密或在该恶意木马运行后,从其安装包路径下的files文件下均可得到真实的恶意dex文件(见图5)。

图4 加密存放真实的恶意dex文件

图5 真实的恶意dex文件运行时解密到files目录

4、真实攻击逻辑分析

        该恶意木马申请的权限如图6所示,其中涉及到的敏感权限包括短信的读写权限、通讯录读取权限、打电话权限、修改手机状态权限等。

图6 恶意木马申请的权限

4.1 注册大量广播,主要用于窃取用户手机状态信息

该恶意木马注册了大量的广播事件,主要用来窃取受害用户手机状态信息,以达到实时监控受害用户手机的目的(见图7)。

图7  恶意木马注册大量广播事件

其中,当用户手机有新的应用安装或卸载、手机电量变化、网络连接改变、屏幕唤醒或休眠等事件发生时,恶意木马就发送受害用户手机状态相关信息到C&C服务器。发送的手机状态相关信息包括:运营商名字、网络类型(wifi还是移动网络)、wifi的mac地址、电量百分比、wifi信号强度、是否管理员权限、自己是否在休眠白名单中、屏幕是否唤醒、手机情景模式(见图8)。

图8 向C&C服务器发送手机状态相关信息

4.2 获取C&C服务器地址

该恶意木马利用动态页面来获取和更新C&C服务器地址。攻击者将加密后的C&C服务器地址配置在申请的百度账户个人简介中,恶意木马在运行时会通过Http请求获取对应的页面数据再进行解密。从图9我们可以看到,获取C&C服务器的Http请求串也经过了加密处理,我们对其解密后的结果为:http://www.baidu.com/p/dajiahao188384/detail 和http://www.baidu.com/p/womenhao183527/detail。

图9 Http请求的解密和拼凑

另外,通过抓包也可清楚看到该Http请求的内容(见图10)。

图10  Http请求抓包结果

我们在浏览器中访问对应的Http请求,可以看到访问的是对应百度账户的个人页面,我们注意到攻击者的账户目前还处于在线状态,个人简介部分即为加密后的C&C服务器地址(见图11),我们对其解密后为:111.240.228.234:8833。

图11 攻击者注册的百度账户页面

4.3 窃取用户设备信息和状态信息

恶意木马连接C&C服务器成功后,会发送受害用户手机相关信息,包括:android_id、系统版本、手机版本+显示屏参数、是否root、关机状态、sim卡是否处于就绪状态、用户手机号码、IMEI、手机中账户信息(见图12、图13)。除了发送用户手机相关信息,还会再次发送用户手机的相关状态信息(见图14)。

图12 连接C&C服务成功后,发送用户手机信息

图13 具体发送的手机信息

图14 发送用户手机当前状态信息

 

图15是以上通信的日志信息。可以清楚地看到连接的C&C服务器地址,连接成功后,更新用户手机状态信息到C&C服务器。

图15 更新用户手机状态信息的日志

4.4 通过C&C服务器下发命令和回传任务

该恶意木马使用加密的WebSocket协议来和C&C服务器通信,恶意木马和C&C服务器各自实现了自己的RPC函数供对方调用(其中图16是恶意木马实现的RPC函数),通信双方利用这些RPC函数来达到数据窃取和远程控制的目的。恶意木马实现的RPC函数可发送短信(目标地址和内容由C&C服务器提供)、锁定用户手机、获取手机通讯录、发送钓鱼信息给手机联系人等(具体见表2)。

图16 恶意木马实现的RPC函数

表2 该恶意木马实现的RPC函数

图17是该恶意木马和C&C服务器通信部分,恶意木马解析C&C服务器发送过来的网络数据,执行对应的RPC函数,再将函数执行结果返回给C&C服务器。

图17 C&C服务器和恶意木马的通信

同时,该恶意木马也会给C&C服务器发送请求指令,分别为:下载指定的apk文件、发送钓鱼到的Google账户凭证、得到需要更新的包列表、得到标题等显示提示(见表3)。

表3 恶意木马发送给C&C服务器的函数请求

4.5 窃取用户Google账户信息

该恶意木马除了收集受害用户的手机硬件相关信息和手机状态信息,还会窃取受害用户的Google账户凭证。与常见的利用远程服务器钓鱼页面不同的是,该恶意木马在受感染手机本地开启了一个Httpserver服务,并利用该本地服务页面完成对受害用户的账户凭证钓鱼后,再将其通过加密的WebSocket协议转发到C&C服务器。在恶意木马筛选出google账户后(见图18),会弹出警告对话框,等受害用户点击确定后,恶意木马就会打开浏览器,跳转到自定义的本地钓鱼页面(见图19)。

图18 筛选Google账户

图19 弹出警告窗口

该恶意木马在本地创建HttpServer服务,本地HttpServer服务启用线程来处理钓鱼到的Google账户信息(见图20)。

图20 恶意木马利用本地服务来处理钓鱼到的Google账户信息

恶意木马将钓鱼到的Google账户凭证发送到C&C服务器(见图21)。

图21 恶意木马将钓鱼到的Google账户凭证信息发送到C&C服务器

4.6 下载伪装银行类APP

该恶意木马会遍历受害用户本机安装的APP信息,以确定受害用户是否安装有特定的银行类APP。如果有的话,该恶意木马就会从C&C服务器下载对应的银行类木马,待对应的木马下载完成后,就提示用户有新的升级。银行类木马运行后,会卸载掉受害用户本机原始合法的APP来偷梁换柱。显而易见,对受害用户真正的钓鱼攻击才刚刚开始。

遍历用户手机应用,检查是否有内置指定的银行类APP,有的话,从C&C服务器下载对应的银行木马APP(见图22)。

图22 遍历受害用户手机应用

如果用户手机存在指定的银行类APP,则从C&C服务器下载对应的银行木马APP(见图23)。

图23 从C&C服务器下载指定的银行木马APP

表4 为恶意木马内置的要伪装的银行类APP包名

表4 恶意木马要伪装的银行类APP包名

 

银行类恶意木马APP下载完成后,会弹出提示框,诱使用户更新(见图24)。

图24 诱使用户安装下载到的银行类木马

银行类恶意木马运行后,会卸载掉受害用户原来合法的银行类APP(见图25)。

图25 下载下来的木马偷梁换柱

4.7 传播

该恶意木马通过向受害用户的通讯录联系人发送钓鱼信息来传播(见图26)。

图26 该恶意木马的传播途径

5、总结及建议

虽然该恶意木马是针对韩国用户,但也不排除后续针对其他国家实施攻击的可能。用户除了对热门的APP下载和更新不能大意外, 对系统自带的APP的更新也应保持警惕。建议用户不要轻易点击短信中的不明链接,不要安装不明来源的APP。对申请可疑权限尤其是短信读写、打电话以及需要激活设备管理器的APP要特别留意,涉及到金钱的操作要格外谨慎。遇到操作异常,应当及时使用杀毒软件查杀或找专人处理。目前互联网上也充斥着形形色色的第三方APP下载站点,很多甚至成了恶意应用的批发集散地。用户应特别留意不要轻易地在一些下载站点下载APP,尽量从官网下载所需APP应用,在不得不从第三方下载站点下载软件时,要保持高度警惕,认真甄别,防止误下恶意应用,给自己造成不必要的麻烦和损失。

上一篇:深入分析CCleaner后门代码

下一篇:Discuz!X ≤3.4 任意文件删除漏洞分析