Kuberneteszao集群遭挖矿木马突袭
2021-02-23 12:29:27 Author: blog.nsfocus.net(查看原文) 阅读量:220 收藏

阅读: 1

一、事件简介

TeamTNT是一个主要入侵在线容器并通过挖矿和DDoS进行牟利的攻击团伙。2021年年初,该团伙被发现入侵了某Kubernetes集群,通过结合脚本和现有工具,最终在容器内植入挖矿木马。

当今,由于环境部署便利性的需求日益旺盛,使得容器技术和容器管理技术应用得越来越多。同时,对服务器负载均衡及高并行的需求,又使得集群技术得以发展壮大。而这些集群内部拥有客观的网络资源,自然成为攻击者觊觎的对象。

本文将解读此次针对Kubernetes集群的攻击事件及后续发生在集群内部的木马传播事件,以呈现网络黑产团伙针对在线集群的攻击方式。

二、事件分析

2.1 Kubernetes简介

Kubernetes是一个基于容器技术的分布式集群管理系统,可简单高效地管理云平台中多个主机的容器部署。一个Kubernetes集群可包含多个节点,每个节点包含多个Pod,而每个Pod可运行多个容器,并提供共享资源。一些大型厂商甚至专门提供了Kubernetes托管服务,例如微软的AKS,谷歌的GKE,Kubernetes影响可见一斑。

Kubernetes使用Kubelet对各节点中的Pod及其包含的容器进行管理和监控,将其作为各节点的代理。每个节点上都运行着一个Kubelet服务进程,接收并执行Master的指令,并在API服务器上注册所在节点的信息,向Master汇报该节点的情况。

图 2.1 Kubernetes结构

2.2 入侵方式/横向移动

TeamTNT通过攻破Kubernetes集群暴露在公网上的Kubelet,从而实现对Kubernetes的入侵。

出于安全考虑,在配置Kubelet时需注意认证问题。大型厂商提供的Kubernetes托管服务,如微软的AKS和谷歌的GKE,都会强制执行身份认证,以避免不安全的访问。然而,若Kubelet配置不当,则会接收未经身份验证的请求,导致匿名访问。正是这种允许匿名访问的Kubelet,成为了攻击者进入到Kubernetes集群的内部并进行横向移动渗透的关键跳板。

图 2.2 入侵方式

攻击者攻破了第一个脆弱的Kubelet,通过命令API控制其管理的容器,发起远程代码执行,在容器中下载了tmate和masscan。Masscan是目前流行的端口扫描工具,用来扫描10250端口,以发现Kubernetes集群中同样具有身份认证安全问题的其他Kubelet。

这样一来,攻击者就逐一控制了这些Kubelet管理的所有容器,同样通过Kubelets的命令API,在这些容器中下载并执行恶意程序,最终植入了门罗币挖矿木马。

2.3  窃密与C&C通信

尽管向容器中植入了挖矿木马,但攻击者的兴趣不止于此。

针对第一个受控容器和其他感兴趣的容器,攻击者会在容器中下载并执行安全终端共享工具tmate,通过该工具创建反向Shell来连接到攻击者控制的tmate服务器。之后,攻击者便通过tmate在当前容器中方便地植入脚本和其他工具来进行后续恶意行为。

进一步地,对于感兴趣的容器(除挖矿之外还存在其他利用价值的容器),攻击者植入了恶意Shell脚本,会在受害主机上搜集系统信息和各类登陆凭据文件,并使用系统命令直接上传到C&C。这些凭据涉及云访问令牌和密钥、SSH密钥、Docker凭据、Kubernetes服务令牌等内容,具有一定窃取价值。

图 2.3 搜集系统信息
图 2.4 搜集凭据

而对于其他容器,攻击者则植入了IRC木马来连接到特定的IRC C&C。该木马基于开源项目ziggystartux进行构建。为了对抗静态查杀,该木马被AES加密并包裹在另一个Go语言加载器中,由该加载器对其解密并动态加载执行。

图 2.5 解密IRC木马并执行

同时,IRC相关进程被命名为bioset,以试图伪装成Linux内核进程bioset,也是挖矿木马常用的伪装名称之一。

图 2.6 Tmate与IRC连接

2.4 对抗检测与取证

攻击者在感兴趣的容器中使用了Linux预加载技术来隐藏自身组件。Linux预加载技术指的是,在程序加载动态链接库前,动态链接器会读取一个名为LD_PRELOAD的环境变量和路径为/etc/ld.so.preload的配置文件,对其中指定的动态链接库进行预加载。使用这种方式可hook系统函数,且兼容性优于驱动木马,因此逐渐受到攻击者的青睐。

攻击者正是植入了恶意脚本,修改了/etc/ld.so.preload文件,指定了自制动态库,从而hook了系统函数。

图 2.7 修改preload文件

该库中重写了用于返回系统目录信息的readdir和readdir64,会对/proc目录下的内容进行过滤,若进程名与tmate、xmrig和IRC木马有关则不予返回。这将影响包括ps, top在内的Linux命令以及一些容器监控工具,为安全取证调查带来困难。

图 2.8 Hook readdir

此外,攻击者还使用恶意Shell脚本来修改系统的DNS配置文件/etc/resolv.conf,将DNS服务器改成谷歌的8.8.8.8和8.8.4.4,试图绕开潜在的DNS监控软件。

三、总结

Kubernetes集群往往包含更多的主机,而每个主机又运行多个容器,意味着攻击者有机会获取到更多的资源进行挖矿和DDoS,或是挖掘出更多有价值的信息。因此入侵Kubernetes获得的收益可能会大于入侵Docker主机的收益,这也反映了当今攻击者针对在线云平台容器进行入侵时的变化趋势。

对于受害者而言,多个在线容器被植入挖矿木马,或将导致集群内主机资源耗尽,出现崩溃和拒绝服务的情况,更严重者会造成数据外泄。因此,做好容器及容器管理组件的安全防范工作显得异常重要。

四、IOC

MD5C&C
9f98db93197c6dfb27475075ae14e8aethe.borg.wtf
5dd0fec29e1efbe479b50e1652ae736airc.borg.wtf
80c202ced80965521adf1d63ba6be71245.9.150.36
92490c9b9d3bb59aca5f106e401dfcaa 
fe9d149dec9cd182254ace576a332f56 
表 4.1 部分IoC信息

引用

本文根据paloaltonetworks网站相关文章的部分内容进行翻译和总结得来。

原文链接:https://unit42.paloaltonetworks.com/hildegard-malware-teamtnt/

关于伏影实验室

研究目标包括Botnet、APT高级威胁,DDoS对抗,WEB对抗,流行服务系统脆弱利用威胁、身份认证威胁,数字资产威胁,黑色产业威胁及新兴威胁。通过掌控现网威胁来识别风险,缓解威胁伤害,为威胁对抗提供决策支撑。


文章来源: http://blog.nsfocus.net/kuberneteszao%e9%9b%86%e7%be%a4%e9%81%ad%e6%8c%96%e7%9f%bf%e6%9c%a8%e9%a9%ac%e7%aa%81%e8%a2%ad/
如有侵权请联系:admin#unsafe.sh