【安全资讯】FickerStealer:用Rust语言编写的特殊窃密程序
引言
研究人员发布了对窃密软件FickerStealer的分析报告。FickerStealer是一种用Rust编写的信息窃取程序,于2020 年 8 月首次在野出现,恶意软件用于从 WinSCP、Discord、Google Chrome、Electrum 等应用程序中窃取敏感信息,包括登录凭据、信用卡信息、加密货币钱包和浏览器信息。此外,FickerStealer还可以充当File Grabber从受感染计算机收集其他文件,并且可以充当下载器来下载和执行多个第二阶段恶意软件。FickerStealer由于其实惠的价格以及特别的信息窃取方法在地下论坛上迅速流行起来。
简况
FickerStealer由名为@ficker的卖家在地下论坛上作为 MaaS(恶意软件即服务)出售,平均价格为 200 美元,具体价格取决于恶意程序的附加功能和服务订阅时间。一旦买家购买了 Ficker 服务,卖家将提供一个“本地”包,包括 C2 服务器设置和名为Build的窃取程序可执行文件。购买后,买家需要指定C2服务器的地址,因此卖家会配置恶意软件(build)与攻击者的C2服务器进行通信。更令人惊讶的是,FickerStealer是用 Rust 和 Assembly 编写的。虽然Rust语言速度非常快,内存效率高,并且可以在嵌入式设备上运行,但由于其复杂性,开发人员可能需要更长的时间来学习 Rust,因此通常不是开发人员的首要选择。这种编程语言的优势在于,很难对其进行逆向工程。正因如此,很少有已知的用Rust编写的恶意软件家族。Ficker Stealer恶意软件的攻击流程如下:
与所有窃密恶意软件一样,FikcerStealer的主要目标是收集尽可能多的敏感信息。但FickerStealer与其他窃取程序之间,存在以下区别:
- 1.Ficker没有依赖关系。它不需要在运行时下载/加载其他 DLL来实现其窃取功能,如dll、nss3.dll。
- 2.与 C2 服务器的通信通道是从客户端加密/混淆的,这与大多数依赖 HTTP 协议并以纯文本形式发送数据的信息窃取程序不同。
- 3.每次成功执行窃取操作后, Ficker都会直接发送窃取的数据,不会将任何日志/文件写入磁盘。其他信息窃取程序通常将窃取的数据写入某个临时文件夹,对其压缩并将其作为 zip 文件发送到 C2 服务器。此外,Ficker 将敏感的 Mozilla 浏览器数据发送到 C2 服务器并在服务器端对其进行解密。
- 4.下载器功能可以下载和执行多个 PE 文件,包括执行恶意可执行文件和加载 DLL。
总结
FickerStealer因为高效率以及高度隐蔽性在网络犯罪分子中越来越受欢迎。Ficker 拥有传统信息窃取程序的所有功能,还使用了不同的混淆技术,而且由于它是用 Rust 编写的,因此让研究人员对恶意软件的分析变得更加困难。信息窃取恶意软件将始终是攻击者使用的流行资源,尽管它可能不是最复杂的恶意软件,但仍然会对组织和个人造成重大损害。