社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python勒索软件:一场针对VMware ESXi服务器的闪电战

FreeBuf • 3 年前 • 399 次点击  

只要一小段Python代码,就可以发动一场针对VMware ESXi服务器的、闪电战般的勒索攻击。从最初的入侵到最后的加密,整个过程只需要不到三个小时。

近日,研究人员发现了一种新型的Python勒索软件,它来自一个默默无闻的勒索攻击团伙。但它却以极其犀利的攻击手法和“狙击”一样的攻击速度,对VMware和 ESXi服务器发起了攻击。

2021年10月5日,网络安全公司Sophos表示,该勒索软件针对托管在ESXi服务器上的VMware进行入侵和加密。只需短短三个小时,就可以完成一次完整的勒索攻击。

Sophos首席安全研究员Andrew Brandt在新闻发言中说道:“这是Sophos公司调查过的、攻击速度最快的勒索软件之一,而且它似乎精确地瞄准了ESXi平台。”

Brandt指出,Python编码语言用于勒索软件的情况比较少见,但在这次勒索攻击中却表现的很“迅猛”。因为Python和ESXi一样,常预装在Linux系统上,这就给基于这些系统上的Python攻击成为可能。

ESXi成为勒索攻击的第一目标

虽然选择Python构建勒索软件出乎大多数人的意料,但是针对ESXi服务器的攻击并非不可能。裸机安装的VMware’s ESXi(以前被称为 ESX)一直是攻击者的最爱,这是一种全新和极其简化的方式,可以轻松安装到服务器上,并将其划分为多个虚拟机中。

此举虽然可以让很多台虚拟机共享硬盘、驱动和存储,但也让系统在遭受攻击时容易被一锅端。攻击者可以对用来存储虚拟机数据的集中式虚拟硬盘进行加密,因此可以一次性锁定大量的虚拟机。

2021年7月,就在REvil勒索团伙推出了一个Linux变种勒索软件,同样针对VMware ESXi服务器,以及它的网络连接存储(NAS)设备之后,AT&T网络安全部门的外星人实验室给出了这样的解释。

7月中下旬,HelloKitty 加入其中,越来越多的勒索软件巨头开始追逐ESXi这个“有趣”的目标。随后,DarkSide也开始将目标瞄准了ESXi服务器。2021年6月,AT&T外星人实验室分析了DarkSide Linux版本的勒索软件,它也是上个季度最为活跃的勒索软件之一。

简单来说,ESXi已经成为勒索攻击者眼中的香饽饽,它们都渴望来一次酣畅淋漓的ESXi攻击,这就跟在老虎机上中大奖一样令人腺上肾素飙升。

对此,Brandt解释说,“ESXi服务器之所以会成为勒索团队眼中的高吸引力目标,是因为它们可以一次攻击多个虚拟机,而这些虚拟机往往承载着企业的关键业务或应用程序,这样既可以快速完成攻击,又可以对目标造成极高的破坏。”

一场勒索攻击闪电战

在一次勒索软件的调查过程中,Sophos的研究员偶然间发现了一个全新的勒索攻击——以Python为脚本,攻击速度超快。

在某个周日的凌晨12点30分,勒索攻击正式开始。勒索软件攻击者计划入侵用户的远程控制账号,该账号必须满足两个条件:具有管理员访问权限,但没有启用多因素身份验证(MFA)。

随后,勒索攻击者开始了他的闪电战表演。

凌晨12点40分

十分钟后,攻击者使用高级IP扫描器在全网范围内寻找网络目标。Sophos公司的调查人员认为,处于联网状态下的ESXi服务器更容易遭受攻击,因为它有一个IT团队使用的active shell,用于执行命令和更新。

根据Sophos公司的报告,目标ESXi服务器有一个名为ESSi Shell的内置SSH服务,管理员可以启用该服务,但默认情况下通常会禁用该服务。

Brandt的调查结果显示,该组织的IT人员习惯使用ESXi Shell来管理服务器,并在攻击前一个月多次启用和禁用Shell。遗憾的是,他们最后一次调用Shell后,并没有禁用它。当勒索攻击者发现shell处于活跃状态时,他们随即利用了这一偶然因素。

凌晨2点整

攻击发起一个半小时之后,攻击者下载了名为Bitvise的SSH客户端,用它登录了 VMware ESXi 服务器上,并使用高级IP扫描器进行扫描。

凌晨3点30分

攻击发起三个小时之后,攻击者窃取到了管理员凭证并登录了ESXi Shell,随后他们讲一个名为“fcker.py”的文件复制到ESXi数据存储,其中存储了虚拟机运行时所使用的虚拟磁盘映像。

