暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Lucifer:一款挖矿和DDOS混合型恶意软件分析

启明星辰金睛安全研究团队 2020-08-03
839

一、概述

Lucifer是一款混合型恶意软件,既可以进行挖矿,又能够进行DDOS攻击,而且还能够通过利用多个漏洞和MSSQL弱口令破解来进行自我传播。它会针对内部网感染的易受攻击目标释放并运行EternalBlue,EternalRomance和DoublePulsar后门。此外,该恶意软件利用的漏洞还包括:CVE-2014-6287,CVE-2018-1000861,CVE-2017-10271,ThinkPHP RCE漏洞(CVE-2018-20062),CVE-2018-7600,CVE-2017-9791,CVE-2019-9081,PHPStudy后门RCE,CVE-2017-0144,CVE-2017-0145和CVE-2017-8464。


二、详细分析

1、检测沙箱环境

恶意软件根据查询受害主机的计算机名称和用户名称,如果存在以下列表中的名称,则执行自循环,不再继续执行。
NMSDBOX
Avira   
WILBERT-SC 
COMPUTERNAME
XPAMASTC
CWSX
Kappa
VBOX
XXXX-OS
cuckoo
cwsx-
nmsdbox
qemu
sandbox
virtual
wilbert-sc
Xpamast-sc
xxxx - ox
cuckoosandbox

还检查以下设备驱动程序、DLL和虚拟设备是否存在,如果检测到如下的任何一个,则会进入无限循环,阻止进一步执行。


2、解密资源释放文件

Lucifer版本1中包含三个资源部分,每个资源都包含一个用于特定目的的二进制文件。资源X86是带UPX壳的x86版XMRig 5.5.0,资源X64是带UPX壳的x64版XMRig 5.5.0。资源SMB包含EternalBlue、EternalRomance和DoublePulsar后门。在Lucifer的版本2中多了个LNK资源,LNK资源释放CVE147159.exe,利用CVE-2017-8464漏洞进行传播。
下图分别为版本1和版本2中的资源:

执行后,Lucifer首先使用解密算法解密出C2的IP地址,然后将该IP地址作为互斥量名称。解密算法为:

然后,设置自启动注册表项:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\QQMusic–%恶意软件路径%
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\QQMusic–%恶意软件路径%
设置定时任务:

还会检查以下注册表项值中是否存储了任何现有的挖矿信息:
HKLM\Software\Microsoft\Windows\CurrentVersion\spreadCpuXmr–%stratum info%
如果数据存在且合法,则优先使用存储在此注册表项值中的挖矿信息,否则,恶意软件将退回到嵌入在二进制文件中的默认数据。
该恶意软件启用了调试特权,并启动了多个线程以并发方式执行其操作。下表总结了每个线程的功能。
功能地址
描述
0x0041C970
清除事件日志,删除日志文件,终止矿工进程,并每18000秒重复其清理例程。
0x00414B60
收集接口信息并将矿工状态发送到其C2服务器。
0x00419BC0
检查所有TCP连接的远程地址和远程端口。如果存在匹配,并且连接拥有进程不是恶意软件本身,并且进程的模块路径也不是C:\ProgramData\spreadXfghij.exe,则恶意软件将杀死该进程并删除该文件。
0x0041A780
获取或初始化其矿工参数,必要时终止矿工和Taskmgr进程,删除矿工二进制文件,并根据主机的内存使用情况使用参数值执行矿工二进制文件。矿工的x86或x64位版本都保存为C:\\ProgramData\\spreadXfghij.exe
0x00418DC0
通过爆破凭证和漏洞利用进行传播。释放Equation Group的利用程序,并利用SMB漏洞进行传播。
0x0041C840
将恶意软件复制并保存为C:\\ProgramData\\spread.txt

Lucifer会采用不同的传播策略,如利用永恒之蓝系列漏洞、CVE-2017-8464漏洞、ThinkPHP漏洞、IPC$、MSSQL弱口令爆破等。


