TeamTNT利用容器图像攻击技术的深入分析

admin 2024年2月19日11:14:18评论12 views字数 4990阅读16分38秒阅读模式

TeamTNT利用容器图像攻击技术的深入分析

Assaf Morag August 25, 2020

有没有注意到关于隐藏恶意软件的新闻几乎总是关注事后补救?我们也是。即使是现在,另一则新闻报道称,一个名为TeamTNT的组织发动了一系列袭击。他们使用加密挖矿蠕虫从Docker Hub窃取AWS证书。如果劫持云资源如此流行,那么是时候让在攻击前发现威胁变得同样流行了。我们的调查确定,如果这些图像在部署前被检测到并从Docker Hub中删除,动态分析本可以为一些过度劳累的安全团队节省大量时间和精力,就像它有助于安全团队进行私人注册一样。

我们Nautilus团队检测并分析了Docker Hub帐户hildeteamtnt,该帐户被TeamTNT用来存储他们的恶意图像。我们在一个安全的容器沙盒中运行了这些图像,总共发现了八个恶意容器图像,其中至少有两个图像被用于在野进行攻击。以下是发现的内容:

TeamTNT利用容器图像攻击技术的深入分析

hildeteamtnt帐户中的图像

这些图像经过精心设计和精心构建,以充分利用目标主机。对手在这些图像中隐藏了各种恶意软件可执行文件(TsunamiMirai)、后门、Docker逃生工具和潜在不需要的应用程序(PUA)。在每一张图像中,他们都使用脚本来执行他们的邪恶攻击,其中一些简单明了,而另一些则复杂和精密:

  1. 1.简单而直接的攻击:metal3d”“first”“dockerfirst”是旨在发起简单资源劫持攻击(Cryptominer)的图像。

  2. 2.复杂的攻击:Minersescape”“Debian服务包含一个名为docker escape的二进制文件。该二进制文件是基于GitHub docker转义工具中的一个工具。设计用于识别它是否在Docker容器中运行,然后尝试Docker转义技术。

例如,此二进制文件包含以下一些字符串:

  • .docker_escape network尝试通过docker TCP套接字(如果在任何接口上找到)或端口扫描(如果与主机共享网络命名空间)进行转义。

  • .docker_escape auto尝试自动转义。如果成功,将启动主机驱动器安装在/hostOS上的特权容器。

  • .docker_escape Unix尝试使用位于/var/run/docker.sock的已安装docker Unix套接字进行转义。

此外,“mineresescape”包含一个执行Python文件的shell脚本minedaemon.py。文件nightminer.py允许执行加密挖掘过程。

TeamTNT利用容器图像攻击技术的深入分析

  1. 3.高度复杂的攻击:2020328日上传第一个工具“xmrigminer”以来,对手通过修改脚本和添加越来越多的技术来完善它,以逃避检测,隐藏与指挥和控制服务器的通信通道,并随着时间的推移获得持久性。第二个图像“avscan”是一个更复杂的版本(如下所述),而上一个和最近的版本“docrunker”更糟糕。

AVscan的深层分析

对手使用了一种已知的技术,旨在通过将主机/dir安装到容器中的/mnt中,然后记录到/mnt中来接管主机。

AVscan.sh

图像的入口点是脚本AVscan.sh

TeamTNT利用容器图像攻击技术的深入分析

根据该命令,映像被设计为运行脚本Carray.shcron.sh,并执行两个恶意二进制文件SystemHealtAVscan。命令vm.nr_hugepages是一个系统属性,旨在提高加密挖掘过程的效率。

TeamTNT利用容器图像攻击技术的深入分析

脚本Carray.shcron.sh已经存储在图像层中。

Carray.sh

外壳脚本Carray.sh旨在杀死主机上运行的任何竞争性挖掘进程。脚本在执行后也会删除自身。

Cron.sh

shell脚本Cron.sh设置要下载的Cron作业爪牙.sh

hxxp[]//yd6ugsklvmydbvmntk54k4dmgkuwzar3u3zzv5vcxwdywjwbwzjmdryd[.]tor2web[.]su/…/minion.sh

