【高级持续性威胁跟踪】红队视角看Sunburst后门中的TTPs
字数 3077 2025-08-24 07:48:09

Sunburst后门TTPs深度分析与红队技术借鉴

1. Sunburst后门概述

1.1 攻击背景

FireEye披露的UNC2452黑客组织通过SolarWinds供应链攻击影响约18000家客户。攻击者早在2019年10月就开始研究代码注入技术,将恶意代码插入SolarWinds.Orion.Core.BusinessLayer.dll文件,并获取了合法数字签名。

1.2 攻击流程

  1. 加载阶段:SolarWinds.BusinessLayerHost.exe加载被篡改的SolarWinds.Orion.Core.BusinessLayer.dll
  2. 环境检测:执行9层严格环境检查
  3. DNS上线:使用DGA算法生成域名进行DNS通信
  4. C2建立:使用两种User-Agent和3种代理模式建立HTTP控制通道
  5. Payload下载:可下载如Cobalt Strike beacon等自定义Payload

2. 代码执行技术分析

2.1 红队执行技术分类

类型 名称 描述 优点 缺点
BYOB Bring Your Own Binary 上传编译好的exe文件执行 直接 需处理静态检测,频繁上传
LotL Living off the Land 利用系统/应用白名单程序加载 规避检查 产生明显进程关系
BYOL Bring Your Own Land 内存加载PE/.NET文件 无文件落地,隐蔽 需自定义开发

2.2 Sunburst执行特点

  1. 隐蔽加载:通过合法进程SolarWinds.BusinessLayerHost.exe加载恶意DLL
  2. 深度调用栈:6层调用后才开始执行恶意代码,增加分析难度
  3. 字符串混淆:使用自定义hash算法处理敏感字符串
  4. 线程分离:创建新线程执行恶意代码,主线程正常运作

3. 环境检测机制

3.1 九层检测机制

  1. 进程验证:校验加载进程为solarwinds.businesslayerhost.exe
  2. 潜伏期检查:DLL最后写入时间需早于当前时间12-14天
  3. 命名管道检查:避免重复执行(583da945-62af-10e8-4902-a8f205c72b2e)
  4. 配置项检查:ReportWatcherRetry,ReportStatus不为3
  5. 域名黑名单
    • 包含"solarwinds"、"test"等关键词
    • 哈希黑名单包含swdev.local、lab.local等
  6. IP黑名单:检查网卡IP不在内网范围(10.0.0.0/8等)
  7. 进程黑名单:137个安全相关进程检测
  8. 驱动黑名单:13个安全软件驱动检测
  9. 域名解析验证:检查api.solarwinds.com解析结果

3.2 检测技术亮点

  1. 驱动检测意义:即使进程/服务被重命名,驱动路径和altitude不变
    • 示例:Sysmon默认altitude为385201
  2. 哈希比较:所有检测项使用哈希值而非明文,规避字符串扫描
  3. 环境模拟检测:特别规避测试环境、安全分析环境

4. C2通信机制

4.1 DNS通信阶段

  1. DGA算法:生成随机域名,休眠间隔1-3分钟或30-120分钟
  2. 解析处理
    • 失败:休眠7-9小时后重试
    • 成功:解析CNAME和IP,进行白名单/黑名单校验
  3. IP分类
    • Atm:内网IP黑名单(10.0.0.0/8等)
    • Ipx:外网IP黑名单(41.84.159.0/24等)
    • ImpLink:等待名单(20.140.0.0/15等)
    • NetBios:白名单(8.18.144.0/23等)

4.2 HTTP控制阶段

  1. User-Agent
    • 伪装Windows证书吊销列表检查
    • 使用SolarWinds合法User-Agent
  2. 代理配置
    • 无代理
    • 系统代理
    • SolarWinds配置代理
  3. 数据封装:使用JSON格式封装数据,混入正常字段

4.3 命令功能

命令ID 功能描述
0 空闲
1 结束进程
2 设置延迟时间
3 收集系统信息
4 上传系统信息
5 启动新进程
6 枚举进程
7 结束指定进程
8 枚举文件
9 写入文件
10 检查文件存在
11 删除文件
12 获取文件MD5
13 读注册表
14 写注册表
15 删注册表
16 枚举注册表
17 系统重启

5. DGA算法深度解析

5.1 生成机制

  1. 基础数据
    • MachineGuid(HKLM\SOFTWARE\Microsoft\Cryptography)
    • 首个网卡MAC地址
  2. UID生成:MD5(MachineGuid+MAC),16字节数组异或得64位哈希
  3. 加密处理
    • CryptoHelper.Base64Encode:实际为自定义Base32
    • CryptoHelper.Base64Decode:自定义加密算法

