阅读: 14
一、事件概述
绿盟科技CERT近期监测到,欧洲多个安全机构发布了ESXiArgs勒索病毒的攻击预警,该病毒利用2021年披露的ESXi远程溢出漏洞(CVE-2021-21974)进行传播,根据网络空间测绘平台的数据统计,目前全球已有1800余台主机被感染,且绝大部分均分布于欧美等国家。
勒索病毒执行后,将对指定后缀的虚拟机相关文件进行加密,同时生成args后缀的文件,用来保存加密相应文件时使用的参数。
通过对感染主机勒索信的统计分析,确认此次攻击事件系同一黑产团伙所为;通过对ESXi版本的统计分析,以及漏洞代码对比分析,确认此次事件涉及漏洞影响的版本,除VMware官方公布的以外,还包括ESXi 5.5及6.0;通过对病毒样本分析,发现在加密大文件时存在缺陷,可通过对磁盘描述文件进行重建,并结合数据恢复软件,即可恢复被加密磁盘中的文件。
二、事件时间线
2021年2月23日 ,VMware发布CVE-2021-21974漏洞相关产品补丁,涉及的ESXi 版本包括6.5、6.7及7.0。
2021年5月25日,国外安全研究人员在其个人博客公布了该漏洞细节及详细分析过程,并提供了针对ESXi 6.7指定版本的漏洞利用代码。
2023年2月4日法国互联网应急中心(CERT-FR)发布了此次勒索病毒攻击事件的相关预警,包括攻击涉及的漏洞信息。
2月5日意大利国家网络安全局(ACN)发布预警,警告有黑客利用ESXi漏洞对全球数千台服务器进行攻击。
2月7日绿盟科技CERT监测到此次攻击事件,并开始跟踪分析。
2月8日美国网络安全和基础设施安全局(CISA)发布了ESXiArgs勒索病毒恢复脚本,以协助受害用户恢复被加密的虚拟机。
三、漏洞分析
CVE-2021-21974是由ESXi的SLP(Service Location Protocol)服务中的堆溢出问题引起。SLP是一个网络服务,默认监听TCP/UDP 427端口,且无需认证即可远程访问。
漏洞源自SLPParseSrvUrl函数,在[1]处SLPParseSrvUrl函数内部调用了calloc函数申请URL的长度加上0x1d大小的内存,在[2]处调用了strstr函数来查找子字符串“:/”在 URL中的位置,并在第[3]处将子字符串“:/”之前的URL内容复制到[1]处calloc函数申请的内存中。由于param_2实际为来自网络输入,就可能导致在[3]处复制时,复制数据的大小大于[1]处申请内存的大小,引发堆溢出,最终导致漏洞产生。
通过对感染主机ESXi版本的统计分析,发现此次事件涉及的ESXi版本还包括5.5及6.0;通过对比5.5及6.7版本代码,确认5.5版本同样存在该漏洞。
通过修改公开的漏洞利用代码,成功在ESXi 5.5上复现了该漏洞。
VMware公布的产品生命周期中,ESXi 5.5及6.0的技术支持截止时间分别为2018年9月及2020年3月。
通过对ESXi补丁信息检索,证实在上述时间点后,官方并未再发布上述产品的任何安全补丁。
四、样本分析
ESXiArgs勒索程序使用RSA+sosemanuk的组合加密算法进行加密,但本身功能简单,只具备加密单个文件的能力,因此攻击者将勒索程序与shell脚本结合使用,通过shell脚本实现批量文件加密、修改系统文件、清理日志及自身文件等功能。
- 勒索程序分析
样本为Linux 64位可执行程序,在相关威胁情报平台上,该样本的最早上传时间为2023年2月4日。
样本运行时,需要提供指定参数,其中公钥文件<publibc_key>和加密文件路径<file_to_encrypt>是必选参数,可选参数包括