近日以VMware ESXi服务器为目标的大规模勒索软件攻击正在席卷全球,包括法国、芬兰、加拿大、美国、意大利等多个国家数千台服务器遭到入侵。攻击者利用了2021年2月公开的高危漏洞(CNVD-2021-12321,https://www.cnvd.org.cn/flaw/show/CNVD-2021-12321),可以向WMware ESXi软件目标服务器427端口发送恶意构造的数据包,从而触发其OpenSLP服务堆缓冲区溢出,并执行任意代码,借以部署新的 ESXiArgs 勒索软件。

一、漏洞详情

VMware vSphere是美国威睿公司推出一套服务器虚拟化解决方案,包括虚拟化、管理和界面层。VMware vSphere的两个核心组件是ESXi服务器和vCenter。VMware ESXi是VMware的裸机虚拟机管理程序,用以创建运行虚拟机和虚拟设备。VMware vCenter Server是管理整个VMware虚拟化基础架构的软件,用于集中管理多个ESXi主机和以及在ESXi主机上运行的虚拟机。

VMware ESXi堆溢出漏洞(CVE-2021-21974):当ESXi在OpenSLP服务中处理数据包时,由于边界错误,本地网络上的远程非身份验证攻击者可以将伪造的数据包发送到427端口,触发基于堆的缓冲区溢出,并在目标系统上执行任意代码。

近期,网络上出现了一种新的勒索软件 ESXiArgs ,该勒索软件于今年2月开始大规模出现。攻击者利用两年前未经修补的 RCE 漏洞 CVE-2021-21974 将恶意文件传输至 ESXi 导致 OpenSLP 服务中的堆溢出。

二、影响范围:

VMware ESXi70U1c-17325551 7.0版本

VMware ESXi670-202102401-SG 6.7版本

VMware ESXi650-202102101-SG6.5版本

受 ESXiArgs 影响 ESXi 服务器涉及版本集中在 6.7.0、6.5.0、6.0.0、5.5.0,但 VMware 关于 CVE-2021-21974 的官方公告并没有具体说明 6.0.0 和 5.5.0 版本是受影响的版本,但是,根据网络空间测绘数据统计该版本明确被攻击。

国内存在该漏洞影响的服务器数量如下所示(基于censys统计数据):

版本

数量统计

ESXi 6.5

715

ESXi 6.7

3184

ESXi 7.0

1271

ESXi 6.0.0

665

ESXi 5.0.0

342

三、漏洞解决办法:

方法一:通过官方补丁,对VMware ESXi进行升级。

VMware官方此前已发布补丁修复此漏洞,参考链接:https://www.vmware.com/security/advisories/VMSA-2021-0002.html

方法二:不具备补丁升级条件的,可以通过关闭OpenSLP服务来规避。

1、登录ESXi,选中左侧导航器的主机,在右侧选择“操作-服务-启用安全Shell(SSH)”;

2、远程登录ESXi主机,文中是通过xshell连接,注意这里的密码要选择Keyboard Interactive,这个账号密码就是你ESXi的账号密码

  1. 查看SLP服务状态

/etc/init.d/slpd status

如果显示slpd is running,则表示该服务正常运行中。

  1. 停止SLP服务

/etc/init.d/slpd stop
  1. 禁用SLP服务

esxcli network firewall ruleset set -r CIMSLP -e 0
  1. 查看SLP是否设置了开机自启动

chkconfig --list | grep slpd

7、如果slpd服务为on,则执行以下命令关闭自启动

chkconfig slpd off

四、勒索软件ESXiArgs恶意文件分析

通过分析发现与该勒索行为相关的文件共有5个,位于受害服务器中的/tmp/文件夹下,相关恶意文件及描述如下所示:

encrypt– 加密器(ELF可执行文件)

encrypted.sh – 执行加密器之前的功能文件

public.pem – 用于加密文件的RSA加密算法中的公钥

motd——文本格式的勒索信文件

index.html – html格式的勒索信文件

该样本使用参数进行启动,在程序启动初始阶段便会对参数进行强校验,样本通过正确参数启动后便会进行后续操作,勒索信文件名为 “How to Restore Your Files.html”, 指示受害者通过 TOX_ID 与攻击者取得联系,以恢复加密文件或防止数据被泄露。

encrypt.sh

shell脚本整体逻辑如下所示:

修改配置文件

修改虚拟机的磁盘文件 vmdk 及虚拟内存文件 vswp 的文件名,增加受害者在文件加密后找到和恢复初始数据的困难性。

加密文件

首先枚举 ESXi 主机上所有的存储卷,因此未连接到 VM 的虚拟磁盘可能也会受到影响。

加密存储卷中包含如下扩展名的文件:

*.vmdk

*.vmx

*.vmxf

*.vmsd

*.vmsn

*.vswp

*.vmss

*.nvram

*.vmem

持久化

将 encrypt_file() 勒索信文件复制到 /usr/lib/vmware 目录下

防御规避

该勒索软件为了避免被发现及数据恢复,尝试了如下操作:包括删除系统中所有的 log 文件、清除计划任务、删除备份文件、删除 http 端口配置文件中所有存在的 ip、删除store/packages/vmtools.py后门文件及最初始上传的 tmp/ 目录下的恶意文件。

启动ssh服务

加密器encrypt

启动命令,启动参数包括公共 RSA 密钥文件、要加密的文件路径、避免加密的数据块、加密块的大小和文件大小。

勒索软件启动会执行多个步骤来加密系统文件。

encrypt_file()函数进一步调用encrypt_simple()函数来执行加密过程。下图显示了 encrypt_file()函数的代码片段

encrypt_simple函数如下所示:

sosemanuk_encrypt 加密过程如下所示:

检查存储在 result 中的值是否小于 0x4F,当小于 0x4F时,它将明文的前 80LL - (a1 + 128)字节与 Sosemanuk 密码的内部状态进行异或。然后该函数进入一个循环,每次以 80LL 字节的块加密剩余的明文,在每个块加密后更新 Sosemanuk密码的内部状态。然后将加密块与明文进行异或运算以生成密文。

文件小于 128MB 时,完全加密

文件大于 128MB (1M=1024K)时未完全加密

生成流密钥

ATT&CK

IOCs

ESXi勒索软件支付地址列表

https://gist.github.com/cablej/c79102960c4615396e8ffc712136744a

MD5

d0d36f169f1458806053aae482af5010 encrypt.sh

87b010bc90cd7dd776fb42ea5b3f85d3 encrypt

五、勒索软件ESXiArgs处置建议

  1. 上述漏洞解决方案;

  1. 检查文件 “vmtools.py” 是否存在于“/store/packages/”位置。如果找到,建议立即删除该文件。

  1. 重要的数据最好双机备份。

VMware ESXi OpenSLP堆溢出漏洞,附本次勒索软件ESXiArgs恶意文件分析(CNVD-2021-12321对标CVE-2021-21974)相关推荐

  1. CVE-2012-1876 Internet Exporter堆溢出漏洞分析

    文章目录 漏洞描述 IE浏览器组件介绍 分析环境 POC 漏洞分析 漏洞利用 参考资料 漏洞描述 该IE浏览器漏洞的成因在mshtml.dll这个模块的CTableLayout::CalculateM ...

  2. linux函数 取值溢出,Linux eCryptfs工具parse_tag_3_packet()函数堆溢出漏洞

    发布日期:2009-07-28 更新日期:2009-07-29 受影响系统: Linux kernel 2.6.30.3 描述: ----------------------------------- ...

  3. Netgear R6400v2 堆溢出漏洞分析与利用

    2020 年 6 月,ZDI发布了一个关于Netgear R6700型号设备上堆溢出漏洞的安全公告,随后又发布了一篇关于该漏洞的博客,其中对该漏洞进行了详细分析,并给出了完整的漏洞利用代码.该漏洞存在 ...

  4. 转载:WPS 2012/2013 RTF fchars 堆溢出漏洞分析

    WPS 2012/2013 RTF fchars 堆溢出漏洞分析 On 2013年12月11日, in 安全分析, by code_audit_labs by phperl ,zzf,nine8 of ...

  5. android 9patch 漏洞,Android 9patch 图片解析堆溢出漏洞分析(CVE-2015-1532)

    [前言] 日前谷歌公开了一个今年1月份更新的漏洞.这个漏洞修复了一个存在于Android 5.1版本以下图片渲染的问题,可以查看相关链接. 9patch是Android上特有的一种图片格式,就是在普通 ...

  6. CVE-2014-6321 schannel堆溢出漏洞分析

    cssembly · 2014/12/05 12:09 0x00 背景 MS14-066 (CVE-2014-6321) 是存在于Microsoft的schannel.dll中的TLS堆缓冲区溢出漏洞 ...

  7. 【漏洞分析】Foxit Reader BMP biWidth 堆溢出漏洞(CVE-2017-17557)

    0x00 前言 总体来说,坑不多,走下来很平坦.毕竟只是简单的整数溢出漏洞,没有太多知识点. 0x01 简介 Foxit Reader 在2018年5月18日的安全公告中提及修复了因恶意调用特定函数, ...

  8. CVE-2012-0003:Microsoft Windows Media Player winmm.dll MIDI 文件堆溢出漏洞调试分析

    0x01 蜘蛛漏洞攻击包 前言:2012 年 2月,地下黑产中流行着一款国产名为蜘蛛漏洞的攻击包 -- "Zhi-Zhu Exploit Pack",该工具包含 5 个漏洞,都是在 ...

  9. CVE-2020-15999:Chrome Freetype字体库堆溢出漏洞通告

    360-CERT [三六零CERT](javascript:void(0)

最新文章

  1. String、StringBuffer、StringBuilder源码解析
  2. insightface测试验证集
  3. org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 285; cvc-elt.1.a: 找不到元素 ‘beans‘ 的声明。
  4. Quartus16.0如何使用TCL脚本
  5. python的datetime函数_Python连载8-datetime包函数介绍
  6. Linux下tomcat的配置
  7. 用c/c++实现linux下检测网络接口状态【ZT】
  8. 矩阵乘法c语言蓝桥杯,[蓝桥杯][基础练习VIP]矩阵乘法 (C语言代码)
  9. 机器学习算法基础7-计算范围内素数的五种算法
  10. [Mongodb]安装与启动
  11. spring的依赖注入的方式(待更新)
  12. 赫夫曼编码树(图解+完整代码)
  13. nofollow能否禁止爬虫爬取
  14. 自建企业邮箱如何选择服务器
  15. 如何与低智商的人相处?
  16. I2C、Arduino、ADXL345、
  17. 淮阴工学院计算机科学讲师,淮阴工学院计算机与软件工程学院统战人士工作业绩...
  18. perl 、shell、python之shell脚本入门
  19. 200万年薪,西交大2位计算机博士入选华为天才少年
  20. 年度好莱坞大片《东京出逃》,藏身琴盒脱身后飞跃亚洲大陆

热门文章

  1. 博士生AI岗位面试经验分享:这样可以让您的薪水翻一倍
  2. 轻量云服务器远程连接不了怎么办?
  3. 推荐20个5月最热门的Java开源项目
  4. 编译原理: 做一个LL(1)语法分析器
  5. 您的公司是如何应对发生在日本的灾难的
  6. 转 安卓控件属性大全
  7. 关于数字电视用到的服务器介绍
  8. 性能测试培训 2018年8月31日 口述记录
  9. 河马php一句话木马,揭秘一句话木马的套路
  10. SPDIF 色差输出 视频输出 S-Video YUV YCbCr YPbPr RGB VGA WXGA 分别的详细介绍 视频方式接口简介