安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

admin 2023年9月24日16:23:46评论39 views字数 4296阅读14分19秒阅读模式

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

01简介

近期,研究人员发现了一种针对Redis数据存储部署的新型蠕虫病毒,命名为“P2Pinfect”。该蠕虫使用Rust编写,Rust是一种高度可扩展且对云友好的编程语言,能够针对Redis跨平台攻击,这是一种在云环境中大量使用的流行开源数据库应用程序。

Redis实例可以在Linux和Windows操作系统上运行。研究人员在过去两周内发现了超过30.7万个公开通信的独特Redis系统,其中934个可能容易受到这种P2P蠕虫变体的攻击。

P2PInfect蠕虫利用Lua沙盒逃逸漏洞(CVE-2022-0543)攻击Redis实例,P2PInfect利用Redis跨平台运行的优势,比其他恶意软件更具可扩展性。该病毒利用CVE-2022-0543进行初始访问,释放建立P2P通信的初始有效负载。一旦建立了P2P连接,蠕虫就会删除其他恶意二进制文件,(如操作系统特定的脚本和扫描软件)。随后受攻击的实例加入P2P网络,向未来受攻击的Redis实例提供对其他有效负载的访问。

以这种方式使P2PInfect蠕虫更容易在云容器环境有效运行和传播。研究人员就是在HoneyCloud环境中发现蠕虫的,因为它攻击了HoneyCloud环境中的Redis容器实例。

HoneyCloud是一组蜜罐,可用来识别和研究跨公共云环境的新型基于云的攻击。研究人员认为这次P2P攻击活动是利用P2P命令和控制(C2)网络的攻击的第一阶段。P2PInfect的恶意工具包中存在“挖矿”功能,但没有发现任何信息表明曾经发生过挖矿行为。此外P2P网络拥有多种C2功能,如“自动更新”等,允许P2P网络的控制器将新的有效负载推送到网络中,从而改变和增强任何恶意操作的性能。

02P2PInfect实例分析

研究人员使用Palo Alto Networks的HoneyCloud环境发现了第一个已知的P2PInfect实例,这是一组蜜罐。

P2PInfect蠕虫使用P2P网络来支持和促进恶意二进制文件的传输。之所以选择这个名称是因为术语P2PInfect出现在泄露的符号中,反映了恶意软件的结构,如下图所示。

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

所有收集到的P2P蠕虫样本都是用Rust编写的,这使蠕虫能够针对Linux和Windows操作系统上的Redis实例进行跨平台攻击,需要注意的是Redis不正式支持Windows操作系统。

该蠕虫使用CVE-2022-0543攻击Redis。针对该特定漏洞的首次攻击于2022年3月被发现,导致受攻击的Redis实例可能与Muhstik僵尸网络有关。

通过利用Lua漏洞进行初始攻击后执行初始有效负载,该初始有效负载建立与更大的C2僵尸网络的P2P通信,僵尸网络充当P2P网络,用于向未来攻击的Redis实例传播其他有效负载。一旦建立了P2P连接,蠕虫就会传播额外的有效负载,例如扫描仪。然后新攻击的实例加入P2P网络的行列,为未来受攻击的Redis实例提供扫描有效负载。

P2PInfect利用CVE-2022-0543在云容器环境中实施攻击,容器的功能减少了。例如取消了“cron”服务,许多利用Redis的蠕虫使用cron服务实现远程代码执行(RCE)。P2PInfect结合了CVE-2022-0543的漏洞旨在覆盖尽可能多的易受攻击场景,包括云容器环境。

由于P2PInfect蠕虫是新发现的,在这里重点进行样本分析及其支持的P2P架构。

03CVE-2022-0543利用分析

P2PInfect目前利用Lua沙盒逃逸漏洞CVE-2022-0543进行初始访问。此漏洞已在Muhstik和Redigo等以前的攻击中被使用,这两种攻击都会导致受攻击的Redis实例参与针对其他系统的拒绝服务(DoS)、Flooding攻击和暴力攻击。

这种利用向量与之前所看到的模式类似。然而P2PInfect的漏洞利用后操作与以前使用该漏洞的操作有很大不同。需要注意的是,此漏洞不是Redis应用程序漏洞而是Lua沙盒漏洞。

虽然这个活动确实针对易受攻击的Redis实例并执行类似蠕虫的操作,但与其他已知的以Redis为目标并部署蠕虫的组织没有已知的联系,例如Automated Libra(又名PurpleUrchin), Adept Libra(又名TeamTNT), Thief Libra(又名WatchDog), Money Libra(又名Kinsing), Aged Libra(又名Rocke)或Returned Libra(又名8220)。

P2PInfect蠕虫的初始攻击媒介就是通过CVE-2022-0543利用Redis,这在已知的以Redis实例为目标的其他以加密劫持为任务的蠕虫中并不常见,例如Adept Libra(又名TeamTnT)、Thief Libra(别名WatchDog)、Money Libra(又称Kinsing)。

CVE-2022-0543是Lua库中的一个漏洞,与Debian Linux包管理打包和传播Redis的方式有关。因此它只影响使用Debian的Redis用户。由于专注于操作系统并利用Redis的一个子组件进行攻击,P2PInfect的攻击很复杂。下图是捕获的CVE-2022-0543漏洞的一个示例。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

