编者按
数字化浪潮蓬勃兴起,企业面临的安全挑战亦日益严峻。
腾讯安全近期将复盘2022年典型的攻击事件,帮助企业深入了解攻击手法和应对措施,完善自身安全防御体系。
本篇是第二期,讲述了国内某高端制造厂商遭遇云上在野容器攻击,和腾讯安全并肩作战,击退挖矿黑产组织的故事。
9月14日,午后。
阳光透过棕黄色的椴树叶,一缕缕撒在湖面上,泛出了碎金子的光。湖面倒映着一座木质结构的小房子,清清淡淡,融洽地安放在童话般的湖光山色中。
木屋里,X团伙的暗黑计划正在展开。
X团伙是近两年极其高调的挖矿家族,坐标D国,他们控制着规模庞大的僵尸网络,有着先进且快速更新的攻击工具库,是目前针对Linux服务器进行挖矿的主要攻击组织之一。此时,X团伙的十几位成员正围坐在一张长桌前,眉飞色舞地探讨着新研发的挖矿木马变种,他们想在圣诞节前快速“收割”一批门罗币,舒服地度过即将到来的漫长且寒冷的冬季。
下午6点,X团伙完成了攻击链路的推演,整个过程近乎完美。随即,一位成员在电脑上按下了enter键,扫描器便像洪水般涌入互联网,迅速蔓延至世界各个角落。
一场针对云数据中心的猎杀行动,拉开了序幕。
嫌疑人X的现身
X团伙2019年就出现在大众视野,这个组织的专业水平颇高,攻击策略和工具千变万化,攻击威力很大。特别是近几年云原生技术蓬勃兴起,容器技术和集群编排工具被广泛应用,网络安全边界进一步模糊,X团伙的攻击活动就更加猖狂了。
此次的挖矿木马变种便是通过扫描Docker Remote API未授权访问漏洞进行传播,并且入侵动作更加隐蔽。Docker Remote API是一个用于远程调用Docker的API,可以让容器的调用更加灵活、简单。若管理员对其配置不当则会导致未授权访问漏洞,攻击者不仅可以植入病毒,甚至可进一步利用Docker自身特性,借助容器逃逸,最终控制整个集群。
第二天清晨7点,X团伙的成员TOM醒来,他吸了吸鼻子,空气中凉意浓浓,冬天即将到来,行动需要加快。他迅速起身,开始为自己做一杯手磨咖啡。这时,他瞥了眼电脑屏幕,不出所料,他们放出的扫描器扫出了大量的漏洞。
7点30分,TOM端着磨好的咖啡坐到电脑前,开始浏览这些待宰的羔羊。一个距离他8000多公里的IP吸引了他的注意,他快速敲了几行代码,获取了这个IP所在公司的信息——一家知名的中国高端制造厂商S公司。
TOM嘴角微微上扬,他发现S公司的一个Docker Remote API并没有配置鉴权,也就是说谁都可以调用,并且这个集群是开放公网的。就像羊圈在不起眼之处开了个口子,他可以随意出入。
通过这个Remote API漏洞,TOM迅速远程启动了传播病毒的容器镜像alpineos/docker api,这个镜像非常小,很难被发觉。接着,这个恶意镜像快速下载了一个挖矿脚本,开始与矿池通讯,并利用容器的算力进行挖矿。
从入侵到挖矿,整个过程非常丝滑,TOM看了眼手表,不到三分钟。
S公司有上万台云主机,对挖矿组织来说是不可多得的肥羊。如果能逃逸到主机拿下最高权限,就可以利用更大的算力进行挖矿。不仅如此,他还可以以主机为跳板,在内网进行横向扩散,猎取S公司的核心机密数据。
想到这里,TOM拿起杯子喝了一大口咖啡,打起精神开始下一步的进攻。
杀不掉的挖矿木马
“我×,我们被挖矿了!”
“什么?我看看!"
S公司的安全运维工程师Eric看着电脑屏幕上的CPU监测窗口,陡增的折线赫然在眼前。其他几个工程师闻声而来,难以相信眼前这一幕,因为他们之前并没有发现恶意外连和疑似挖矿的进程。
实际上,入侵者TOM在植入挖矿病毒后,通过新工具隐藏了挖矿进程,并且将痕迹清理干净了。S公司发现的时候,TOM已经通过特权模式+SSH的逃逸方法,逃逸到宿主机上,并且将挖矿病毒扩散到了容器节点上。
“赶紧断网,杀毒!”Eric迅速把主机断网,然后用杀毒软件将挖矿木马清除。但是,Eric不敢确定其他节点上是否也被植入了挖矿木马,他的神经紧绷着。
S公司是国内知名的高端制造企业,也是行业内最早进行数字化转型的企业之一,在前几年就开始探索云原生技术和业务容器化。虽然国内的容器起步较晚,但是在国际上,容器概念已经登上了尖端计算技术的最前沿。
通常情况下,运行一台云主机运行最少要1G内存,但是对于容器而言,只需要几M-几十M就能跑起来。所以,容器凭借其灵活易用、适配性强和资源利用率高等优势,受到越来越多公司的青睐。而S公司,也从去年开始逐步将生产网容器化。
不过,对于很多企业来说,容器是一把双刃剑。一台主机可以拉起成千上万个容器,也意味着边界和暴露面被无限放大。因此,容器在近几年也成为了攻击者的天堂。
第三天,TOM发现植入S公司的挖矿进程少了许多。挖矿木马被发现其实是TOM意料之中的事,毕竟S公司是头部的高端制造企业,安全建设应该是不错的。不过,S公司的杀毒行为治标不治本,只要Docker Remote API未授权访问漏洞没补上,他们就能够继续拉起挖矿脚本进行挖矿。
TOM伸了个懒腰,开始了更加猛烈的进攻。
很快,S公司的安全运维团队就发现CPU被快速占用。“他又来了!”Eric揉了揉眼睛,紧忙开启了主机安全的防御,并对相应的节点进行查杀,CPU占用逐渐下去了。
这时,Eric脑海里浮现了此前特斯拉的Kubernetes集群被入侵挖矿的事件,他们的共同点就是集群的Dashboard 处于未授权即可访问状态,且暴露在互联网上。
“我们可能跟特斯拉犯了一样的错误。”
一通电话,迅速驰援
9月16日,晚上7点,深南大道华灯初上。
正在食堂吃晚饭的腾讯容器安全专家ruchang接到了同事的紧急来电。
“S公司的节点失陷了,被挖矿了。他们公司连续查杀了好几次,挖矿木马怎么都杀不掉,需要我们的帮助!”
ruchang挂了电话后,迅速吃完盘中的饭菜。“难道是他们?”ruchang边进电梯边思索着。
回到工位上,ruchang迅速通过S公司给的运维权限进行问题排查。
首先,他用腾讯容器安全TCSS产品对失陷节点上运行的容器镜像进行了漏洞扫描。“木马源源不断,肯定是出了漏洞。”就像不断被偷的羊圈,杀掉偷羊的狼是不够的,得找出羊圈隐秘之处的窟窿。
几分钟后,腾讯容器安全TCSS产品扫描完毕,电脑屏幕显示某个节点上存在的Docker Remote API未授权访问漏洞。
“问题不大,是有一个Docker Remote API未授权访问漏洞,你们按照官方的认证措施更改一下配置就好了,改成需要鉴权且加密。”ruchang在企业微信群里跟S公司的运维人员说到。“还好发现得早,攻击者没有入侵到集群。”
找出漏洞之后,ruchang继续排查,他想找出背后的真凶。他迅速浏览着安全日志和告警信息,尝试回溯整个攻击链路,包括通过哪个服务端口拉进来的镜像,攻击者入侵后进行了哪些横移,以及这个挖矿木马背后的组织是哪个。
“果然是他们!”原来,在9月14日X团伙的新挖矿样本刚发出,腾讯云鼎实验室的哨兵系统就在第一时间捕获,并进行了详细的分析。这个攻击案件的各种细节和哨兵系统捕获的样本一一吻合。
S公司其实犯了80%的公司都会犯的问题——配置错误。由于容器技术在国内起步较晚,很多公司也都是摸着石头过河。S公司在测试容器业务时,也没有意识到要对相关的配置安全进行扫描以及合规整改。并且在没有部署容器安全的情况下,就开启了试运行。
对此,腾讯安全也为云上客户推出了容器安全TCSS产品,保障容器从镜像生成、存储到运行时的全生命周期安全。在构建和部署阶段,腾讯云容器安全可提供镜像、容器、集群的配置扫描和漏洞扫描能力,避免出现类似S公司因配置错误导致的漏洞事件。在容器运行时,腾讯云容器安全也能够自适应识别黑客攻击,实时监控和防护容器运行时安全。
晚上8点10分,S公司在企业微信群里反馈漏洞已修复,并且采购了全量的腾讯云容器安全产品。
TOM也很快发现漏洞被封堵住了,他冷笑了一下,"Kind of interesting(有点意思)." 随即TOM关掉了S公司的挖矿页面,转向了其他的攻击目标。
X团队的暗黑计划不会停止,我们与黑产的暗战也不会结束。