黄金旋律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 攻击原理

攻击者利用泄露的机器密钥:

  1. 构造恶意的ViewState数据
  2. 使用正确的密钥签名
  3. 绕过服务器端的验证机制
  4. 实现反序列化攻击,在服务器内存中执行任意代码

3. 攻击技术细节

3.1 攻击工具链

  • ysoserial.net:开源.NET反序列化载荷生成器
  • ViewState插件:用于构建攻击载荷
  • 定制化C#程序(updf):用于本地提权

3.2 内存驻留技术特点

  • 直接在服务器内存中执行恶意载荷
  • 最小化磁盘痕迹
  • 难以被传统EDR解决方案检测
  • 不依赖文件系统或进程树特征

3.3 已识别的IIS恶意模块

  1. Cmd /c:执行任意系统命令
  2. 文件上传:通过字节缓冲区上传文件
  3. Winner:检测漏洞利用是否成功
  4. 文件下载(未复原):从服务器获取数据
  5. 反射加载器(未复原):动态加载执行.NET程序集

4. 攻击活动时间线

  • 2024年10月:最早的活动证据
  • 2024年12月:微软首次检测到类似攻击
  • 2025年1-3月:攻击活动显著激增
  • 2025年2月:微软公开记录超过3000个暴露的密钥

5. 攻击者后渗透行为

  1. 侦察阶段

    • 部署漏洞检查器
    • 执行基本的Shell侦察
    • 映射内网结构
  2. 工具部署

    • ELF二进制文件(atm)
    • Golang端口扫描器(TXPortMap)
    • 从195.123.240[.]233:443下载工具
  3. 持久化技术

    • 每次命令执行都重新利用漏洞
    • 重新上传程序集
    • 维持长期访问权限

6. 检测与防护措施

6.1 检测建议

  • 监控异常IIS请求模式
  • 检查w3wp.exe生成的异常子进程
  • 分析.NET应用程序行为突变
  • 实施基于内存的恶意行为检测

6.2 防护措施

  1. 机器密钥管理

    • 定期更换机器密钥
    • 确保密钥不在配置文件中明文存储
    • 使用强密钥生成策略
  2. ViewState安全配置

    • 启用ViewState MAC验证
    • 设置ViewState加密
    • 限制ViewState大小
  3. ASP.NET安全加固

    • 禁用不必要的反序列化功能
    • 更新到最新ASP.NET版本
    • 配置严格的HttpRuntime设置
  4. 服务器加固

    • 实施最小权限原则
    • 启用文件完整性监控
    • 部署高级EDR解决方案

6.3 应急响应

  1. 识别并重置所有暴露的机器密钥
  2. 检查IIS日志中的异常请求
  3. 扫描内存中的恶意模块
  4. 审查所有近期部署的.NET程序集

7. 长期安全策略

  1. 威胁模型扩展

    • 纳入加密完整性风险
    • 考虑ViewState MAC篡改场景
    • 评估IIS中间件滥用风险
  2. 纵深防御

    • 实施应用白名单
    • 部署运行时应用自我保护(RASP)
    • 建立完善的日志收集和分析系统
  3. 安全意识培训

    • 开发人员安全编码培训
    • 运维人员安全配置培训
    • 安全团队专项技能提升

8. 参考资源

  1. 微软ASP.NET安全指南
  2. OWASP反序列化防护备忘单
  3. Unit 42威胁情报报告(TGR-CRI-0045)
  4. ysoserial.net项目文档
  5. ASP.NET ViewState安全最佳实践

通过全面实施上述防护措施,企业可以有效防范利用机器密钥泄露的ASP.NET ViewState反序列化攻击,保护关键业务系统安全。

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反序列化攻击,保护关键业务系统安全。