如上图所示,可以看到漏洞是如何被攻击者利用的。如第四行所示,攻击者通过端口60100连接到一个C2 IP地址写入IP cnc。端口60100是P2PInfect用于维护C2通信的P2P通信端口之一。第四行中的初始有效负载将GET请求设置到目录/linux,其他二进制文件分布在P2P网络中。

04网络通信行为分析

P2PInfect使用P2P网络向新攻击的系统或云传播后续恶意软件。当系统首次受到攻击时将建立到P2P网络的连接,并下载要使用的自定义协议的样本。如下图所示,命令GET/linux之后是核心P2PInfect功能的映像下载。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

Linux和Windows操作系统P2PInfect示例以相同的方式进行通信。linux、miner、winminer和windows以明文形式从P2P网络下载。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

(从P2P网络中提取的恶意软件样本的列表)

一旦核心P2PInfect样本完成执行,有效负载将开始扫描其他主机以进行攻击。扫描的重点是暴露的Redis主机。研究人员还发现受攻击的Redis实例也会在端口22 SSH上执行扫描尝试。由于P2PInfect没有已知的攻击SSH的企图,目前还不清楚为什么会发生这种扫描操作,但端口22在被其他已知蠕虫攻击后被扫描并不罕见。

4.1节点通信

主滴管使用TLS 1.3与当前已配置节点列表上的任何其他侦听P2P成员进行通信。当受攻击节点向P2P网络发送具有所有已知节点的json请求时更新C2基础设施,C2基础设施的更新将自动下载。节点更新的示例如下图所示。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

带有x.x.x.x的值是当前节点IP或新学习的节点。

05扫描行为

下图展示了受攻击主机扫描暴露SSH实例的网络扫描过程。这些扫描操作发生在P2PInfect功能选择的随机网络范围内。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

扫描SSH实例

下图是对暴露的Redis实例的P2PInfect扫描操作。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

06P2PInfect的其他观察结果

一些发送到被攻击系统的初始有效负载P2P样本包含UPX,而第二阶段的恶意软件样本miner和winminer没有包含UPX。

在第一个滴管运行后开始解密从命令行接收的配置,以及关于P2P网络中其他节点的信息。研究发现P2P端口是可变的,利于攻击者发起攻击。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

(P2PInfect的可变端口示例)

所有样本都是用Rust编写的,有些样本内部有“泄露的符号”,可以显示恶意软件开发者的项目结构。例如windows示例主执行线程泄露了项目的名称以及攻击者的文件目录使用情况,如下图所示。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

研究人员还发现了一个用于在受感染的主机和P2P网络之间建立和维护通信的PowerShell脚本,利用encode命令来混淆通信启动。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

PowerShell命令执行的第一个操作之一是配置本地系统防火墙,阻止对受攻击Redis应用程序的合法访问(见下图的第5行)。然后(从下图中的第17行开始),脚本打开一个通信端口,供攻击者访问受攻击实例。这是持久性攻击的一种形式,允许攻击者保持对受感染主机的访问并保持其可操作性。安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

(修改被攻击Windows实例的网络流量规则)

从解码的PowerShell中可以看出防火墙配置设置如下:

  • 对等端口为60102,此端口是可变的,因为并非所有节点都使用相同的端口;

  • Redis端口6379只允许连接已知的C2 IP;

  • 防火墙规则名为Microsoft Sync。

07监控进程

在Windows操作系统中运行时,初始P2PInfect负载的另一个有趣功能是一个名为Monitor的进程。Monitor进程的作用是维护受攻击主机上运行的P2PInfect进程的功能。Monitor被转储到C:UsersusernameAppDataLocalTempcmd.exe,Monitor (cmd.exe)枚举系统运行进程的示例如下所示:安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

启动Monitor(cmd.exe)后,初始P2PInfect负载从P2P网络下载其自身的新版本,并以随机名称保存到相同原始文件夹中释放加密配置(.conf)。

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

执行新的P2PInfect下载版本并启动扫描操作以查找其他易受攻击的Redis实例。初始P2PInfect滴管将尝试自删除,如下所示。

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

08总结

P2PInfect是一个功能复杂且设计先进的蠕虫病毒,因使用Rust语言编写从而具备了许多灵活性功能,可以快速在多个操作系统中传播,同时也使代码的静态分析变得更加困难。


声明:

1.本文档由天融信安全团队发布,未经授权禁止第三方转载及转投。
2.本文档所提到的技术内容及资讯仅供参考,有关内容可能会随时更新,天融信不另行通知。
3.本文档中提到的信息为正常公开的信息,若因本文档或其所提到的任何信息引起了他人直接或间接的资料流失、利益损失,天融信及其员工不承担任何责任。


相关阅读

1.安全永不落幕!
2.国家网络安全宣传周专题:网安人成长记
3.2023年产学合作协同育人项目申报邀请
4.讲师招募计划 正式启动
5.第六期产学合作协同育人项目网安师资培训 正式开班

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析
官网:http://www.topsec-edu.cn
热线:400-017-0077
邮箱:[email protected]
客服:topsec-sky

原文始发于微信公众号(天融信教育):安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年9月24日16:23:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   安全运营内刊—威胁分析与响应能力—针对Redis服务器的P2PInfect蠕虫病毒分析http://cn-sec.com/archives/2063822.html

发表评论

匿名网友 填写信息