AWS惊现“不死”挖矿机:利用原生API特性“锁死”服务器,运维想关机都关不掉

admin 2025-12-22 03:47:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: AWS上发现一种新型挖矿攻击,黑客利用IAM凭证泄露后,通过DryRunAPI验证权限,10分钟内创建50多个ECS集群进行挖矿,并使用disableApiTermination特性阻止运维人员终止实例,还留下钓鱼后门。防御建议包括监控DryRun调用、严格IAM权限管理、启用GuardDuty和关注异常属性修改。 综合评分: 85 文章分类: 云安全,漏洞分析,应急响应,威胁情报,WEB安全


cover_image

AWS惊现“不死”挖矿机:利用原生API特性“锁死”服务器,运维想关机都关不掉

原创

Kit Chung

安全圈动向

2025年12月20日 09:13 广东

大家好,我是Kit。

做云运维的兄弟们,最怕什么?不是服务宕机,而是半夜突然收到云厂商的账单告警——你的账号在一夜之间消费了几万美金。

这可不是瞎编。就在上个月(2025年11月2日),亚马逊安全团队 GuardDuty 捕获了一起极为嚣张的挖矿攻击活动。这帮黑客不仅手速极快——从入侵到开挖只用了10分钟,而且手段极其老辣,甚至用上了AWS原生的API特性来“反杀”运维人员的应急响应。

今天,咱们就扒一扒这次攻击背后的技术细节,看看这帮人到底是怎么在亚马逊眼皮子底下“搞搞阵”的。

01 极速10分钟:从探针到爆破

这次攻击的起点,依然是老生常谈的 IAM(身份与访问管理)凭证泄露。但是,拿到Key之后的这波操作,才显出他们的”专业“。

很多“脚本小子”拿到Key直接就开机,很容易被风控秒杀。但这次的对手非常谨慎,他们先做了一次极具隐蔽性的“火力侦察”。

关键技术点:DryRun 标志位的妙用

攻击者利用失陷的IAM权限,调用了 RunInstances API,但他们加上了一个特殊的参数:DryRun flag

技术解析:

DryRun

是AWS提供的一个校验功能。开启这个标志位后,API会检查你是否有权限执行该操作,检查参数是否合法,但不会真正创建实例

黑客的算盘打得很精:

  • 验证权限:

    确认手里的Key能不能开机器。

  • 隐蔽性强:

    因为没有真正创建资源,不会触发某些基于资源变动的告警。

  • 零成本:

    试探过程完全免费。

这就像是小偷进门前,先用听诊器听听里面有没有人,确认安全且有货(配额充足)后,再破门而入。

02 暴力部署:50+集群的饱和式攻击

一旦通过 DryRun 确认环境“肥沃”,黑客立马撕下面具,进入狂暴模式。

根据Amazon的报告,攻击者在10分钟内完成了以下操作:

  1. 创建IAM角色:

    调用 CreateServiceLinkedRole 和 CreateRole,为后续的自动化扩缩容和Lambda函数铺路。

  2. 权限赋予:

    给Lambda角色绑定了 AWSLambdaBasicExecutionRole 策略。

  3. 集群爆发:

    一口气创建了数十个(甚至超过50个)ECS(弹性容器服务)集群。

恶意载荷分析

他们注册了一个恶意的 Docker 任务定义(Task Definition),使用的是 DockerHub 上的镜像 yenik65958/secret:user(目前已被下架)。

这个镜像非常简单粗暴,启动后直接运行 Shell 脚本,加载 RandomVIREL 算法开始挖矿。

为了把受害者的钱包榨干,他们还配置了 Autoscaling Group(自动伸缩组),将实例数量设定在 20 到 999 之间。这意味着,只要你的Service Quota(配额)允许,他们会瞬间把你的GPU实例和计算型实例拉满。

03 最“恶心”的一招:利用 API 禁止终止

如果说上面的操作只是“快”和“狠”,那么接下来这一招就是“赖”。

通常我们发现异常实例,第一反应是什么? 去控制台点“Terminate(终止)”,或者写个脚本批量 kill 掉。

但这次,运维人员可能会发现:机器关不掉!

关键技术点:disableApiTermination

攻击者在启动实例时,调用了 ModifyInstanceAttribute 接口,并将 disableApiTermination 参数设置为了 True

技术解析:

这是EC2的一个保护机制,本意是防止用户手滑误删重要的生产实例。一旦开启,你无法通过 AWS控制台、CLI 命令行或 API 直接终止实例。

黑客利用这个特性造成了两个后果:

  1. 瘫痪自动化防御:

    很多公司的安全响应脚本(SOAR)是基于API自动调用的,遇到这个标志位会直接报错失败。

  2. 拖延时间:

    运维人员必须先一个个去修改实例属性,把这个保护关掉,然后才能关机。

对于拥有成百上千台僵尸矿机的场景,这多出来的几分钟甚至几十分钟的操作时间,足够黑客多挖不少币,也给受害者增加了巨额账单。

04 买一送一:顺手留个钓鱼后门

你以为挖矿就完了?这帮黑客还懂得“多元化经营”。

调查发现,他们还顺手创建了一个 Lambda 函数和一个名为 user-x1x2x3x4 的IAM用户,并绑定了 AmazonSESFullAccess(简单邮件服务全权限)。

这就意味着,即便挖矿被发现了,他们还可以利用你的高信誉域名和SES服务,向外发送海量的网络钓鱼邮件。既偷你的算力,又透支你的信誉,简直就是把“吃干抹净”演绎到了极致。

最后:如何防御?

虽然黑客手段在升级,但防御的核心逻辑其实没变。针对这次攻击,我有几点建议给各位老铁:

🛡️ 1. 监控 DryRun 调用 不要忽略看似无害的 DryRun API 调用日志,这往往是攻击的前奏。

🛡️ 2. 死磕 IAM 权限 MFA(多因素认证)必须开!这是底线。同时坚持最小权限原则(Least Privilege)。

🛡️ 3. 上手段 确保 GuardDuty 是开启状态。这次亚马逊能发现,全靠GuardDuty立功。

🛡️ 4. 关注异常属性修改 在 CloudTrail 中监控 ModifyInstanceAttribute 这种敏感操作,特别是涉及终止保护的修改。

技术在进步,黑客也在进化。 以前是拼算力,现在是拼对云原生架构的理解。作为防御者,我们必须比他们更懂这些API的“B面”。

觉得文章有用,欢迎转发给身边的运维兄弟,或者点击在看防身!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全圈动向 Kit Chung《AWS惊现“不死”挖矿机:利用原生API特性“锁死”服务器,运维想关机都关不掉》

评论:0   参与:  2