5.2 域名格式

  1. 第一阶段DGA
    • GetCurrentString/GetPreviousString
    • 示例:0fn7oe4cegrf933c[00]mudofi75f4tjvh
  2. 第二阶段DGA
    • GetNextStringEx/GetNextString
    • 示例:spsd.sk.ca
  3. GUID重用:相同GUID用于分割长域名,逆向拼接得完整域名

6. 红队技术借鉴

6.1 隐蔽执行建议

  1. LotL进阶:修改合法DLL而非劫持,保持数字签名
  2. 调用栈混淆:增加调用深度,延缓动态分析
  3. 内存操作:实现BYOL技术,避免文件落地

6.2 环境检测优化

  1. 驱动检测:补充进程检测的不足,识别重命名安全产品
  2. 哈希应用:关键字符串全部哈希处理,规避静态扫描
  3. 环境指纹:收集测试环境、沙箱特有特征

6.3 C2通信改进

  1. 协议组合:DNS+HTTP混合使用,分段检测
  2. 流量伪装
    • 复用业务User-Agent
    • 支持多种代理配置
    • 数据混入业务字段
  3. DGA设计
    • 分阶段生成算法
    • 结合系统唯一标识
    • 自定义编解码算法

7. 防御建议

  1. 供应链安全:加强代码签名验证,实施双人审核
  2. 异常检测
    • 监控DLL加载异常
    • 分析深层次调用栈
  3. 网络监控
    • 检测非常规DNS查询模式
    • 分析HTTP流量中的异常User-Agent
  4. 环境加固
    • 随机化测试环境标识
    • 监控驱动加载行为

附录:关键检测项

完整进程、驱动、服务哈希黑名单参见原文,包含:

  • 137个进程哈希(如Windbg、Wireshark等)
  • 13个驱动哈希(如groundling32.sys等)
  • 安全服务哈希(如碳黑、Crowdstrike等)

总结

Sunburst后门展现了高级APT组织的TTPs特点:

  1. 隐蔽优先:所有设计以规避检测为第一原则
  2. 深度潜伏:长期研究供应链漏洞,早于攻击数月植入
  3. 环境感知:多层严格检查,确保只在目标环境激活
  4. 通信灵活:多种协议组合,自适应网络环境

红队行动可借鉴其OpSec设计理念,平衡隐蔽性与功能性,特别是在BYOL实现、环境检测和C2通信方面。

