概括
我们分析了利用暴露的 Docker 远程 API 服务器部署加密货币挖掘器的加密劫持攻击活动,使用了来自开源 Commando 项目的 Docker 镜像。
恶意行为者使用cmd.cat/chattr映像进行初始访问,并采用chroot和卷绑定等技术突破容器并访问主机系统。
攻击指标可以包括特定的用户代理字符串,加上在 TCP 端口 3022 上使用 DropBear SSH,这有助于检测恶意软件的存在。
为了减轻此类攻击,必须遵守容器安全最佳实践,例如正确配置容器和 API 以及使用受信任的 Docker 镜像。
我们观察到一个攻击活动,该活动滥用暴露的Docker 远程 API服务器来部署加密货币挖矿机。此攻击活动之所以被称为Commando Cat,是因为其初始步骤涉及部署使用公开的Commando 项目(一个开源 GitHub 项目,可按需为开发人员创建 Docker 镜像)生成的良性容器。公开的 Commando 是使用cmd.cat部署的。攻击者使用cmd.cat/chattr docker 镜像容器从他们自己的命令和控制 (C&C) 基础设施中检索有效负载。此攻击活动自2024 年初以来一直很活跃。
初始访问
为了获得初始访问权限,攻击者部署了一个名为cmd.cat/chattr的 docker 镜像,这是一个无害的 docker 镜像。部署后,恶意行为者会基于此镜像创建一个 docker 容器,并使用chroot 突破容器并获得对主机操作系统的访问权限。它还使用curl/wget将恶意二进制文件下载到主机中。
攻击序列
下载
让我们一步步分析一下攻击是如何展开的:
1. 探测 Docker Remote API 服务器
此次攻击活动的事件序列从对 Docker Remote API 服务器的 ping 开始,这是随后一系列行动的关键起点。
图 2. 对 Docker Remote API 服务器执行 ping 请求
2、使用cmd.cat/chattr镜像创建容器:
确认服务器状态为“OK”后,攻击者继续使用cmd.cat/chattr镜像实例化容器。
图 3. 向 Docker Remote API 服务器发出容器创建请求
在容器创建请求中,我们看到恶意行为者使用chroot和卷绑定来逃离容器。使用chroot,攻击者可以窥视容器外部,然后使用Binds参数(指定卷绑定)进入主机系统。
绑定/:/hs将主机的根目录挂载到容器的/hs目录中,从而授予攻击者对主机文件系统的不受限制的访问权限。它还绑定了 Docker 套接字 ( /var/run/docker.sock:/var/run/docker.sock ),使容器能够直接访问主机上的 Docker 守护程序,因此允许攻击者像在主机上一样控制 Docker。
3. 在没有镜像的情况下创建镜像
如果上述请求返回“没有这样的镜像”的响应,攻击者将从cmd.cat存储库中提取chattr docker镜像。
图 4. Chattr Docker 镜像拉取请求
4. 容器部署
有了镜像之后,攻击者就可以创建 Docker 容器,有效地执行上一步的副本。
在创建docker容器时,恶意行为者执行一个base64编码的字符串:
图5. Base64编码的有效载荷字符串
这转换为以下 shell 脚本:
图6. Base64解码的shell脚本
该脚本首先进行条件检查,以确定目录/usr/sbin/中是否存在名为“z”的文件。如果文件不存在,则脚本继续从其文件服务器 ( hxxp[:]/leetdbs[.]anondns[.]net/z ) 下载并执行恶意二进制文件,并将其保存到目录/usr/sbin/,该目录可能是ZiggyStarTux,这是一个基于 Kaiten 恶意软件的开源 IRC 机器人。此二进制文件使用 UPX 打包程序进行打包。
在进行分析时,我们发现 C&C 服务器已关闭。但是,二进制文件中存在的以下 User-Agent 字符串可用于监视网络中是否存在此恶意软件:
User-Agent: HackZilla/1.67 [en] (X11; U; Linux 2.2.16-3 x64)
User-Agent: Mozilla/4.75 [en] (X11; U; Linux 2.2.16-3 i686)
该二进制文件/代码中存在的字符串表明该恶意软件正在使用DropBear SSH,这是 TCP 端口 3022 上的一个相对较小的SSH服务器和客户端应用程序。这可以作为发现恶意软件的另一个线索。
部署的恶意软件尝试通过端口 1219 连接其 C&C 服务器 45[.]9[.]148[.]193。图 6 描述了初始网络流量,显示了初始 IRC 通信。
图 7. 初始 IRC 通信
此次攻击活动的意义在于它使用 Docker 镜像在受感染的系统上部署加密劫持脚本。这种策略允许攻击者利用 Docker 配置中的漏洞,同时逃避安全软件的检测。随着网络安全研究人员继续监视这一恶意行为者,组织必须加强对 Docker 相关攻击的防御。
建议
为了保护开发环境免受针对容器和主机的攻击,我们建议实施以下最佳实践:
容器和 API 应始终正确配置,以最大限度地减少遭受攻击的可能性。Docker 有关于用户如何加强安全性的具体指导方针。
组织应该仅使用官方或经过认证的图像来确保仅在环境中运行受信任的内容。
正在运行的容器不应以 root 权限运行,而应以应用程序用户身份运行。
应配置容器,以便仅向受信任的来源(例如内部网络)授予访问权限。
组织应遵循推荐的最佳实践。例如,Docker 提供了全面的最佳实践列表,并具有内置的安全功能,用户可以遵循这些功能来提高其云环境的安全性。
应定期进行安全审核,以检查任何可疑的容器和图像。
结论
Commando Cat 攻击活动凸显了滥用暴露的 Docker 远程 API 服务器所带来的威胁。通过利用 Docker 配置并利用cmd.cat等开源工具,攻击者可以获得初始访问权限并部署恶意二进制文件,同时避开常规安全措施。该活动使用 Docker 镜像传播加密劫持脚本,凸显了实施强大的容器安全实践的重要性。
https://www.trendmicro.com/en_us/research/24/f/commando-cat-a-novel-cryptojacking-attack-.html
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里
原文始发于微信公众号(Ots安全):Commando Cat:一种滥用 Docker 远程 API 服务器的新型加密劫持攻击