
管理员、托管服务提供商和法国计算机紧急响应小组 (CERT-FR) 警告说,攻击者积极针对 VMware ESXi 服务器针对一个已有两年之久的远程代码执行漏洞未打补丁,以部署新的 ESXiArgs 勒索软件。
该安全漏洞编号为 CVE-2021-21974,由 OpenSLP 服务中的堆溢出问题引起,未经身份验证的威胁参与者可以利用该问题进行低复杂度攻击。
根据目前的调查,这些攻击活动似乎正在利用 CVE-2021-21974 漏洞,自 2021 年 2 月 23 日以来已经提供了补丁。
当前针对的系统将是 6.x 版和 6.7 之前的 ESXi 管理程序。
为了阻止传入的攻击,管理员必须在尚未更新的 ESXi 管理程序上禁用易受攻击的服务定位协议 (SLP) 服务。
CERT-FR 强烈建议尽快应用补丁,但补充说,还应扫描未打补丁的系统以寻找受损迹象。
CVE-2021-21974 影响以下系统:
ESXi70U1c-17325551 之前的 ESXi 版本 7.x
ESXi670-202102401-SG 之前的 ESXi 版本 6.7.x
ESXi650-202102101-SG 之前的 ESXi 版本 6.5.x
法国云提供商 OVHcloud 今天也发布了一份报告,将这一针对 VMware ESXi 服务器的大规模攻击浪潮与内华达勒索软件行动联系起来。
根据生态系统专家和当局的说法,它们可能与 Nevada 勒索软件有关,并使用 CVE-2021-21974 作为危害媒介。仍在进行调查以确认这些假设。”
攻击主要针对 7.0 U3i 之前版本的 ESXi 服务器,显然是通过 OpenSLP 端口 (427)。
根据Shodan 搜索,全球至少有 120 台 VMware ESXi 服务器已在此勒索软件活动中遭到破坏。
然而,从这次攻击中看到的赎金记录来看,它们似乎与 Nevada 勒索软件无关,似乎来自一个新的勒索软件家族。
勒索软件在受感染的 ESXi 服务器上使用 .vmxf、.vmx、.vmdk、.vmsd 和 .nvram 扩展名加密文件,并为每个包含元数据(可能需要解密)的加密文档创建一个.args文件。
虽然这次攻击背后的威胁行为者声称窃取了数据,但一名受害者报告说,他们的事件并非如此。
管理员称:我们的调查确定数据没有被渗透。在我们的案例中,被攻击的机器有超过 500 GB 的数据,但典型的每日使用量仅为 2 Mbps。我们审查了过去 90 天的流量统计数据,没有发现出站数据的证据转移。
受害者还在锁定的系统上发现了名为“ransom.html”和“How to Restore Your Files.html”的赎金票据。其他人说他们的笔记是明文文件。

ESXiArgs 赎金票据
ID Ransomware 的 Michael Gillespie 目前正在追踪名为“ ESXiArgs ”的勒索软件,在找到样本之前,无法确定它是否存在任何加密弱点。
ESXiArgs 技术细节
昨晚,管理员检索了 ESXiArgs 加密器和相关 shell 脚本的副本,并分享了它。
分析脚本和加密器使我们能够更好地理解这些攻击是如何进行的。
当服务器被破坏时,以下文件存储在 /tmp 文件夹中:
encrypt - 加密器 ELF 可执行文件。
encrypt.sh - 作为攻击逻辑的 shell 脚本,在执行加密器之前执行各种任务,如下所述。
public.pem - 用于加密加密文件的密钥的公共 RSA 密钥。
motd - 文本形式的赎金票据,将被复制到 /etc/motd,以便在登录时显示。服务器的原始文件将被复制到 /etc/motd1。
index.html - HTML 格式的赎金票据,将取代 VMware ESXi 的主页。服务器的原始文件将被复制到同一文件夹中的 index1.html。
ID Ransomware 的 Michael Gillespie 分析了加密器并告诉我们不幸的是,加密是安全的,这意味着没有密码学漏洞允许解密。
它期望的 public.pem 是一个公共 RSA 密钥;我的猜测是基于查看加密文件的 RSA-2048,但代码在技术上接受任何有效的 PEM。
对于要加密的文件,它使用OpenSSL的安全CPRNG RAND_pseudo_bytes生成 32 个字节,然后使用此密钥使用安全流密码 Sosemanuk 加密文件。
文件密钥使用RSA(OpenSSL 的 RSA_public_encrypt)加密,并附加到文件的结尾。
Sosemanuk 算法的使用相当独特,通常只用于从 Babuk(ESXi 变体)源代码派生的勒索软件。情况可能是这样,但他们修改它以使用 RSA 而不是 Babuk 的 Curve25519 实现。
该分析表明 ESXiArgs 可能基于泄露的 Babuk 源代码,该源代码之前已被其他 ESXi 勒索软件活动使用,例如 CheersCrypt 和 Quantum/Dagon 组的 PrideLocker 加密器。
虽然 ESXiArgs 和 Cheerscrypt 的赎金票据非常相似,但加密方法不同,因此不清楚这是新变种还是共享 Babuk 代码库。
此外,这似乎与 OVHcloud 先前提到的 Nevada 勒索软件无关。
加密器由一个 shell 脚本文件执行,该脚本文件使用各种命令行参数启动它,包括公共 RSA 密钥文件、要加密的文件、不会加密的数据块、加密块的大小和文件尺寸。

