【翻译】隐形矿工:揭露GHOSTENGINE的加密挖矿业务
七*r 发表于 河北 企业安全 2850浏览 · 2024-05-31 10:15

翻译:https://www.elastic.co/security-labs/invisible-miners-unveiling-ghostengine

Elastic Security Labs 发现了 REF4578,这是一个包含多个恶意模块的入侵集,利用易受攻击的驱动程序来禁用已知的安全解决方案 (EDR),以进行加密挖矿。

序言

Elastic Security Labs 发现了一个包含多个恶意模块的入侵集,该入侵集利用易受攻击的驱动程序禁用已知的安全解决方案 (EDR),以进行加密挖矿。此外,该团队还发现了建立持久性、安装以前未记录的后门和执行加密挖矿程序的功能。我们将此入侵集称为 REF4578,主要有效载荷称为 GHOSTENGINE(Antiy 团队的切入研究将此入侵集的部分内容命名为 HIDDENSHOVEL)。

主要收获

  • 恶意软件作者采用了许多应急和复制机制
  • GHOSTENGINE利用易受攻击的驱动程序来终止和删除已知的EDR代理,这些代理可能会干扰已部署的知名挖矿机
  • 为了确保XMRIG挖矿器的安装和持久性,这一活动涉及了非常多的复杂性

代码分析


REF4578执行流程

2024年5月6日,UTC时间14:08:33,一个名为(伪装成合法Windows文件)的PE文件的执行标志着REF4578入侵的开始。以下警报是在遥测中捕获的,表明部署了已知的易受攻击的驱动程序。Tiworker.exe TiWorker.exe


REF4578 执行 Tiworker 启动感染链

执行时,该文件会下载并执行一个 PowerShell 脚本,该脚本会协调整个入侵执行流程。分析显示,该二进制文件执行硬编码 PowerShell 命令行以检索混淆脚本,该脚本用于从攻击者 C2 下载更多工具、模块和配置,如下图所示。

GHOSTENGINE

GHOSTENGINE负责检索和执行机器上的模块。它主要使用HTTP从已配置的域下载文件,并在域不可用的情况下使用备份IP。此外,它使用FTP作为具有嵌入式凭据的辅助协议。以下是执行流程的摘要:


PowerShell脚本

该脚本下载并执行一个组件,该组件旨在清除属于同一家族但不同活动的先前感染的残余系统;删除和下的恶意文件,并按名称删除以下计划任务:clearn.png C:\Program Files\Common Files\System\ado C:\PROGRA~1\COMMON~1\System\ado\

  • Microsoft Assist Job
  • System Help Center Job
  • SystemFlushDns
  • SystemFlashDnsSrv
    这些计划任务工件的证据可能是先前感染的迹象。


清除以前活动中的任何感染

在执行过程中,它会尝试禁用 Windows Defender 并清理以下 Windows 事件日志通道:

  • Application
  • Security
  • Setup
  • System
  • Forwarded Events
  • Microsoft-Windows-Diagnostics-Performance
  • Microsoft-Windows-AppModel-Runtime/Operational
  • Microsoft-Windows-Winlogon/Operational


清除 Windows 日志通道

禁用Windows Defender,启用远程服务,并清除以下内容:

  • C:\Windows\Temp\
  • C:\Windows\Logs\
  • C:\$Recycle.Bin\
  • C:\windows\ZAM.krnl.trace

如果没有,它会尝试删除系统中的大文件,然后再寻找另一个有足够空间的合适卷,并在。C: C:\Windows\Fonts $RECYCLE.BIN\Fonts 下创建一个文件夹。

要获取 C2 域名的当前 DNS 解析,GHOSTENGINE 会使用硬编码的 DNS 服务器列表,以及 .NET 服务器列表。1.1.1.1 8.8.8.8
接下来,为了建立持久性,创建以下计划任务如下:

  • 使用OneDriveCloudSync每20分钟运行一次恶意服务DLLmsdtc ``C:\Windows\System32\oci.dll
  • 运行DefaultBrowserUpdate每 60 分钟下载脚本并执行一次C:\Users\Public\run.bat,``get.png
  • OneDriveCloudBackup每 40 分钟执行一次C:\Windows\Fonts\smartsscreen.exe


持久性计划任务

终止命令行中包含的所有进程和任何PowerShell进程,不包括当前进程。这是一种终止任何并发运行的恶意软件实例的方法。

然后,该脚本会下载一个 JSON 文件,其中包含其检索到的 PE 文件的哈希值。该文件会通过检查以前感染时下载的文件的哈希值来验证是否要下载任何更新的二进制文件。


config.txt文件,用于检查更新后的二进制文件

最后,下载其所有模块和各种PE文件。下表包含每个下载文件的描述:

路径 类型 描述
C:\Windows\System32\drivers\aswArPots.sys Kernel driver 来自Avast的脆弱驱动程序
C:\Windows\System32\drivers\IObitUnlockers.sys Kernel driver 来自IObit的脆弱驱动程序
C:\Windows\Fonts\curl.exe PE executable 用于通过cURL下载文件
C:\Windows\Fonts\smartsscreen.exe PE executable 核心负载(GHOSTENGINE),其主要目的是停用安全工具,完成初始感染,并执行挖矿程序。
C:\Windows\System32\oci.dll Service DLL 持久性/更新模块
backup.png Powershell script 后门模块
kill.png Powershell script 一个PowerShell脚本,注入并执行负责杀死安全传感器的PE文件

GHOSTENGINE 模块

GHOSTENGINE部署了几个模块,可以篡改安全工具,创建后门,并检查软件更新。

EDR代理控制器和矿工模块:smartsscreen.exe

该模块主要在下载和安装加密挖矿器之前终止任何活动的EDR代理进程。


smartscreen.exe GHOSTENGINE模块

恶意软件扫描并比较所有正在运行的进程与已知EDR代理的硬编码列表。如果有任何匹配,它首先通过利用Avast反rootkit驱动程序文件和IOCTL通过PID终止进程来终止安全代理。

然后,smartscreen.exe 被用来删除带有另一个易受攻击驱动程序的安全代理二进制文件,该驱动程序来自 IObit,IOCTL 为 .iobitunlockers.sys 0x222124
然后,smartscreen.exe 会从 C2 服务器下载 XMRig 客户端挖掘程序,并将其命名为 .XMRig.smartscreen.exe。最后,它执行 XMRig、其驱动程序和配置文件,启动挖矿进程。


smartscreen.exe执行XMRig

更新/持久化模块:oci.dll

PowerShell脚本创建了一个服务DLL(),一个由。DLL的体系结构因机器而异;支持32位或64位。它的主要功能是创建系统持久性,并通过从C2下载脚本并执行它从C2服务器下载任何更新。


持久性/更新机制oci.dll

每次服务启动时,它将加载并生成PowerShell一行代码,执行:msdtc oci.dll


oci.dll下载和执行

EDR代理终止模块:kill.png

kill.png是一个PowerShell脚本,它将shellcode注入当前进程,解密并将PE文件加载到内存中。


kill.png注入shellcode

该模块是用c++编写的,作者将冗余集成到其操作中。这种冗余在用于终止和删除EDR代理二进制文件的技术的复制中是显而易见的;它不断地扫描任何新的进程。


硬编码的安全代理监控列表

Powershell 后门模块:backup.png

PowerShell 脚本的功能类似后门,可在系统上远程执行命令。它会持续发送一个包含唯一 ID 的 Base64 编码 JSON 对象,该唯一 ID 源自当前时间和计算机名称,同时等待 base64 编码命令。然后,这些命令的结果会被发送回来。


backup.png作为后门运行

在这个例子中是base64编码的JSON对象:eyJpZCI6IjE3MTU2ODYyNDA3MjYyNiIsImhvc3QiOiJhbmFseXNpcyJ9

$ echo "eyJpZCI6IjE3MTU2ODYyNDA3MjYyNiIsImhvc3QiOiJhbmFseXNpcyJ9" | base64 -D
{"id":"171568624072626","host":"analysis"}

Miner配置

XMRig是一个合法的加密矿工,他们已经记录了配置文件的用法和元素在这里。正如本文开头所指出的,REF4578入侵集的最终目标是获得对环境的访问权限,并部署持久的门罗币加密矿工XMRig。

我们从矿工中提取了配置文件,这非常有价值,因为它允许我们报告Monero支付ID,并跟踪工作人员和池统计数据,挖掘的加密货币,交易ID和提款。

以下是REF4578 XMRig配置文件的摘录:

{
    "autosave": false,
    "background": true,
    "colors": true,

...truncated...

    "donate-level": 0,
    "donate-over-proxy": 0,
    "pools": [
        {
            "algo": "rx/0",
            "coin": "monero",
            "url": "pool.supportxmr[.]com:443",
            "user": "468ED2Qcchk4shLbD8bhbC3qz2GFXqjAUWPY3VGbmSM2jfJw8JpSDDXP5xpkMAHG98FHLmgvSM6ZfUqa9gvArUWP59tEd3f",
            "keepalive": true,
            "tls": true

...truncated...

    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
    "verbose": 0,
    "watch": true,
    "pause-on-battery": false,
    "pause-on-active": false
}

Monero 支付 ID

Monero 是一种区块链加密货币,侧重于混淆和可替代性,以确保匿名性和隐私性。支付 ID](https://www.getmonero.org/resources/moneropedia/paymentid.html)是一个任意和可选的交易附件,由 32 个字节(64 十六进制字符)或 8 个字节(在集成地址的情况下)组成。

使用上述配置摘录()中的支付 ID,我们可以查看配置中列出的某个Monero 矿池网站上的 Worker 和矿池统计数据。468ED2Qcchk4shLbD8bhbC3qz2GFXqjAUWPY3VGbmSM2jfJw8JpSDDXP5xpkMAHG98FHLmgvSM6ZfUqa9gvArUWP59tEd3f


REF4578 付款 ID 的工人和资金池统计数据

此外,我们还可以看到交易哈希值,我们可以在 Monero 区块链资源管理器上查看这些哈希值。请注意,虽然交易可以追溯到四个月前,但这只表明了该特定工人和账户的潜在货币收益。


REF4578 付款编号的付款

使用区块链浏览器和我们从支付ID中获得的交易哈希 之一,我们可以看到公钥,提取的金额和时间。请注意,这些公钥与一次性地址或隐形地址一起使用,攻击者随后将使用私钥来解锁资金。


REF4578 支付编号的交易

在上面的交易示例中,我们可以看到有一笔XMR(门罗币的缩写)的提款总额为14.86美元。Monerao矿池网站显示,在2024年1月至3月期间,有四笔交易的XMR金额大致相同,总额约为60.70美元。7c106041de7cc4c86cb9412a43cb7fc0a6ad2c76cfdb0e03a8ef98dd9e744442``0.109900000000
截至本研究发表时,仍有活跃的矿工连接到REF4578支付ID。


矿工积极连接到REF4578支付ID

虽然这个特定的支付ID似乎不是一个大赢家,但很明显,REF4578可以成功地操作这个入侵集。这次攻击的其他受害者可能有不同的支付id,用于跟踪入侵,这些id可能会组合在一起,形成更大的整体打击。

恶意软件和 MITRE ATT&CK

Elastic 使用 MITRE ATT&CK 框架来记录威胁针对企业网络使用的常见战术、技术和程序。

战术

战术是技术或子技术的原因。它是对手的战术目标:采取某种行动的原因。

技术代表了对手如何通过执行某种行动来实现战术目标。

检测

GHOSTENGINE 恶意软件的首要目标是使端点安全解决方案失去功能,并禁用特定的 Windows 事件日志,如记录进程创建和服务注册的安全日志和系统日志。因此,优先检测和预防这些初始操作至关重要:

恶意文件防范 :


防止 GHOSTENGINE 文件

防止 Shellcode 注入


防止GHOSTENGINE shellcode

漏洞驱动文件创建防范(Windows.VulnDriver.ArPotWindows.VulnDriver.IoBitUnlocker


防止 GHOSTENGINE 驱动程序

YARA

Elastic Security 创建了 YARA 规则来识别此活动。

所有观测数据的 ECS 和 STIX 格式均可下载

本研究讨论了以下观测数据。

Observable Type Name Reference
2fe78941d74d35f721556697491a438bf3573094d7ac091b42e4f59ecbd25753 SHA-256 C:\Windows\Fonts\smartsscreen.exe GHOSTENGINE EDR controller module
4b5229b3250c8c08b98cb710d6c056144271de099a57ae09f5d2097fc41bd4f1 SHA-256 C:\Windows\System32\drivers\aswArPots.sys Avast vulnerable driver
2b33df9aff7cb99a782b252e8eb65ca49874a112986a1c49cd9971210597a8ae SHA-256 C:\Windows\System32\drivers\IObitUnlockers.sys Iobit vulnerable driver
3ced0552b9ecf3dfecd14cbcc3a0d246b10595d5048d7f0d4690e26ecccc1150 SHA-256 C:\Windows\System32\oci.dll Update/Persistence module (64-bit)
3b2724f3350cb5f017db361bd7aae49a8dbc6faa7506de6a4b8992ef3fd9d7ab SHA-256 C:\Windows\System32\oci.dll Update/Persistence module (32-bit)
35eb368c14ad25e3b1c58579ebaeae71bdd8ef7f9ccecfc00474aa066b32a03f SHA-256 C:\Windows\Fonts\taskhostw.exe Miner client
786591953336594473d171e269c3617d7449876993b508daa9b96eedc12ea1ca SHA-256 C:\Windows\Fonts\config.json Miner configuration file
11bd2c9f9e2397c9a16e0990e4ed2cf0679498fe0fd418a3dfdac60b5c160ee5 SHA-256 C:\Windows\Fonts\WinRing0x64.sys Miner driver
aac7f8e174ba66d62620bd07613bac1947f996bb96b9627b42910a1db3d3e22b SHA-256 C:\ProgramData\Microsoft\DeviceSync\SystemSync\Tiworker.exe Initial stager
6f3e913c93887a58e64da5070d96dc34d3265f456034446be89167584a0b347e SHA-256 backup.png GHOSTENGINE backdoor module
7c242a08ee2dfd5da8a4c6bc86231985e2c26c7b9931ad0b3ea4723e49ceb1c1 SHA-256 get.png GHOSTENGINE loader
cc4384510576131c126db3caca027c5d159d032d33ef90ef30db0daa2a0c4104 SHA-256 kill.png GHOSTENGINE EDR termination module
download.yrnvtklot[.]com domain C2 server
111.90.158[.]40 ipv4-addr C2 server
ftp.yrnvtklot[.]com domain C2 server
93.95.225[.]137 ipv4-addr C2 server
online.yrnvtklot[.]com domain C2 server

参考文献

上述研究中参考了以下文献:

0 条评论
某人
表情
可输入 255