3、利用永恒之蓝、永恒浪漫、DoublePulsar后门进行攻击传播

永恒之蓝:

永恒浪漫:

EternalBlue和DoublePulsar组合(用于非XP目标):

EternalBlue和DoublePulsar组合(用于XP目标):

EternalRomance和DoublePulsar组合(所有目标):


4、Lnk漏洞CVE-2017-8464攻击

Lucifer的Version2中含有LNK资源,释放出CVE147159.exe并执行。CVE147159.exe的功能主要是在C:\CVE目录下生成大量附带漏洞触发代码的Lnk文件,以及利用漏洞加载Payload文件(OuWZjtdbLqFVMSLF.dll、WmOXSshkpQfaLVED.dll)。这种攻击方式可导致任何访问共享目录的存在漏洞的电脑被感染,也可通过U盘、移动硬盘等存储设备进行感染。

LNK文件内容:

Lnk漏洞攻击后加载的DLL(OuWZjtdbLqFVMSLF.dll、WmOXSshkpQfaLVED.dll)执行后,和永恒之蓝漏洞攻击后的Payload(X86.dll/X64.dll)功能一样,都是从服务器下载Spread.exe、进行下一步攻击。

5、利用其它多种漏洞攻击

为了感染外部主机,Lucifer首先生成一个非私有IP地址,然后使用多个端口上的HTTP请求来探测此随机选择的受害者。当恶意软件从受害者处收到有效的HTTP响应后,它将根据下表中所示的条件尝试利用目标。

条件

漏洞利用

在HTTP响应中找到HFS

CVE-2014-6287

在HTTP响应中找到Jetty

CVE-2018-1000861

在HTTP响应中找到Servlet

CVE-2017-10271

在HTTP响应中找不到关键字

ThinkPHP远程执行代码(RCE)漏洞

CVE-2018-7600

CVE-2017-9791

CVE-2019-9081

PHPStudy后门远程代码执行(RCE)

查找HTTP响应信息,采用针对性的漏洞攻击:

在HTTP响应中找不到关键字后,使用的漏洞:

所有漏洞利用程序都包含有效载荷,通过certutil将恶意软件的副本下载到受害者主机上。
ThinkPHP RCE的报文如下:


6、IPC$、MSSQL弱口令爆破

扫描指定IP范围内的机器1433端口,对开放1433端口的机器使用内置的用户名、密码字典尝试爆破连接。


7、DDOS攻击

Lucifer根据C2返回命令,可执行TCP 、UDP、HTTP DDOS。


8、挖矿

开始挖矿前检测任务管理器,若检测到任务管理器进程,则退出挖矿程序:

从资源X86和资源X64中释放出挖矿程序:C:\Program Data\spreadXfghij.exe。

设置最大CPU使用率为50%或25%,开始挖矿。

挖矿的状态会以明文上传到C2服务器。


9、上线报文

C2的端口为15888,上线报文开始的四字节固定为“04 02 02 00”,后面是加密的系统信息,例如主机IP地址,系统类型,系统架构,用户名,处理器数量和处理器频率,该恶意软件在通过网络发送加密数据之前,会对这条信息进行加密。解密算法为:逐字节异或58H,再加上58H。

解密后为:


10、C2命令

下表是从C2服务器接收到的控制代码及其相应的功能:

C2命令

描述

4

进行TCP UDP / HTTP DoS攻击。

5

重新启用DoS攻击。

6

从其C2服务器下载并执行文件。该文件另存为%TEMP%\ <4个随机小写字符> .exe

7

从其C2服务器执行收到的命令。

8

禁用矿工的状态报告功能。

9

启用矿工的状态报告功能。

10

设置注册表项值HKLM \  SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ spreadCpuXmr的数据,并终止矿工进程。

11

启用与is_miner_killed和start_fresh相关的两个标志

12

重置标志并终止矿工进程。


参考链接

https://unit42.paloaltonetworks.com/lucifer-new-cryptojacking-and-ddos-hybrid-malware/

文章转载自启明星辰金睛安全研究团队,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论