该加密器是使用 encrypt.sh shell 脚本启动的,该脚本充当攻击背后的逻辑,我们将在下面对其进行简要描述。
启动时,脚本将执行以下命令来修改 ESXi 虚拟机的配置文件 (.vmx),以便将字符串“ .vmdk” 和“ .vswp” 更改为“ 1.vmdk” 和“ 1.vswp ”。

修改VMX文件
然后,该脚本以类似于此VMware 支持文章的方式强制终止 (kill -9) 所有包含字符串“ vmx ”的进程,从而终止所有正在运行的虚拟机。
该脚本随后将使用“ esxcli storage filesystem list | grep "/vmfs/volumes/" | awk -F' ' '{print $2}”命令获取 ESXi 卷列表。
该脚本将在这些卷中搜索与以下扩展名匹配的文件:
.vmdk .vmx .vmxf .vmsd .vmsn .vswp .vmss .nvram .vmem
对于每个找到的文件,脚本将在同一文件夹中创建一个 [file_name].args 文件,其中包含计算出的大小步长(如下所示)、“1”和文件大小。
例如,server.vmx 将有一个关联的 server.vmx.args 文件。
然后,该脚本将使用“加密”可执行文件根据计算出的参数加密文件,如下面的屏幕截图所示。

创建.args文件和加密文件的例程
加密后,脚本将用赎金票据替换 ESXi index.html 文件和服务器的 motd 文件,如上所述。
最后,该脚本执行一些清理,删除似乎安装到
/store/packages/vmtools.py [ VirusTotal ]
的后门,并从以下文件中删除多行:
/var/spool/cron/crontabs/root
/bin/hostd-probe.sh
/etc/vmware/rhttpproxy/endpoints.conf
/etc/rc.local.d/local.sh

清理各种 Linux 配置文件和潜在后门
这种清理和对 /store/packages/vmtools.py 的提及与瞻博网络 在 2022 年 12 月看到的 ESXi 服务器的自定义 Python 后门非常相似 。
所有管理员都应该检查此 vmtools.py 文件是否存在,以确保它已被删除。如果找到,应立即删除该文件。
最后,脚本执行 /sbin/auto-backup.sh 更新保存在 /bootbank/state.tgz 文件中的配置并启动 SSH。
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame
我有一个使用PDFKit呈现网页的pdf版本的Rails应用程序。我使用Thin作为开发服务器。问题是当我处于开发模式时。当我使用“bundleexecrailss”启动我的服务器并尝试呈现任何PDF时,整个过程会陷入僵局,因为当您呈现PDF时,会向服务器请求一些额外的资源,如图像和css,看起来只有一个线程.如何配置Rails开发服务器以运行多个工作线程?非常感谢。 最佳答案 我找到的最简单的解决方案是unicorn.geminstallunicorn创建一个unicorn.conf:worker_processes3然后使用它:
我将以下代码放在一起用于一个简单的RubyTFTP服务器。它工作正常,因为它监听端口69并且我的TFTP客户端连接到它,我能够将数据包写入test.txt,但我不只是写入数据包,我希望能够从我的客户端通过TFTP传输文件到/temp目录。预先感谢您的帮助!require'socket.so'classTFTPServerdefinitialize(port)@port=portenddefstart@socket=UDPSocket.new@socket.bind('',@port)whiletruepacket=@socket.recvfrom(1024)putspacketFile
在previousquestion中我想出了如何在多个服务器上启动经过密码验证的sshsession来运行单个命令。现在我需要能够执行“sudo”命令。问题是,net-ssh-multi没有分配sudo需要运行的伪终端(pty),导致以下错误:[127.0.0.1:stderr]sudo:sorry,youmusthaveattytorunsudo根据documentation,可以通过调用channel对象的方法来分配伪终端,但是,以下代码不起作用:它会生成上面的“notty”错误:require'net/ssh'require'net/ssh/multi'Net::SSH::Mul
我刚刚在我的Ubuntu9.10服务器上安装了TeamBox。我使用提供的服务器脚本在端口3000上启动并运行它。它的运行速度非常慢,从另一台计算机连接时每个HTTP请求最多需要30秒。我使用链接从shell加载TeamBox,一点也不花时间。然后我设置了一个SSH隧道,它再次运行得非常快。我通过此服务器上的apache以及SAMBA等运行了大约30个虚拟主机,没有任何问题。我该如何解决这个问题? 最佳答案 我的redmine(ruby,webrick)太慢了。现在我解决了这个问题:apt-getinstallmongrelruby