Python脚本使用ESXi Shell的 vim-cmd命令函数,生成了服务器上安装的、所有虚拟机的名称列表,并把它们全部关闭。因为只有在虚拟机全部关闭后,脚本才会开始对存储数据进行加密。

(图片来源于threatpost)

攻击者开始执行Python脚本,一个接一个地标记虚拟机,并通过路径将数据存储磁盘不断传递给脚本,其中每个磁盘中都包含了多个虚拟机的虚拟磁盘和设置文件。

有意思的是,勒索软件片段对其加密的每个文件只使用一条指令,因此需要调用开源工具OpenSSL来使用以下命令加密文件:openssl rsautil -encrypt -inkey pubkey.txt -pubin -out [filename].txt

Sophos公司的调查人员最终还是找到了一份文件副本。

尽管勒索攻击者删除了该文件,删除的信息包括目录列表、虚拟机及其名字等,并且在完全删除之前,他们还费尽心机地使用其他信息进行覆盖。值得一提的是,覆盖的数据也不是别的,而是一句骂人的“f-k”。

蟒蛇虽小,毒牙亦很锋利

你敢相信,这么一款拥有高攻击力和超过攻击速度的勒索软件只有6kb大小?但却足以给企业造成严重的经济损失。

Brandt表示,该脚本包含了一些变量,攻击者可以配置多个加密密钥、电子邮件地址,以及被附加到加密文件中的、可以自定义的文件后缀。具体来说,Python脚本作为变量嵌入到加密文件(ext)的文件后缀,攻击者还提供了两个电子邮件地址,用于受害人支付赎金。

攻击者还“细心”地嵌入了如下所示的赎金说明文本。

(图片来源于threatpost)

加密密钥-R-Us

在浏览代码和调查研究时,Sophos公司发现了一个奇怪的现象:数据加密过程中有多个硬编码的加密密钥,以及一个如何“生成更多的加密密钥对”的演示程序。

Brandt表示,“一般情况,攻击者只需要嵌入自己电脑上生成的‘公钥’,并用它来加密目标计算机上的文件,但是这个勒索软件似乎每次运行时都会创建一个独特的密码。”

这似乎不符合常理。随着Sophos公司调查的深入,这才发现了其中的缘由。

原来在勒索攻击过程中,攻击者对每个想要加密的ESXi数据存储,都执行了一次脚本,而每一次执行,该脚本都会自动生成一个唯一的密钥对,并用它来加密文件。例如攻击者在某个操作中,针对三个数据存储进行加密,每次都是单独执行脚本,自然也就创建了三个唯一的密钥对,每个数据存储都有一个。

有意思的地方来了,这个脚本根本没有能力将秘钥传输出去,所以这些秘钥依旧保留在目标电脑上。但攻击者显然不会这么愚蠢,让受害者可以免费使用秘钥来解密文件,这样他们拿不到任何赎金。

为了解决这一问题,攻击者只好又写了一份秘钥的副本,然后嵌入硬编码公钥进行加密。

Sophos公司的调查报告显示,“勒索软件的脚本运行了演示程序,列出了执行过程中提供给脚本路径的所有文件。脚本会生成一个唯一的文件,由32字节随机代码组成的aeskey,然后使用aeskey对文件进行加密,并作为“salt值”加入到/tmp 路径中。”

最后,攻击者将aeskey的价值赋予到加密文件,对文件附加了一个新的文件后缀,再使用“fuck”单词对原始文件进行覆盖后,删除了原始文件,最后将加密文件从/tmp移动到存储原始文件的位置。

ESXi服务器的端点保护能力不足

Brandt表示,虽然针对ESXi等系统的Linux恶意软件变种相对“罕见”,但是ESXi服务器的端点保护能力明显不足。对此,他提出了一些针对ESXi服务器以及其他管理程序的建议和最佳安全实践:

1.避免使用重复的密码

2.密码越长越复杂越好

3.尽量使用MFA,并对高权限的账户(如管理员账户)强制执行。

4.不用时一定要禁用Shell

“在上述案例中,我们应该使用计算机本身的物理控制台来开启或关闭ESXi Shell,或者是通过VMware提供正常的管理工具。只有在员工使用期间,Shell才能保持活跃状态,而当计算机完成了工作和维护(比如安装补丁)后,管理员应立即禁止它运行。”

文章来源:

https://threatpost.com/vmware-esxi-encrypted-python-script-ransomware/175374/



精彩推荐







Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/121561
 
399 次点击