Cybaze-Yoroi ZLab于近日发文称,他们在过去的几周时间里一直在调查一场疑似与俄罗斯黑客组织APT28存在关联的网络间谍活动。在这场活动中,APT28使用了Zebrocy(也被称为“Zepakab”)恶意软件的一个新变种。
Cybaze-Yoroi ZLab的研究人员表示,新的Zebrocy变种样本最初是由一名意大利独立安全研究人员发现的,他在随后与整个安全圈分享了这个二进制文件,以供进一步的分析。
技术分析
根据Cybaze-Yoroi ZLab研究人员的说法,此次网络间谍活动的攻击向量尚不清楚,但APT28通常使用的是内嵌恶意VB宏的诱饵办公文档。无论如何,新的Zebrocy变种样本(SHA256 :e6e93c7744d20e2cac2c2b257868686c861d43c6cf3de146b8812778c8283f7d,一个可执行文件)试图伪装成一款名为“ServiceTray”的Microsoft组件。
从PE文件信息来看,这个可执行文件使用了UPX v3.0可执行文件压缩器进行打包。UPX v3.0应该是一款很多人都知道的工具,通常被用于压缩PE文件的大小,压缩后的可执行文件体积可缩小50%到70%。
有意思的是,这个可执行文件的资源部分显示了AutoIt v3编译脚本的典型二进制模式——“AUT3!”签名。
在反编译和提取脚本之后,Cybaze-Yoroi ZLab的研究人员发现,脚本似乎比预期的要简单的多:没有经过混淆处理,不包含任何反分析技巧。
值得注意的是,AutoIt语言的使用是Zebrocy恶意软件的一个典型特点。发现这个新变种的意大利独立安全研究员Vitali Kremez 也表示,这个新变种与一些早期的Zebrocy变种在行为和脚本机构上非常相似,只是在某些模块的命名以及使用的命令和控制(C2)服务器上存在一些不同。
在设置了一些变量(如,C2 地址和有效载荷路径)之后,脚本将调用“argv”函数来计算一个32个字符的随机ID。
然后,它将运行“main”函数(Zebrocy恶意软件的核心),以实现侦察功能——检索与受害者计算机相关信息以及每分钟抓取一次屏幕截图。
然后,所有信息都将在Base64中编码,并通过“connect”函数使用SSL加密的HTTP通道发送给C2 。在发送消息之前,恶意软件还会为其添加随机的填充字符,可能是为了防止自动解码消息。完整的请求如下所示:
更确切地来说,发送给C2的与受害者计算机相关的信息是通过 “info”函数来收集的。最后一段代码可能是从一个名为“CompInfo.au3 ”的公共AutoIT库脚本中复制过来的——一个AutoIt接口,用于访问Windows Management Instrumentation(WMI)框架的数据。
通过对代码分析,Cybaze-Yoroi ZLab的研究人员还确认了另一个被APT28复借用的脚本片段——公开可用的WinHttp.au3模块被包含在新的Zebrocy变种样本中,以支持通过系统代理进行网络通信。
一旦建立了通信通道,C2就将分析与收集到的受害者计算机相关的信息,如果受害者的计算机被确认具有攻击价值,它将发回最终的有效载荷。
最终的有效载荷将被保存到“C:\ProgramData\Windows\Microsoft\Settings\srhost”中,并通过“crocodile”函数执行。
遗憾的是,由于C2目前处于关闭状态,因此Cybaze-Yoroi ZLab的研究人员表示他们无法确定最终的有效载荷是什么,也无法对其进行更深入的分析。
结论
尽管从函数上来看,新的Zebrocy变种十分简单的,且不包含任何反分析技巧。但事实证明,APT28的确擅长于从某些公开可用的脚本中借用代码,以简化新型恶意软件的开发,进而迅速构建出一种廉价但有效的间谍工具。
本文由 黑客视界 综合网络整理,图片源自网络;转载请注明“转自黑客视界”,并附上链接。