导语:今年3月份,网络安全公司Group-IB发现了一款针对安卓用户的新型恶意软件Gustuff,它瞄准了澳大利亚市场上超过100款金融程序与32款加密货币程序,除了窃取使用者的金融凭证之外,还能自动执行交易。
概要
今年3月份,网络安全公司Group-IB发现了一款针对安卓用户的新型恶意软件Gustuff,它瞄准了澳大利亚市场上超过100款金融程序与32款加密货币程序,除了窃取使用者的金融凭证之外,还能自动执行交易。
Gustuff通过访问受感染手机的联系人列表,并分发带有其APK安装文件链接的短信,传播到其他移动设备,使用辅助功能服务与其他应用程序窗口的元素进行交互,包括加密货币钱包、在线银行应用程序、即时通讯软件等,旨在感染大规模用户设备获取最大利润。
在被曝光后,Gustuff的运营方式也在发生改变,除了分发恶意软件的主机改动外,运营人员还禁用了其命令和控制(C2)设备,对恶意软件的管理则通过基于SMS的次级管理通道进行。
与以前的版本相比,新版Gustuff不再包含硬编码的应用程序包名,大大降低了静态内存占用;在性能方面则增加了一个基于JavaScript的脚本引擎,能让攻击者使用自己的内部命令执行脚本,这点在Android恶意软件领域是非常创新的。
第一版Gustuff主要基于另一个活跃多年的银行木马Marcher,而现在Gustuff已经失去了与Marcher的一些相似之处,主要体现在感染后方法的变化上。
目前Gustuff仍然主要依靠恶意短信来感染用户,目标也是在澳大利亚地区。
活动分析
在4月份Gustuff活动被曝光后,运营人员改变了他们部署的重定向,直到这些都被列入黑名单后才最终禁用了C2,但他们的行动却并未中止。6月份,Gustuff活动再次现身,恶意软件没有重大变化,但传播媒介从Facebook变成了Instagram,引诱用户下载和安装恶意软件。
图1.六月份域名点击情况
初始感染相关域名指向Instagram,使用的操作方法与以前完全相同。
到了10月初,恶意软件版本发生重大更新,新的恶意活动也随之产生,其传播方式还是跟以前一样,在感染目标上以每小时300条的速率发送着短信。
图2.十月份的域名点击量
由于这种传播方式仅通过短信,因此占用空间较小,但我们在恶意软件托管域中发现其点击量较低,这种传播方式似乎并不是特别有效。
图3.目标应用程序
和以前一样,10月的活动也是主要针对澳大利亚的银行应用程序和数字货币钱包,不一样的是这个新版本还开始瞄准招聘网站的移动应用。
Gustuff的功能之一是动态加载Web视图。它可以接收命令以创建针对特定域的Web视图,同时从远程服务器获取必要的代码注入。
图4.请求与响应结果
在调查过程中,我们收到了C2的命令,目标是澳大利亚政府门户网站,这也代表了攻击者的一个转变。
技术分析
新版本的Gustuff活动周期中有几个变化,其中之一是跨安装的状态持久性。
图5.ID文件
活动过程中,恶意软件会尝试在外部存储中创建一个名为“ uu.dd”的文件,如果文件已经存在则读取其中存储的UUID值,该值将用作C2的ID,此时恶意软件不会遍历所有的活动过程,而是立即接收来自C2的命令。这个文件在之前的版本中就观察到过,但是并没有上述的行为。
核心API跟以前一样, Gustuff以预定的时间间隔ping C2,C2要么回答“ok”,要么发出要执行的命令。
样本中不再将目标应用程序硬编码,现在使用命令“ checkApps”在活动周期内将其提供给恶意软件。该命令在以前的版本中已经存在,但是在活动中并不强制使用。
图6.checkApps命令
Gustuff屏蔽的杀毒软件的列表也在活动周期内加载。
图7.被阻止的部分应用示例
这些变化表明,攻击者决定通过删除硬编码列表来降低恶意软件静态分析的占用空间。上述两个命令在通信协议中存在,运行时调用。
图8.命令结果
Gustuff现在要求用户更新他们的信用卡信息。不同之处在于,它不会立即显示一个供用户提供信息的面板,而是等待用户执行此操作,并利用Android Accessibility API来获取。这种方法虽然耗时可能更长,但更隐蔽,从而增加成功的机会。
通信协议现在有一个二级命令执行控制。每个命令都有一个惟一的ID, Gustuff使用该ID报告命令执行状态。
图9.命令执行控制
这使攻击者能准确知道执行状态,而在此之前的版本仅能知道是否已接收到命令及其结果。这种新的控制机制还产生了异步命令功能。现在,攻击者可以发出异步命令,在执行其他任务时接收执行反馈——“uploadAllPhotos”和“uploadFile”命令就是其中两个命令。
通过这些更改,恶意参与者可以更好地控制恶意软件,同时减少其占用空间。
Gustuff的这个版本在与设备交互的方式上有了实质性的改变——与socks服务器/代理相关以及相关操作代码均已删除。
使用命令“interactive”能让攻击者访问设备并在设备的UI上执行操作,该命令将使用可访问API与银行应用程序的UI进行交互。这种方法在网络上的“噪声”较小,因为它利用了C2连接,而不是创建新的连接。
命令“script”也是新的,这是一个非常简单但影响深刻的命令,Gustuff启动WebChromeClient时启用了JavaScript,之后它向Web视图添加了一个JavaScript接口,允许执行恶意代码中定义的方法。
图10.JavaScript脚本编制
默认情况下,Web视图对象可以访问文件系统,能让攻击者执行各种脚本自动化任务,特别是当脚本还可以访问来自应用程序的命令时。
结论
Gustuff是一个当前仍在不断发展的威胁,这次攻击者更改了恶意软件代码,来减少静态分析的检测范围,虽然执行活动的方式大同小异,但Gustuff还是改变了使用恶意软件执行欺诈活动的方式。它的主要目标还是银行和加密货币钱包,不过基于应用列表和代码更改,可以推测其攻击者目前正在寻找Gustuff的其他用途。