作者:启明星辰ADLab
启明星辰AdLab近期追踪到一个新出现的 Android 恶意木马样本,该恶意木马主要通过钓鱼 APP 来窃取用户银行及理财 APP 登录凭证,能够通过创建本地代理来窃取 Google 账户登录凭证,且具备远程控制感染机的能力。依据样本关联分析我们发现,该同类型的样本之前被 Mcafee 披露过(其在8月28日将该银行木马命名为:Android/MoqHao),并且还发现恶意代码背后的黑客早在2013年就开始针对韩国的手机用户进行钓鱼攻击。直到2015年,该黑客组织开始利用伪造的 Chrome 更新消息来进行传播,并且开始利用QQ空间等社交网络账户来配置 C&C 服务器地址。本次启明星辰ADLab追踪到的恶意代码样本为9月中旬的最新样本,该样本利用了百度账户来设置 C&C 服务器,不过 C&C 服务器 IP 进行了加密处理。通过对该恶意代码的分析我们发现其具有如下特点:
该样本相关信息见表1:
该恶意木马伪装成 Chrome 浏览器更新包来欺骗用户下载,并且该恶意木马运行后会不断提示用户激活其设备管理员权限(见图1),一旦其设备管理员权限被激活,该恶意木马就隐藏自身的图标。这样,普通用户很难卸载掉该恶意木马,从而使该恶意木马长期驻留在受害用户的设备中。
该样本原始包充当了类似壳的角色,真实的恶意 dex 文件被加密保存在原始包的 assets目录下,原始包在运行时解密加载其恶意 dex 文件来实现恶意攻击。解密后的 dex 文件经过了严重的混淆。我们对其深入分析后发现,恶意木马在运行时,通过 Http 请求获取攻击者提前在其百度个人账户页面配置好的加密过的 C&C 服务器地址,请求成功返回后,再对 C&C 服务器进行解密。获取到 C&C 服务器地址后,该恶意木马会使用加密的 WebSocket 协议来和 C&C 服务器通信。值得注意的是,该恶意木马和 C&C 服务器均各自实现了自己的 RPC 函数,通信双方利用这些 RPC 函数来达到数据窃取和远程控制的目的 (示意图见图2)。
需要关注的是,该恶意木马会遍历受害用户本机安装的 APP 信息,以确定受害用户是否安装有特定的银行类 APP。如果有的话,该恶意木马就会从 C&C 服务器下载对应的伪装银行木马,待对应的伪装银行木马下载完成后,就提示用户升级。伪装银行木马运行后,会卸载掉受害用户本机原始合法的银行 APP 来偷梁换柱。不难推测,对用户真正的钓鱼活动才刚刚开始。
另外,该恶意木马除了收集受害用户的手机硬件相关信息和手机状态信息,还会窃取受害用户的 Google 账号凭证。与常见的利用远程服务钓鱼页面不同的是,该恶意木马在受感染手机本地开启了一个 Httpserver 服务,并利用该本地服务页面完成对受害用户的 Google 账号凭证钓鱼后,再将其通过 WebSocket 协议转发到 C&C 服务器。该恶意木马的主要行为见图3:
如前所述,该恶意木马真实的恶意 dex 文件被加密保存在原始包的 assets 目录下,其内容是 Base64 后的可见字符(见图4),其原始包只是扮演了壳的角色,原始包在运行时解密加载真实的恶意 dex 文件来实现恶意攻击。我们将 bin 文件 Base64 解密或在该恶意木马运行后,从其安装包路径下的 files 文件下均可得到真实的恶意 dex 文件(见图5)。
该恶意木马申请的权限如图6所示,其中涉及到的敏感权限包括短信的读写权限、通讯录读取权限、打电话权限、修改手机状态权限等。
该恶意木马注册了大量的广播事件,主要用来窃取受害用户手机状态信息,以达到实时监控受害用户手机的目的(见图7)。
其中,当用户手机有新的应用安装或卸载、手机电量变化、网络连接改变、屏幕唤醒或休眠等事件发生时,恶意木马就发送受害用户手机状态相关信息到 C&C 服务器。发送的手机状态相关信息包括:运营商名字、网络类型(wifi 还是移动网络)、wifi 的 mac 地址、电量百分比、wifi 信号强度、是否管理员权限、自己是否在休眠白名单中、屏幕是否唤醒、手机情景模式(见图8)。
该恶意木马利用动态页面来获取和更新 C&C 服务器地址。攻击者将加密后的 C&C 服务器地址配置在申请的百度账户个人简介中,恶意木马在运行时会通过 Http 请求获取对应的页面数据再进行解密。从图9我们可以看到,获取C&C服务器的 Http 请求串也经过了加密处理,我们对其解密后的结果为:http://www.baidu.com/p/dajiahao188384/detail 和 http://www.baidu.com/p/womenhao183527/detail。
另外,通过抓包也可清楚看到该 Http 请求的内容(见图10)。
我们在浏览器中访问对应的 Http 请求,可以看到访问的是对应百度账户的个人页面,我们注意到攻击者的账户目前还处于在线状态,个人简介部分即为加密后的 C&C 服务器地址(见图11),我们对其解密后为:111.240.228.234:8833。
恶意木马连接 C&C 服务器成功后,会发送受害用户手机相关信息,包括:android_id、系统版本、手机版本+显示屏参数、是否root、关机状态、sim卡是否处于就绪状态、用户手机号码、IMEI、手机中账户信息(见图12、图13)。除了发送用户手机相关信息,还会再次发送用户手机的相关状态信息(见图14)。
图15是以上通信的日志信息。可以清楚地看到连接的 C&C 服务器地址,连接成功后,更新用户手机状态信息到 C&C 服务器。
图15 更新用户手机状态信息的日志
该恶意木马使用加密的 WebSocket 协议来和 C&C 服务器通信,恶意木马和 C&C 服务器各自实现了自己的 RPC 函数供对方调用(其中图16是恶意木马实现的 RPC 函数),通信双方利用这些RPC函数来达到数据窃取和远程控制的目的。恶意木马实现的 RPC 函数可发送短信(目标地址和内容由 C&C 服务器提供)、锁定用户手机、获取手机通讯录、发送钓鱼信息给手机联系人等(具体见表2)。
图17是该恶意木马和 C&C 服务器通信部分,恶意木马解析 C&C 服务器发送过来的网络数据,执行对应的 RPC 函数,再将函数执行结果返回给 C&C 服务器。
同时,该恶意木马也会给 C&C 服务器发送请求指令,分别为:下载指定的 apk 文件、发送钓鱼到的 Google 账户凭证、得到需要更新的包列表、得到标题等显示提示(见表3)。
该恶意木马除了收集受害用户的手机硬件相关信息和手机状态信息,还会窃取受害用户的 Google 账户凭证。与常见的利用远程服务器钓鱼页面不同的是,该恶意木马在受感染手机本地开启了一个 Httpserver 服务,并利用该本地服务页面完成对受害用户的账户凭证钓鱼后,再将其通过加密的 WebSocket 协议转发到C&C服务器。在恶意木马筛选出 google 账户后(见图18),会弹出警告对话框,等受害用户点击确定后,恶意木马就会打开浏览器,跳转到自定义的本地钓鱼页面(见图19)。
该恶意木马在本地创建 HttpServer 服务,本地 HttpServer 服务启用线程来处理钓鱼到的 Google 账户信息(见图20)。
恶意木马将钓鱼到的 Google 账户凭证发送到 C&C 服务器(见图21)。
该恶意木马会遍历受害用户本机安装的 APP 信息,以确定受害用户是否安装有特定的银行类 APP。如果有的话,该恶意木马就会从 C&C 服务器下载对应的银行类木马,待对应的木马下载完成后,就提示用户有新的升级。银行类木马运行后,会卸载掉受害用户本机原始合法的 APP 来偷梁换柱。显而易见,对受害用户真正的钓鱼攻击才刚刚开始。
遍历用户手机应用,检查是否有内置指定的银行类 APP,有的话,从 C&C 服务器下载对应的银行木马 APP(见图22)。
如果用户手机存在指定的银行类 APP,则从 C&C 服务器下载对应的银行木马 APP(见图23)。
表4为恶意木马内置的要伪装的银行类 APP 包名
银行类恶意木马 APP 下载完成后,会弹出提示框,诱使用户更新(见图24)。
银行类恶意木马运行后,会卸载掉受害用户原来合法的银行类 APP(见图25)。
该恶意木马通过向受害用户的通讯录联系人发送钓鱼信息来传播(见图26)。
虽然该恶意木马是针对韩国用户,但也不排除后续针对其他国家实施攻击的可能。用户除了对热门的 APP 下载和更新不能大意外, 对系统自带的 APP 的更新也应保持警惕。建议用户不要轻易点击短信中的不明链接,不要安装不明来源的 APP。对申请可疑权限尤其是短信读写、打电话以及需要激活设备管理器的 APP 要特别留意,涉及到金钱的操作要格外谨慎。遇到操作异常,应当及时使用杀毒软件查杀或找专人处理。目前互联网上也充斥着形形色色的第三方 APP 下载站点,很多甚至成了恶意应用的批发集散地。用户应特别留意不要轻易地在一些下载站点下载 APP,尽量从官网下载所需 APP 应用,在不得不从第三方下载站点下载软件时,要保持高度警惕,认真甄别,防止误下恶意应用,给自己造成不必要的麻烦和损失。
启明星辰积极防御实验室(ADLab)
ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员。截止目前,ADLab通过CVE发布Windows、Linux、Unix等操作系统安全或软件漏洞近300个,持续保持亚洲领先并确立了其在国际网络安全领域的核心地位。实验室研究方向涵盖操作系统与应用系统安全研究、移动智能终端安全研究、物联网智能设备安全研究、Web安全研究、工控系统安全研究、云安全研究。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。