![]()
766台服务器,同一套漏洞,一个带统计面板的"战利品仓库"。这不是电影剧本,是思科Talos团队上周刚结束的追踪。
UAT-10608——这个被安全圈临时挂号的攻击团伙——把CVE-2025-55182(CVSS满分10.0)变成了流水线作业。他们没挑目标,是目标自己撞上来的。
漏洞本身:React Server Components的"后门钥匙"
CVE-2025-55182藏在Next.js的App Router里。React Server Components(RSC,服务端组件)本是为了让页面渲染更快,结果成了远程代码执行的入口。
攻击者不需要知道你的业务是什么。Shodan、Censys扫一圈,公网暴露的Next.js实例自动进清单。探测、利用、植入,全程脚本化。
「Post-compromise, UAT-10608 leverages automated scripts for extracting and exfiltrating credentials from a variety of applications」,Talos研究员Asheer Malhotra和Brandon White在报告中写道。翻译成人话:进去之后,机器自动翻箱倒柜。
NEXUS Listener:带GUI的"赃物管理中心"
这次最让安全圈侧目的不是漏洞本身,是攻击者的"产品化思维"。
他们在C2服务器上搭了一个叫NEXUS Listener的Web面板,V3版本——说明已经迭代过两轮。功能包括:
实时统计: compromised主机数、各类型凭证数量、面板运行时长
搜索筛选:按主机、凭证类型、时间戳检索
可视化浏览:点进去看每台机器的"战利品清单"
这种设计让运营者不用碰命令行就能管理数千条凭证。Talos团队看到面板时,里面已经躺着766台主机的数据。
收割清单:从SSH密钥到Stripe API
多阶段脚本会按顺序搜刮:
JavaScript运行时的环境变量(JSON格式解析)
SSH私钥和authorized_keys
Kubernetes服务账户令牌
Docker容器配置:运行中的容器、镜像、暴露端口、网络配置、挂载点、环境变量
云厂商临时凭证:AWS、GCP、Azure的IAM角色凭证(通过Instance Metadata Service抓取)
Shell历史记录
Stripe API密钥、GitHub令牌
云原生环境的"全套餐"。一旦拿到IAM临时凭证,攻击者可以直接操作你的云资源——删库、开矿机、横向移动,看心情。
为什么Next.js成了靶子
Next.js的采用曲线和暴露面是硬币两面。Vercel托管的、自托管的、Docker里跑的,配置水平参差不齐。
App Router从13.4开始稳定,RSC架构让很多团队还没完全理解就上了生产。CVE-2025-55182的利用不需要认证,公网可达+版本未修=直接开门。
Talos的归因依据是攻击模式的"工业化"特征:无差别扫描、自动化利用、标准化数据格式、带分析面板的后台。这不是定向APT,是基础设施即服务(IaaS)时代的"漏洞套利"。
766台主机分布在多个地理区域和云服务商,没有特定行业偏好。攻击者的成本几乎只在扫描带宽和面板服务器租赁。
防御侧的尴尬
Next.js团队的安全补丁早已发布,但"已修复"和"已部署"之间隔着无数台被遗忘的测试机、内部工具、外包项目。
Shodan上搜"Next.js"仍有数万个结果。其中多少打了补丁?多少暴露在公网?多少用了App Router?
UAT-10608的面板设计暴露了一个趋势:攻击工具正在向"低门槛运营"进化。你不需要懂命令行,不需要记语法,登录Web界面就能筛选、搜索、导出。
这对防御方的启示很直接——凭证轮换和最小权限不再是"最佳实践",是生存必需。环境变量里放长期有效的AWS密钥,等于把备用钥匙挂在门把手上。
Talos报告发布时,NEXUS Listener的V3面板仍在活跃。766这个数字会停在哪儿?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.