黄金旋律IAB组织利用暴露的ASP.NET机器密钥实施未授权访问
字数 1733 2025-08-30 06:50:27
ASP.NET ViewState反序列化攻击与机器密钥泄露防护指南
1. 攻击活动概述
黄金旋律(Gold Melody)是一个初始访问代理(IAB)组织,追踪编号为TGR-CRI-0045,也被称为Prophet Spider和UNC961。该组织利用泄露的ASP.NET机器密钥实施ViewState反序列化攻击,获取企业系统未授权访问权限,并将这些权限转售给其他威胁行为者。
受影响行业
- 金融服务
- 制造业
- 批发零售
- 高科技行业
- 交通运输和物流行业
2. 技术原理分析
2.1 ASP.NET ViewState机制
ViewState是ASP.NET用于保存页面状态的一种机制,它会在客户端存储页面控件的状态信息。默认情况下,ViewState会使用HMAC进行签名验证,防止篡改。
2.2 机器密钥(MachineKey)的作用
- 用于加密ViewState数据
- 用于生成ViewState的HMAC签名
- 用于ASP.NET身份验证票据的加密
2.3 攻击原理
攻击者利用泄露的机器密钥:
- 构造恶意的ViewState数据
- 使用正确的密钥签名
- 绕过服务器端的验证机制
- 实现反序列化攻击,在服务器内存中执行任意代码
3. 攻击技术细节
3.1 攻击工具链
- ysoserial.net:开源.NET反序列化载荷生成器
- ViewState插件:用于构建攻击载荷
- 定制化C#程序(updf):用于本地提权
3.2 内存驻留技术特点
- 直接在服务器内存中执行恶意载荷
- 最小化磁盘痕迹
- 难以被传统EDR解决方案检测
- 不依赖文件系统或进程树特征
3.3 已识别的IIS恶意模块
- Cmd /c:执行任意系统命令
- 文件上传:通过字节缓冲区上传文件
- Winner:检测漏洞利用是否成功
- 文件下载(未复原):从服务器获取数据
- 反射加载器(未复原):动态加载执行.NET程序集
4. 攻击活动时间线
- 2024年10月:最早的活动证据
- 2024年12月:微软首次检测到类似攻击
- 2025年1-3月:攻击活动显著激增
- 2025年2月:微软公开记录超过3000个暴露的密钥
5. 攻击者后渗透行为
-
侦察阶段:
- 部署漏洞检查器
- 执行基本的Shell侦察
- 映射内网结构
-
工具部署:
- ELF二进制文件(atm)
- Golang端口扫描器(TXPortMap)
- 从195.123.240[.]233:443下载工具
-
持久化技术:
- 每次命令执行都重新利用漏洞
- 重新上传程序集
- 维持长期访问权限
6. 检测与防护措施
6.1 检测建议
- 监控异常IIS请求模式
- 检查w3wp.exe生成的异常子进程
- 分析.NET应用程序行为突变
- 实施基于内存的恶意行为检测
6.2 防护措施
-
机器密钥管理:
- 定期更换机器密钥
- 确保密钥不在配置文件中明文存储
- 使用强密钥生成策略
-
ViewState安全配置:
- 启用ViewState MAC验证
- 设置ViewState加密
- 限制ViewState大小
-
ASP.NET安全加固:
- 禁用不必要的反序列化功能
- 更新到最新ASP.NET版本
- 配置严格的HttpRuntime设置
-
服务器加固:
- 实施最小权限原则
- 启用文件完整性监控
- 部署高级EDR解决方案
6.3 应急响应
- 识别并重置所有暴露的机器密钥
- 检查IIS日志中的异常请求
- 扫描内存中的恶意模块
- 审查所有近期部署的.NET程序集
7. 长期安全策略
-
威胁模型扩展:
- 纳入加密完整性风险
- 考虑ViewState MAC篡改场景
- 评估IIS中间件滥用风险
-
纵深防御:
- 实施应用白名单
- 部署运行时应用自我保护(RASP)
- 建立完善的日志收集和分析系统
-
安全意识培训:
- 开发人员安全编码培训
- 运维人员安全配置培训
- 安全团队专项技能提升
8. 参考资源
- 微软ASP.NET安全指南
- OWASP反序列化防护备忘单
- Unit 42威胁情报报告(TGR-CRI-0045)
- ysoserial.net项目文档
- ASP.NET ViewState安全最佳实践
通过全面实施上述防护措施,企业可以有效防范利用机器密钥泄露的ASP.NET ViewState反序列化攻击,保护关键业务系统安全。