2021年10月至11月:Flubot4.9版出现了“Android安全更新”活动和新的重大协议更改
在10月和11月的大部分时间里,Flubot的攻击者们没有修改恶意软件的版本号。
在10月初,研究人员看到了一个不同于之前DHL/Correos/Fedex或者“语音邮箱”的活动。这一次,攻击者们开始将Flubot作为一个假冒的Android安全更新。
似乎这个新的传播活动没有按预期工作,因为几天后攻击者们继续使用“语音邮件”传播活动。
安静了一段时间以后,直到11月下旬,新样本又重新出现了,对用于与C2服务器通信的协议进行了重大更改。现在,攻击者们不再随意增加版本号了,即使有像这样的重大变化。
此协议更改允许恶意软件与C2服务器进行通信,而无需与它们建立直接连接。Flubot使用TXTDNS请求到常见的公共DNS服务器(Google、CloudFlare和AliDNS)。然后,这些请求被转发到实际的C2服务器(实现DNS服务器)以从服务器获取TXT记录响应并将其转发给恶意软件。从受感染设备中窃取的信息是使用RC4加密发送的(与以前的协议版本中使用的方式非常相似)并对加密字节进行编码。这样,编码的有效载荷被用作DGA生成域的子域。来自C2服务器的响应也被加密和编码为对TXT请求的TXT记录响应,它包括执行传播活动的smishing任务或用于窃取凭据的Web注入的命令。
通过这个新协议,Flubot使用来自谷歌和CloudFlare等知名公司的DoH服务器与C2服务器建立某种隧道。使用这种技术,通过网络流量监控检测恶意软件非常困难,因为恶意软件没有直接与未知或恶意服务器建立连接。此外,由于它使用的是DoH,所有的DNS请求都是加密的,因此网络流量监控无法识别那些恶意的DNS请求。
C2服务器协议中的这一重大变化也可以解释前几个月的低活跃度。可能开发人员正在努力改进协议以及恶意软件和C2服务器后端代码。
2021年12月:Flubot5.0-5.1版中出现了“FlashPlayer”活动和DGA更改
最终,攻击者们在12月决定将版本号提高到5.0。这个新版本带来了一个小而有趣的变化:除了web注入HTML和JavaScript代码之外,Flubot现在还可以接收url。在5.0版本之前,C2服务器会发送web注入代码,当受害者打开目标应用程序以窃取凭证时,这些代码被保存在设备上以备将来使用。从5.0版本开始,C2服务器转而发送URL,所以Flubot的恶意软件必须访问URL并将HTML和JavaScript源代码保存在内存中以备将来使用。
直到12月底,攻击者们才发布了Flubot5.1。12月31日,研究人员首次发现了Flubot5.1的样本。接着在1月2日,Flubot5.2的样本就出来了。5.1版对DGA进行了一些重要更改。这一次,攻击者引入了大量TLD来生成新域,同时还引入了一个用于从C2服务器接收新的DGA种子的新命令——UPDATE_ALT_SEED。根据研究人员的研究,这个新命令从未被使用过,因为所有新感染的设备都必须使用硬编码种子生成的域连接到C2服务器。
除了去年12月的新变化和新功能,攻击者们还推出了一个新的活动:“FlashPlayer”。该活动与“语音邮箱”活动一起使用,后者仍然是最常用于传播Flubot的活动。在这次新活动中,受感染设备向受害者发送了一条短信,试图诱使他们安装一个“FlashPlayer”应用程序,以便观看受害者出现的虚假视频。下图显示了传播网站是多么简单,当受害者打开链接时显示。
2022年1月:Flubot5.2-5.4版本改进Smishing功能和新的“直接回复”功能
在2022年1月初,研究人员检测到了新版Flubot的新样本。这一次,5.2版引入了一些细微的变化,其中攻击者增加了对smishing任务的更长文本消息的支持。他们不再使用通常的Android的“sendTextMessage”功能,而是开始使用“sendMultipartTextMessage”和“divideMessage”。这允许他们使用较长的消息,并将其拆分为多个消息。
在发现5.2版本的新样本几天后,又检测到了5.3版本的样本。不过开发者却没有引入新功能,而是删除了一些未使用的旧代码。这个版本似乎是用来清理代码的版本。此外,在Flubot5.3的第一个样本出现三天后,就检测到该版本的新样本,并增加了新的国家:日本、香港、韩国、新加坡和泰国。
到1月底,攻击者又发布了新版本:Flubot5.4。这个新版本引入了一个有趣的新功能:直接回复。该恶意软件现在能够拦截受感染设备中收到的通知,并使用从C2服务器接收到的配置消息自动回复它们。
为了获取将用于回复通知的消息,Flubot5.4引入了一个新的请求命令“GET_NOTIF_MSG”。如下图所示,此请求命令用于获取消息,以便在接收到新通知时最终使用该消息。
尽管这是一个提高僵尸网络传播能力的有趣的新功能,但它并没有持续太久。它在以下版本中被删除。
就在同一个月,研究人员检测到另一个Android银行恶意软件Medusa,它分布在Flubot的一些smishing任务中。这意味着,Flubot僵尸网络又一次被用作传播僵尸网络来传播另一个恶意软件家族。2021年8月,它被用于传播Teabot。现在,它已被用于传播Medusa。
如果把这些现象联系起来,就可以解释为什么会有新的“直接回复”功能和“多部分消息”的使用。由于Medusa的攻击者们提出了使用Flubot僵尸网络作为传播服务的建议,这些改进可能已经引入Flubot的新功能中了。
2022年2月至4月:Flubot 5.5版中新增窃取cookie功能
从1月下旬(研究人员第一次在野外观察到5.4版)到2月下旬,将近一个月过去了,新版本才发布。研究人员认为这种情况的发生与之前的时间段相似,例如2021年8月至11月,当时攻击者们就是在这个时间段对协议进行了重大更改。这一次,攻击者们似乎正在悄悄地开发新的Flubot5.5,它带有一个非常有趣的功能:Cookie窃取。
通过查看新代码,研究人员首先意识到在请求目标应用列表时发生了一点变化。此请求必须包含受感染设备中已安装应用程序的列表。因此,C2服务器将提供目标应用程序的子集。在这个新版本中,当执行“GET_INJECTS_LIST”请求时,“.new”被附加到已安装应用程序的包名称中。
一开始,当使用附加到数据包名的“.new”时,C2服务器使用URL进行响应,以获取用于窃取凭据的Web注入。
过了一段时间,C2服务器开始回复银行和加密货币平台的官方URL,这看起来很奇怪。在分析了代码之后,研究人员发现他们还引入了代码来窃取用于显示web注入的WebView的cookie——在本案例中,目标实体的网站。网站不同UI元素的点击和文本更改也会被记录并发送到C2服务器,所以攻击者不仅窃取cookie,他们还可以通过“键盘记录”窃取凭证。
窃取cookie的代码可以接收到一个URL,就像它可以接收到一个URL来获取web注入一样,但这次访问的URL并没有接收到web注入。相反,它接收一个新的URL(官方银行或服务URL)来加载和窃取凭据。在下图中,显示了来自用于下载Web注入的受感染网站的响应。在本示例中,它被用来获取用于窃取GMailcookie的有效负载(当受害者试图打开Android电子邮件应用程序时显示)。
当受害者登录到合法网站后,Flubot将接收并处理网站加载结束的事件。此时,它获取cookie并将它们发送到C2服务器,如下图所示。
2022年5月:Flubot版本5.6出现,会是Flubot的最后一个版本吗?
果然没过一个月,Flubot的新版本在5月初问世,即Flubot5.6。这是最后一个已知的Flubot版本。
这个新版本增加了一个有趣的新功能:彩信发送任务。借助这项新功能,攻击者可以绕过运营商检测。许多用户被感染后,他们的设备在他们不知情的情况下发送短信。
为了增加这个新功能,攻击者们添加了新的请求命令:
–GET_MMS:用于获取电话号码和要发送的短信(类似于之前用于发送短信的常用GET_SMS)
–MMS_RATE:用于获取发出“GET_MMS”请求并发送消息的时间速率(类似于之前用于发送短信的通常SMS_RATE)。
这个版本在5月1日发布后,C2服务器在5月21日停止工作。他们直到5月25日才下线,但他们仍然不能正常工作,因为他们的回复都是空的。最终,在6月1日,欧洲刑警组织在他们的网站上公布,他们在不同国家警察的合作下摧毁了Flubot的基础设施。是荷兰警方拆除了基础设施。这可能是因为在2022年的某个时候,Flubot C2服务器将托管服务更改为荷兰的托管服务,使其更容易被关闭。
这是否意味着Flubot的终结?目前还不能确定,但似乎警方没能拿到RSA私钥,因为他们没有让C2服务器发送命令来检测并移除设备上的恶意软件。
这意味着攻击者只需注册新的域名,在一个“更安全”的国家建立所有的基础设施,并提供托管服务,就能让Flubot回归。由于离线时间的原因,攻击者可以用较少的被感染设备恢复他们的僵尸网络,但仍然有一些设备继续发送欺骗消息来感染新的设备。这取决于攻击者的意图,因为警察似乎还没有找到他们。
总结
Flubot是过去几年来最活跃的银行恶意软件家族之一。这可能是由于他们强大的传播策略——诈骗。这个恶意软件一直在使用被感染的设备向从受害者智能手机中窃取的手机号码发送短信。但是,在这个人人都习惯于网上购物的时代,再加上虚假的包裹快递信息,使其成为一个重要的威胁。
正如我们在这篇文章中看到的,攻击者非常频繁地引入了新功能,这使得Flubot更加危险和具有传播性。这些更新和新功能的很大一部分是为了提高恶意软件在不同国家的传播能力,还有一些是为了提高证书和窃取信息的能力。
一些更新对协议进行了重大更改,使得通过网络监控更难被检测到,使用基于DoH隧道的协议,这在Android恶意软件世界中确实不常见。在出现一年半后,攻击者开始使用荷兰的托管服务后,被警方关闭C2服务器。不过攻击者仍然可以将基础设施移回“更安全”的托管并注册新的DGA域以恢复其僵尸网络。现在确定Flubot终结还为时过早。
本文翻译自:https://blog.fox-it.com/2022/06/29/flubot-the-evolution-of-a-notorious-android-banking-malware/如若转载,请注明原文地址