Sunburst后门TTPs深度分析与红队技术借鉴 1. Sunburst后门概述 1.1 攻击背景 FireEye披露的UNC2452黑客组织通过SolarWinds供应链攻击影响约18000家客户。攻击者早在2019年10月就开始研究代码注入技术,将恶意代码插入SolarWinds.Orion.Core.BusinessLayer.dll文件,并获取了合法数字签名。 1.2 攻击流程 加载阶段 :SolarWinds.BusinessLayerHost.exe加载被篡改的SolarWinds.Orion.Core.BusinessLayer.dll 环境检测 :执行9层严格环境检查 DNS上线 :使用DGA算法生成域名进行DNS通信 C2建立 :使用两种User-Agent和3种代理模式建立HTTP控制通道 Payload下载 :可下载如Cobalt Strike beacon等自定义Payload 2. 代码执行技术分析 2.1 红队执行技术分类 | 类型 | 名称 | 描述 | 优点 | 缺点 | |------|------|------|------|------| | BYOB | Bring Your Own Binary | 上传编译好的exe文件执行 | 直接 | 需处理静态检测,频繁上传 | | LotL | Living off the Land | 利用系统/应用白名单程序加载 | 规避检查 | 产生明显进程关系 | | BYOL | Bring Your Own Land | 内存加载PE/.NET文件 | 无文件落地,隐蔽 | 需自定义开发 | 2.2 Sunburst执行特点 隐蔽加载 :通过合法进程SolarWinds.BusinessLayerHost.exe加载恶意DLL 深度调用栈 :6层调用后才开始执行恶意代码,增加分析难度 字符串混淆 :使用自定义hash算法处理敏感字符串 线程分离 :创建新线程执行恶意代码,主线程正常运作 3. 环境检测机制 3.1 九层检测机制 进程验证 :校验加载进程为solarwinds.businesslayerhost.exe 潜伏期检查 :DLL最后写入时间需早于当前时间12-14天 命名管道检查 :避免重复执行(583da945-62af-10e8-4902-a8f205c72b2e) 配置项检查 :ReportWatcherRetry,ReportStatus不为3 域名黑名单 : 包含"solarwinds"、"test"等关键词 哈希黑名单包含swdev.local、lab.local等 IP黑名单 :检查网卡IP不在内网范围(10.0.0.0/8等) 进程黑名单 :137个安全相关进程检测 驱动黑名单 :13个安全软件驱动检测 域名解析验证 :检查api.solarwinds.com解析结果 3.2 检测技术亮点 驱动检测意义 :即使进程/服务被重命名,驱动路径和altitude不变 示例:Sysmon默认altitude为385201 哈希比较 :所有检测项使用哈希值而非明文,规避字符串扫描 环境模拟检测 :特别规避测试环境、安全分析环境 4. C2通信机制 4.1 DNS通信阶段 DGA算法 :生成随机域名,休眠间隔1-3分钟或30-120分钟 解析处理 : 失败:休眠7-9小时后重试 成功:解析CNAME和IP,进行白名单/黑名单校验 IP分类 : Atm:内网IP黑名单(10.0.0.0/8等) Ipx:外网IP黑名单(41.84.159.0/24等) ImpLink:等待名单(20.140.0.0/15等) NetBios:白名单(8.18.144.0/23等) 4.2 HTTP控制阶段 User-Agent : 伪装Windows证书吊销列表检查 使用SolarWinds合法User-Agent 代理配置 : 无代理 系统代理 SolarWinds配置代理 数据封装 :使用JSON格式封装数据,混入正常字段 4.3 命令功能 | 命令ID | 功能描述 | |--------|----------| | 0 | 空闲 | | 1 | 结束进程 | | 2 | 设置延迟时间 | | 3 | 收集系统信息 | | 4 | 上传系统信息 | | 5 | 启动新进程 | | 6 | 枚举进程 | | 7 | 结束指定进程 | | 8 | 枚举文件 | | 9 | 写入文件 | | 10 | 检查文件存在 | | 11 | 删除文件 | | 12 | 获取文件MD5 | | 13 | 读注册表 | | 14 | 写注册表 | | 15 | 删注册表 | | 16 | 枚举注册表 | | 17 | 系统重启 | 5. DGA算法深度解析 5.1 生成机制 基础数据 : MachineGuid(HKLM\SOFTWARE\Microsoft\Cryptography) 首个网卡MAC地址 UID生成 :MD5(MachineGuid+MAC),16字节数组异或得64位哈希 加密处理 : CryptoHelper.Base64Encode :实际为自定义Base32 CryptoHelper.Base64Decode :自定义加密算法 5.2 域名格式 第一阶段DGA : GetCurrentString/GetPreviousString 示例: 0fn7oe4cegrf933c[00]mudofi75f4tjvh 第二阶段DGA : GetNextStringEx/GetNextString 示例: spsd.sk.ca GUID重用 :相同GUID用于分割长域名,逆向拼接得完整域名 6. 红队技术借鉴 6.1 隐蔽执行建议 LotL进阶 :修改合法DLL而非劫持,保持数字签名 调用栈混淆 :增加调用深度,延缓动态分析 内存操作 :实现BYOL技术,避免文件落地 6.2 环境检测优化 驱动检测 :补充进程检测的不足,识别重命名安全产品 哈希应用 :关键字符串全部哈希处理,规避静态扫描 环境指纹 :收集测试环境、沙箱特有特征 6.3 C2通信改进 协议组合 :DNS+HTTP混合使用,分段检测 流量伪装 : 复用业务User-Agent 支持多种代理配置 数据混入业务字段 DGA设计 : 分阶段生成算法 结合系统唯一标识 自定义编解码算法 7. 防御建议 供应链安全 :加强代码签名验证,实施双人审核 异常检测 : 监控DLL加载异常 分析深层次调用栈 网络监控 : 检测非常规DNS查询模式 分析HTTP流量中的异常User-Agent 环境加固 : 随机化测试环境标识 监控驱动加载行为 附录:关键检测项 完整进程、驱动、服务哈希黑名单参见原文,包含: 137个进程哈希(如Windbg、Wireshark等) 13个驱动哈希(如groundling32.sys等) 安全服务哈希(如碳黑、Crowdstrike等) 总结 Sunburst后门展现了高级APT组织的TTPs特点: 隐蔽优先 :所有设计以规避检测为第一原则 深度潜伏 :长期研究供应链漏洞,早于攻击数月植入 环境感知 :多层严格检查,确保只在目标环境激活 通信灵活 :多种协议组合,自适应网络环境 红队行动可借鉴其OpSec设计理念,平衡隐蔽性与功能性,特别是在BYOL实现、环境检测和C2通信方面。