近日,Trend Micro安全研究人员在Google Play中发现两款释放银行木马的恶意应用程序。这两个应用程序伪装为手机常用工具,分别是汇率转化Currency Converter和电池管家BatterySaverMobi。目前,Google已经将这两款APP从应用商店中移除了。
电池管家APP在下架前的下载次数已经超过5000次,评分为4.5分,共有73个用户评论。现在看来这些评论可能并不是有效的评论,一些评论是匿名的,还有的评论内容是不合逻辑和缺乏细节的。
研究人员分析发现这些APP回释放一个链接到银行恶意软件Anubis的恶意payload。对payload做进一步分析发现,其中的代码与Anubis样本非常相像。该payload还会连接到一个域名为aserogeege.space的C2服务器,该域名也与Anubis有关。
除了aserogeege.space外,还有18个恶意域名与IP地址47.254.26.2映射,研究人员也确认了Anubis在这些域名的子路径。这些域名会频繁的更换IP地址,从2018年10月起已经更换过6次了,这也说明了该攻击活动的活跃程度。
图1. Google Play中恶意APP截图
表1. BatterySaveMobi的受害者分布
如何绕过检测
这些APP使用的并不是传统的绕过技术,而是用用户和设备的移动(运动)来隐藏活动。
当用户移动时,设备会产生一些运动传感器数据。恶意软件开发者假设用于扫描的沙箱是一个没有运动传感器的模拟器,这样就不会创建这类数据。如果是这样的话,开发者可以通过检查传感器数据来确定APP是不是运行在沙箱环境中。
恶意APP会通过设备的运动传感器来监控用户的行动。如果恶意APP发现用户和设备都没有运动,恶意代码就不会运行。
图2. 恶意软件记录用户的运动数据,如果用户不运动恶意代码就不运行
表2. C2服务器命令
如果恶意代码运行,APP就会尝试让用户下载和安装一个payload APK(伪装为系统更新)。
图3. 伪造的系统更新
APP开发者隐藏恶意服务器的一个方法是编码到Telegram和Twitter web页面请求中。银行恶意软件在信任运行的设备后会请求Telegram或Twitter。通过分析响应的HTML内容,恶意APP会获取C2服务器的地址aserogeege.space。然后注册C2服务器,并用HTTP POST请求检查命令。如果服务器用一个APK命令来响应APP,并附上下载d URL,Anubis payload就会在后台被释放。然后通过图3中的系统更新页面诱使用户安装。
图4. 编码的服务器URL
Anubis payload
Anubis恶意软件会伪装成一个非恶意的APP,让用户授予accessibility辅助服务的权限,并尝试窃取账户信息。当用户访问目标APP时,银行木马会启动一个重叠屏幕,当用户出输入账户凭证信息时窃取用户信息。但Anubis的进程有所不同。它有一个植入的键盘记录器可以窃取用户账户凭证。恶意软件还可以对受感染的用户进行截图,这也是另一个获取受害者凭证的方法。
统计数据表明Anubis的最新版本已经在93个不同的国家进行传播,攻击的银行APP变种超过377个。因此如果Anubis成功运行,攻击者就可以获取通讯录和位置信息的访问权限,也可以录音、发送SMS消息、打电话、修改外部存储等。Anubis可以用这些权限来发送垃圾信息给通讯录中的联系人,打电话,进行其他恶意活动。
图5. Anubis的部分目标
许多的用户在移动端设备上保存了许多账号相关的信息,但移动端安全和攻击能力的差距往往会给这些用户造成很严重的后果。用户应对尤其主义那些要求输入银行卡账号密码信息的APP,确保他们是银行的合法APP,以保护自身权益。