近期,研究人员发现了一个新版本的 IcedID GzipLoader,该组件自 2 月初开始分发。此版本引入了新的反分析技术,而它在功能上与以前的版本基本相同。
IcedID 是最早在 2017 年被披露的模块化银行木马,也是近年来最流行的恶意软件家族之一。IcedID 主要针对金融行业发起攻击,还会充当其他恶意软件家族(如 Vatet、Egregor、REvil)的 Dropper。
GZipLoader 作为 IcedID 感染链中的 Loader,其作用是从控制面板下载并执行加密的 Payload。加密的 Payload 诱导用户认为其为 GZIP 文件,这就是它被称为 GZipLoader 的原因。
发现
基于代码重用的搜索算法对恶意样本进行分类时,研究人员发现了新版本的 IcedID。
△ 发现样本
通过样本的分析,可以发现 regsvr-32 进程的虚拟内存区域 0x4b0000 包含 9 个与 IcedID GZipLoader 组件相关的函数。
△ 代码重用
扩展分析,发现了类似的样本如下所示:
△ 扩大范围
最早发现时间是 2022 年 2 月 9 日。
分析
新版本使用了动态解析导入表:
△ 部分代码
新增功能还有字符串加密:
△ 部分代码
该技术通常被称为 stacked strings,攻击者将其与异或加密结合:
△ 解密代码
Python 版本的请求解密如下所示:
△ 解密代码
程序都使用了相同的字符串解密方法,并且加密代码是内联实现的。这会改变所有引用字符串的函数的控制流图,对应的 Yara 检测规则也被对应改变。
旧功能
新版本中删除了 SSL-pinning功能,详细信息可以阅读 Group-IB 关于旧版本样本的分析报告。
如下所示,旧版本样本中使用 SSL_pinning_feature()的结果作为调用 set_bot_information()函数的参数。而在新版本中,参数被硬编码为 1 且删除了该函数。
△ 版本对比
根据遥测分析,所有 IcedID 样本中最常用的是 aws.amazon.com。但最近两周来看,攻击者不再使用该地址。
△ 统计数据
还有个细微的变化是负责解密 C&C 命令的函数转变为内嵌在主函数中。