Minion.sh

这个脚本中的一些片段是用Based64编码的。对手使用无害或误导性的名称(如:puntpd.pid.logs.c等)将这些代码解码为新文件。他们还隐藏了正在写入磁盘的一些文件。以下是此脚本所做操作的三个示例:

  • 一个文件(/usr/bin/hid)试图将给定的PID从目录/proc/<PID>装入/usr/foo。这个过程是秘密完成的,不会在/etc/mtab中留下痕迹。

  • 另一个文件(/usr/bin/pu)是一个Python脚本,旨在通过利用SSH端口在网络中进行横向移动。

  • 最后,但同样重要的是,另一个文件(/tmp/.logs.c)用于清理系统上的所有登录和注销记录(WTMPUTMPLastlog for Linux)。这体现了这些对手为清理记录和保持高标准的OPSEC所做的努力。

此脚本还将停用任何在CPU上争夺资源的程序,如xmrigMinerWatchdog。脚本完成后,将删除自身和历史记录。

该脚本下载并执行了另外三个脚本(user.shsbs.shsxc.sh):

脚本user.sh负责与受感染主机的SSH通信:

  • 验证SSHD是否存在,如果没有下载,则安装Openssh服务器。

  • 试图创建三个用户(hilderebootubuntu)。

  • 正在尝试授予用户root权限。

  • 将上述用户(hilderebootubuntu)的对手RSA密钥附加到:

  • /home/$usersname/.ssh/authorized_keys

  • /home/$usersname/.ssh/authorized_keys2

  • /etc/SSH/sshd_config中设置root用户,使其能够在不使用密码的情况下进行SSH登录。并重新启动SSHD

  • 使用web服务(iplogger[.]org在发现过程中将收集到的数据传输给攻击者,例如CPU中的核心数量、速度、系统详细信息(使用unamea)和目标主机IP地址。

  • 记录活动并将其编码到文件中(使用Base64)。

脚本sbs.sh

正在下载00.jpg(作为/usr/bin/dns_ipv4.tar.gz),它是文件/usr/bin/biost

  • 执行Bioset

  • 将进程重命名为systemd

  • 监听1982端口的任何连接。每个新连接都会打开一个新线程。

  • 创建一个子进程,该进程侦听套接字并使用名为“Named PIPE”(也称为FIFO)的方法与父进程通信。

  • 父进程负责破译信息并将其写回PIPE上的孩子。

  • 子进程接收由/bin/sh执行的命令。

  • 这使我们得出结论,Bioset充当绑定外壳,可能允许攻击者在部署容器后连接到主机。

  • 发现和指挥控制:

  • 在发现过程中,使用web服务(iplogger[.]org)将收集的数据传输给攻击者,例如CPU中的内核数量、速度、系统详细信息(使用uname-a)和目标主机IP地址。

  • 记录活动并将其编码到文件中(使用Base64)。

  • 防御规避:

  • 正在删除命令历史记录。

  • 正在删除外壳文件。

脚本“sxc.sh”

  • 从远程源下载xmrig

  • 将配置文件写入磁盘(/usr/bin/ntpd.pid)。

  • 正在验证Cryptominer(文件ntpd)是否正在运行。

  • 终止资源竞争:

  • 停止所有Monerocean进程。

  • 优化矿工操作:

  • 正在停止限制挖掘资源的监视服务,如system-getty.slice.service

  • 正在停止系统运行状况服务,如cp.syshealt

  • 发现和指挥控制:

  • 使用web服务(iplogger[.]org将收集到的与挖掘过程相关的数据传输给攻击者,例如Monero哈希率、系统详细信息(使用uname-a)和目标主机IP地址。

  • 记录活动并将其编码到文件中(使用Base64)。

  • 防御规避技术:

  • 正在删除系统日志(/var/log/syslog)。

  • 正在删除命令历史记录。

  • 正在删除外壳文件。

  • 禁用网络配置、安全和监控工具,如netfilter防火墙、iptableskernel.nmi_watchdog(负责检查内核是否挂起)。

  • 禁用安全扫描程序,如Aliyun

恶意二进制文件:

SystemHealt  – cb782b40757d1aba7a3ab7db57b50847 (MD5)

AVscan  – b27eb2159c808f844d60900e2c81a4df (MD5)

工作方式

更复杂的攻击包含了代码中的各种更改,这意味着TeamTNT投入了时间和精力来改进他们的攻击。他们增加了防御规避技术,并试图隐藏与C2服务器的通信,以确保成功,同时使攻击持续更长时间。

规避技术示例:

  • 使用动态代码。通信信道(IP/域)被定义为变量,并使用外部配置文件来隐藏其C2和挖掘基础设施。

  • 利用web服务和TOR服务器提高其C2基础设施的持久性。

  • 更加强调OPSEC。在最近的攻击中,许多阶段显示,对手一直试图通过删除恶意工具、日志、删除主机上的用户活动等方式来掩盖他们的行踪。

  • 使用带有子域vps和池的私有域teamtnt[.]red

  • 禁用安全工具和网络安全工具。

  • 使用base64编码许多代码段(同一代码段可能被编码多次)。

综上所述

在四个多月的时间里,TeamTNT上传了各种图片,其中一些被用来在野进行攻击。这仍然是一个活跃的活动,通常针对云原生环境,尤其是配置错误的Docker API端口。这些账户中较新的图像被设计为使用先进的恶意方法,如防御规避、横向移动和发现技术。

我们相信,这些更新图像中的变化在一定程度上反映了TeamTNT的学习曲线(发展能力)。静态恶意软件分析可以检测到更简单、更直接的图像,但较新的图像太聪明了。事实上,图像xmrigminer只能在运行时使用行为分析和监控来识别为恶意,或者更好的是,在管道中使用Aqua的动态威胁分析来识别。

MITRE ATT&CK框架在TeamTNT攻击中的应用

将攻击的每个组成部分映射到相应的MITRE ATT&CK框架和技术类别的摘要:

TeamTNT利用容器图像攻击技术的深入分析

暴露轨迹(IOC):

矿池:

vps[.]teamtnt[.]red []33331

45[.]9[.]148[.]123[:]33331

xmr[.]f2pool[.]com[]13531

47[.]101[.]30[.]124[:]13531

xmr[.]bohemianpool[.]com[]9000

80[.]211[.]206[.]105[:]9000

恶意二进制文件

xmrigDeamon –  d6e169d47a4bed78dffc184409994fbf (MD5)

Bioset –  4206dbcf1c2bc80ea95ad64043aa024a (MD5)

dns3 –  b348abf1d17f7ba0001905e295b1f670 (MD5)

xmrigMiner –  7c7b77bfb9b2e05a7a472e6e48745aeb (MD5)

docker-update –  ecf5c4e29490e33225182ef45e255d51 (MD5)

dns (Tsunami malware) –  b7ad755d71718f2adf3a6358eacd32a3 (MD5)

64[watchdogd] –  8ffdba0c9708f153237aabb7d386d083 (MD5)

64bioset –  b8568c474fc342621f748a5e03f71667 (MD5)

64tshd –  5f5599171bfb778a7c7483ffdec18408 (MD5)

armbioset –  23812035114dbd56599694ed9b1712d2 (MD5)

armdns –  cfa007dc2d02da9a8873c761aa5a5c8c (MD5)

armtshd –  d46b96e9374ea6988836ddd1b7f964ee (MD5)

tntscan –  4882879ffdac39219bef1146433ec54f (MD5)

SystemHealt –  cb782b40757d1aba7a3ab7db57b50847 (MD5)

AVscan –  b27eb2159c808f844d60900e2c81a4df (MD5)

原文始发于微信公众号(老烦的草根安全观):TeamTNT利用容器图像攻击技术的深入分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月19日11:14:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   TeamTNT利用容器图像攻击技术的深入分析https://cn-sec.com/archives/2503945.html

发表评论

匿名网友 填写信息