-
-
[翻译]watchbog挖矿活动打好补丁的重要性
-
发表于: 2019-11-8 17:27 6548
-
翻译: 看雪翻译小组 - lipss
校对: 看雪翻译小组 - Nxe
发生了什么?
思科事件响应 (CSIRS) 最近对涉及 Watchbog 加密货币挖矿僵尸网络的事件做出了响应。攻击者能够利用CVE-2018-1000861在系统驻留,并将 Watchbog 恶意软件安装在受影响的系统上。
这种基于 Linux 的恶意软件在很大程度上依赖 Pastebin 进行命令和控制(C2)并公开运作。CSIRS 通过分析各种 Pastebins,精确地理解了攻击者在客户网络上的意图和能力。随着调查的进行,CSIRS 利用受感染主机上的文件识别并去混淆了多个脚本。
攻击者进行了一些混淆处理,例如对 URL 和 Pastebins 进行 base64 编码,但是代码相对比较容易发现 。并未采用很强的恶意代码保护功能
Watchbog 背后的攻击者声称,他们是通过识别安全漏洞提供服务的,并在任何“真正的”黑客利用这些漏洞前先帮助这些有漏洞的公司做安全检测。在调查过程中,思科 IR 发现在 Watchbog 活动期间,主机已经有成为僵尸网络一部分的迹象。这不禁让人怀疑所谓“积极”识别安全漏洞的真正意图。以下是攻击者在受感染系统上留下的信息:
图1
Watchbog 做了什么?
攻击者在利用Watchbog 僵尸网络挖掘门罗币(Monero)。研究Watchbog 僵尸网络变体时,思科安全研究员发现了一篇阿里云安全部门发表的文章,文章提供了一些有关 Watchbog 的定性。这篇文章与思科安全研究员的发现相吻合,因为思科安全研究员发现了恶意代码代码安装执行脚本具有以下操作行为。
首先,安装执行脚本会检查受害者主机上有没有正在运行着其他加密货币挖矿程序的进程。如果系统先前已经有挖掘加密货币的进程,安装脚本就会使用 kill 命令结束掉竞争对手的进程:
图2
然后脚本使用 touch 命令来确定文件系统上个别目录的写权限。
图3
还会检查系统的架构来判断32 位还是 64 位的操作系统,然后使用 wget 或 curl 下载并安装 “kerberods” 释放器,下载失败会重试3次。
图4
根据权限,将 kerberods 释放器保存到以下目录之一:
/usr/bin /usr/libexec /usr/local/bin /tmp /usr/sbin
该脚本还会下载一个 Pastebin 链接的内容,其中包含门罗币钱包 ID 和挖矿信息。CSIRS 证实了这个钱包 ID 与先前引用的阿里云帖子中的攻击者所使用的钱包ID相同。
图5
尽管上一个屏幕快照中的 Pastebin 链接无法再访问,感染过程的下一步是下载加密货币挖矿程序。我们发现了一个“kerberods” 可能会访问 Github 用于安装XMR-Stak 门罗币挖矿程序的脚本。
该脚本主要部分是判断自己是不是root权限,然后检查主机上"watchdog"进程有没有运行。运行cronhigh函数,通过各种方式各种时间拉起自己。
图6
如果未检测到 “watchbog” 进程,则将调用 “testa” 或 “download” 函数安装与主机操作系统和体系结构兼容版本的挖矿程序,然后执行程序开始挖矿。
图7
“Testa” 函数
如前所述,可以调用 “testa” 函数完成感染过程。以下是与此函数关联的代码。该代码负责编写挖矿软件使用的各种配置数据。该函数声明三个变量,并将 base64 编码的数据分配给每个变量。
图8
然后对 base64 编码的数据进行解码并将其写入各种文件。
图9
Base64编码的值对应于以下内容:
-
St_64:此变量包含托管 XMR-Stak 挖矿客户端的 Github 仓库URL。
-
hXXps://github[.]com/fireice-uk/xmr-stak/releases/download/2.10.3/xmr-stak-linux-2.10.3-cpu.tar.xz
- con_url:此变量包含Pastebin URL用于承载挖矿客户端的配置文件。
- hXXps://pastebin[.]com/raw/YJH8sWr
- Cpu_url:此变量包含一个额外的Pastebin URL。已经无法访问,可能包含挖矿客户端使用的其他配置文件。
- hXXps://pastebin[.]com/raw/irzk5mSh
- poo_url:此变量包含一个附加的Pastebin URL。已经无法访问,可能包含挖矿客户端使用的其他配置文件。
- hXXps://pastebin[.]com/raw/aJkbTx6Y
然后该脚本将启动 Watchbog 进程,并从Pastebins下载编码的文件授予执行权限后运行,然后删除了这个文本文件。以下屏幕快照显示了 'testa' 函数中 con_url 变量引用的配置文件。
图10