威胁情报分析报告
入侵分析:中国关联威胁行为体针对东南亚边缘网络基础设施的大规模攻击行动
报告编号: TIR-2026-0525-SEA
发布日期: 2026-05-25
威胁行为体: 疑似中国关联攻击集群(未命名)
目标区域: 东南亚
目标行业: 网络基础设施(边缘路由器/网关设备)
严重等级: 严重
TLP: AMBER
核心发现
一个中国关联入侵集群被发现正在对东南亚地区的边缘网络设备实施大规模攻击行动。攻击者将定制化 Linux ELF 植入体(router.elf)直接部署于受害单位的边界路由器上,通过 DNS over HTTPS(DoH)建立持久化命令与控制(C2)通道,同时武器化路由器的 iptables 子系统对下游 DNS 流量实施规模化劫持。
关联发现的 Windows 端攻击手法采用破解版 Cobalt Strike 4.4 Beacon,通过 DLL 侧加载(version.dll)投递,与路由器植入体共享完全一致的 C2 基础设施和流量伪装配置——确认为统一作战控制。
本次行动体现出攻击者刻意选择攻击网络基础设施而非终端的战略意图,使其能够:
- 完全规避终端检测与响应(EDR)解决方案
- 对经过设备的所有网络流量保持可见性和控制权
- 对受害路由器下游的所有设备发起后续攻击(DNS 投毒、供应链劫持、凭据窃取)
威胁行为体画像
| 属性 | 评估 |
|---|---|
| 关联国家 | 中华人民共和国(PRC) |
| 置信度 | 高 |
| 动机 | 情报收集 / 持久化访问 |
| 能力等级 | 高级(定制化植入体开发、跨平台工具链、基础设施层攻击手法) |
| 目标范围 | 使用 Linux 系统边缘路由设备的东南亚组织机构 |
归因依据:
- 植入体二进制文件中嵌入中文字符串(
设置非阻塞模式失败) - C2 通信配置中硬编码
Accept-Language: zh-CN - 破解版 Cobalt Strike License ID
666666666—— 该特征在中国关联攻击行动中持续出现 - C2 基础设施注册模式与已知中国关联集群一致
- 作战节奏与目标选择符合中国在东南亚地区的战略情报利益
攻击行动全貌
┌─────────────────────────────────────────────────────────────────┐
│ 攻击链架构 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 边界路由器 │────▶│ DNS 劫持 │────▶│ 下游受害者 │ │
│ │ (root) │ │ (iptables) │ │ │ │
│ └──────┬───────┘ └──────────────┘ └──────────────┘ │
│ │ │
│ ├── router.elf(定制化 RAT,DoH C2) │
│ ├── client_rc_start(冗余后门) │
│ └── iptables DNAT 规则 + ipset "evil_fix" │
│ │
│ ┌──────────────┐ │
│ │ Windows │ │
│ │ 终端 │── version.dll(DLL 侧加载 → CS Beacon) │
│ └──────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 共享 C2 基础设施 │ │
│ │ specialclouds.com/top │ contextlayerrun.com │ │
│ │ namefilecode.com │ valuecode.top │ perfectgo.top │ │
│ │ URI: /api/v1/get (轮询) │ /api/v1/post (回传) │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
技术分析
植入体:router.elf
| 属性 | 值 |
|---|---|
| 平台 | Linux x86-64 |
| 类型 | ELF PIE, static-pie linked, stripped |
| 大小 | 480,480 字节 |
| 编译器 | GCC 11.2.1 |
| 加密库 | mbedTLS(静态链接) |
| MD5 | 6401cdc783b4afcbcc294954b4cc5dd2 |
| SHA256 | 6a43de021fa79dc3eb5f6ed509b605ef617f56af7de8b136698e5dd86c7775ae |
对抗分析技术:
- 静态链接消除共享库依赖
- 符号剥离移除所有调试信息
- PIE 编译随机化加载地址
- 多层配置加密(XOR + Xorshift PRNG 流密码)
- 敏感字符串 XOR 0x5a 混淆
C2 配置加密算法:
植入体使用自定义流密码保护嵌入式 C2 配置:
- 从
.data段读取 12 字节加密种子(偏移 0x240) - 使用硬编码密钥
BOOTKEYSlot!对种子进行 XOR 解密 - 解密后的 12 字节初始化三个 32 位 Xorshift PRNG 状态变量
- PRNG 密钥流结合 ROR 旋转操作解密 6,132 字节配置数据
; BOOTKEYSlot! XOR 种子解密 (0x80c1)
80c1: mov rax, [rip+0x26b198] ; 加载加密种子
80cd: lea rcx, [rip+0x26b17c] ; rcx = "BOOTKEYSlot!"
80e5: mov dl, [rax+rbx*1] ; dl = seed[i]
80e8: xor dl, [rcx+rax*1] ; dl ^= key[i]
80f2: cmp rax, 0xc ; 循环 12 次
; Xorshift PRNG 解密主循环 (0x812c) — 1533 次迭代
8140: mov eax, esi ; eax = PRNG 状态
8142: shl eax, 0xd ; xorshift 步骤 1
8145: xor eax, esi
8149: shr esi, 0x11 ; xorshift 步骤 2
814c: xor eax, esi
8150: shl esi, 0x5 ; xorshift 步骤 3
8153: xor esi, eax
815d: xor eax, r8d ; 组合状态
8163: xor eax, esi ; XOR 密钥流
8165: ror eax, cl ; 按计数器旋转
解密后的 C2 配置(摘录):
0x012e: contextlayerrun.com,/api/v1/get [C2 域名 + GET 路径]
0x0234: Mozilla/5.0 (Windows NT 10.0; ...) [User-Agent]
0x0339: /api/v1/post [POST 路径]
0x048e: Accept: */* [HTTP 请求头]
0x04a0: Accept-Language: zh-CN,zh;q=0.9 [语言标识]
字符串混淆(XOR 0x5a):
敏感运行时字符串使用单字节 XOR 0x5a 编码,动态解码:
; 运行时 XOR 0x5a 解码 (0xc911)
c911: mov dl, [rcx+rax*1] ; 读取编码字节
c919: xor edx, 0x5a ; XOR 0x5a 解码
c91c: mov [rsp+rax*1+0x3b], dl ; 存储解码结果
示例:75 2a 28 35 39 75 29 3f 36 3c 75 3f 22 3f 5a → /proc/self/exe
DNS over HTTPS(DoH)解析:
植入体通过 Cloudflare DoH 解析 C2 域名,绕过传统 DNS 监控:
; 加载 DoH 解析器主机名 (0x954c)
954c: lea rsi, [rip+0x46605] ; "cloudflare-dns.com"
9556: call 0x15186 ; 设置 TLS 主机名
; 构造 DoH POST 请求
958a: lea rcx, [rip+0x465da] ; "/dns-query"
95a1: lea r8, [rip+0x465b0] ; "cloudflare-dns.com"
95b7: call 0x45f60 ; snprintf 构造 HTTP 请求
植入体 C2 通信配置:
| 参数 | 值 |
|---|---|
| C2 域名 | contextlayerrun.com |
| 端口 | 443/TCP (HTTPS) |
| GET URI | /api/v1/get |
| POST URI | /api/v1/post |
| 回连间隔 | ~50,000 ms (50秒) |
| DNS 解析 | DoH via cloudflare-dns.com
|
| TLS 库 | mbedTLS(内嵌) |
路由器 DNS 劫持(iptables DNAT)
攻击者在受害路由器上植入持久化 iptables NAT 规则,将所有下游 DNS 流量重定向至攻击者控制的伪造解析器:
DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 to:8.213.217.130:8090
DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 to:47.81.37.109:8090
DNAT all -- 0.0.0.0/0 0.0.0.0/0 match-set evil_fix dst to:23.254.129.112
| 规则 | 协议 | 触发条件 | 重定向目标 | 用途 |
|---|---|---|---|---|
| 1 | UDP | 目标端口 53 | 8.213.217.130:8090 |
主恶意 DNS 解析器 |
| 2 | UDP | 目标端口 53 | 47.81.37.109:8090 |
备用恶意 DNS 解析器 |
| 3 | ALL | 命中 ipset evil_fix
|
23.254.129.112 |
针对特定目标的定向流量重定向 |
作战效果:
- 完全控制路由器下游所有设备的 DNS 解析结果
- 使用非标端口 8090 规避基于 53 端口的 DNS 安全审计
- 动态 ipset(
evil_fix)支持针对性劫持软件更新通道、安全厂商域名或特定受害者流量 - 确认攻击者已获取网络设备的 root 级别访问权限
路由器冗余后门:client_rc_start
| 属性 | 值 |
|---|---|
| 文件名 | client_rc_start |
| MD5 | 92ED4D259940D4294190E60ADD5CC587 |
| 角色 | 受害路由器上的冗余持久化后门 |
与 router.elf 协同部署,确保主植入体被发现清除后仍可维持对设备的控制。
Windows 端 Cobalt Strike Beacon(DLL 侧加载)
攻击者通过破解版 Cobalt Strike 4.4 Beacon 将攻击从网络基础设施延伸至 Windows 终端,采用 DLL 侧加载方式投递。
投递机制:
| 组件 | 值 |
|---|---|
| 侧加载 DLL |
version.dll(MD5: 20C196FD5CF9A4845D048006321A52B8) |
| 宿主进程 |
CrashReport.exe / CrashReport64.exe
|
| 注入路径 (x86) | %allusersprofile%\CrashReport\CrashReport.exe |
| 注入路径 (x64) | %allusersprofile%\CrashReport\CrashReport64.exe |
Beacon 配置:
| 参数 | 值 |
|---|---|
| Beacon 类型 | windows-beacon_https-reverse_https |
| CS 版本 | 4.4(破解版,License ID: 666666666) |
| 睡眠时间 | 50,000 ms (50秒) |
| 抖动 | 30% |
| 端口 | 443 (HTTPS) |
| 代理 | IE 设置 |
C2 服务器:
| 域名 | 方法 | URI |
|---|---|---|
specialclouds.com |
GET | /api/v1/get |
specialclouds.com |
POST | /api/v1/post |
specialclouds.top |
GET | /api/v1/get |
namefilecode.com |
GET | /api/v1/get |
Malleable C2 配置(HTTP 请求头):
GET 请求:
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/536.36
(KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Content-Type : application/*; charset=utf-8
Accept : */*
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Priority : u=1, i
Cookie : _UK=<Base64URL 编码的 Metadata>
POST 请求:
[与 GET 请求相同的请求头]
Cookie : _ZF=<Base64URL 编码的 Session ID>
进程注入配置:
| 参数 | 值 |
|---|---|
| 初始内存保护 | PAGE_READWRITE |
| 执行内存保护 | PAGE_EXECUTE_READ |
| 最小分配内存 | 10,192 字节 |
| 线程入口点 | ntdll!RtlUserThreadStart |
RSA 公钥:
30819f300d06092a864886f70d010101050003818d00308189028181009793f0
6442851056a387957c4189a34110f5fff6172fb8684c6785b437f2989a6cbba3
728927ba0940a9aad6e595aeb9fd56925386f5179dbe47a30803f35f2e0a6f48
aecda3c0a9f1ec91f6ac6ff206f44e4723ad144daaa53a5b8182133e4ce69e02
f8973ffe95079e08fa4348e65167194ceacef0209a70832c4857a5e701020301
000100
DNS Beacon 策略:
| 参数 | 值 |
|---|---|
| 策略 | 轮询(模式 2) |
| 失败阈值 | 5 次失败后切换 |
| 轮换超时 | 无限制 (-1) |
| 失败超时 | 无限制 (-1) |
跨平台基础设施关联
路由器植入体与 Windows Cobalt Strike Beacon 共享以下指标,确认为统一攻击者控制:
| 指标 | router.elf | CS Beacon |
|---|---|---|
| User-Agent | AppleWebKit/536.36 ... Chrome/135.0.0.0 |
完全一致 |
| URI 模式 |
/api/v1/get, /api/v1/post
|
完全一致 |
| Cookie 标识 |
_UK=, _ZF=
|
完全一致 |
| 睡眠间隔 | 50,000 ms | 50,000 ms |
| C2 域名 | contextlayerrun.com |
specialclouds.com/top(共享基础设施) |
| 端口 | 443 | 443 |
| 语言标识 | zh-CN |
zh-CN |
失陷指标(IOC)
文件指标
| 文件名 | MD5 | 说明 |
|---|---|---|
| router.elf | 6401cdc783b4afcbcc294954b4cc5dd2 |
Linux 路由器 RAT(主植入体) |
| router.elf | SHA256: 6a43de021fa79dc3eb5f6ed509b605ef617f56af7de8b136698e5dd86c7775ae
|
— |
| client_rc_start | 92ED4D259940D4294190E60ADD5CC587 |
路由器冗余后门 |
| version.dll | 20C196FD5CF9A4845D048006321A52B8 |
CS Beacon DLL 侧加载载荷 |
网络指标
C2 域名:
| 域名 | 用途 |
|---|---|
contextlayerrun.com |
路由器植入体 C2 |
specialclouds.com |
CS Beacon C2 |
specialclouds.top |
CS Beacon C2 |
namefilecode.com |
CS Beacon C2 |
valuecode.top |
关联 C2 |
windowsweatherkb.top |
关联 C2 |
function.windowsoftmessages.com |
关联 C2 |
perfectgo.top |
关联 C2 |
safelyhome.top |
关联 C2 |
discovercoded.com |
关联 C2 |
C2 IP 地址:
| IP | 端口 | 用途 |
|---|---|---|
8.211.130.16 |
443 | C2 服务器 |
8.213.217.130 |
8090 | 恶意 DNS 解析器(主) |
47.81.37.109 |
8090 | 恶意 DNS 解析器(备) |
23.254.129.112 |
— | 流量重定向节点(ipset 目标) |
C2 URI 模式:
GET /api/v1/get
POST /api/v1/post
网络特征签名:
| 指标 | 值 |
|---|---|
| DoH 解析器 |
cloudflare-dns.com/dns-query(非浏览器进程发起) |
| User-Agent 异常 |
AppleWebKit/536.36(合法版本为 537.36) |
| Cookie 标识 |
_UK=(GET 元数据), _ZF=(POST 会话) |
| ipset 名称 |
evil_fix(受害路由器上) |
MITRE ATT&CK 映射
| 战术 | 技术 | 编号 |
|---|---|---|
| 初始访问 | 利用面向公众的应用 | T1190 |
| 执行 | 命令和脚本解释器:Unix Shell | T1059.004 |
| 持久化 | 启动项/自启动执行 | T1547 |
| 持久化 | 流量信号 | T1205 |
| 防御规避 | 混淆的文件或信息 | T1027 |
| 防御规避 | 加密通道 | T1573 |
| 防御规避 | 劫持执行流:DLL 侧加载 | T1574.002 |
| 发现 | 系统信息发现 | T1082 |
| 发现 | 文件和目录发现 | T1083 |
| 收集 | 本地系统数据 | T1005 |
| 命令与控制 | 应用层协议:Web 协议 | T1071.001 |
| 命令与控制 | 协议隧道(DoH) | T1572 |
| 命令与控制 | 动态解析 | T1568.002 |
| 数据渗出 | 通过 C2 通道渗出 | T1041 |
| 影响 | 网络拒绝服务(DNS 劫持) | T1498 |
处置建议
紧急行动(关键)
-
审计所有边缘路由器和网关设备 —— 检查 iptables NAT 规则中是否存在未授权的 DNAT 条目;搜索名为
evil_fix或类似的 ipset 集合 - 在边界防火墙和 DNS 黑洞中封禁所有 IOC 域名和 IP
-
在所有 Linux 网络设备上排查
router.elf和client_rc_start(路由器、防火墙、负载均衡器) -
扫描 Windows 终端 —— 排查
version.dll(MD5:20C196FD5CF9A4845D048006321A52B8)及%allusersprofile%\CrashReport\目录下的CrashReport.exe - 验证 DNS 完整性 —— 将内部解析器的 DNS 响应与已知权威应答进行比对
检测机会
-
非浏览器 DoH 流量 —— 对非 Web 浏览器进程连接
cloudflare-dns.com:443的行为告警 -
User-Agent 异常 ——
AppleWebKit/536.36为错误版本号(正确为 537.36),可作为签名特征 - iptables 审计 —— 对路由器 NAT 规则进行定期完整性检查;对 UDP/53 DNAT 到非标端口的行为告警
-
Cookie 模式 —— 检测向未知域名发送含
_UK=或_ZF=Cookie 字段的 HTTP 流量 -
Cobalt Strike 特征 —— 命名管道模式、
CrashReport.exe的spawnto进程创建行为
加固建议
- 对所有边缘网络设备实施固件完整性监控
- 限制网络设备管理访问(带外管理、多因素认证)
- 在解析器层面部署加密 DNS(DoT/DoH)以防止下游劫持
- 启用 iptables 规则变更日志记录和告警
- 将网络设备管理平面与数据平面隔离
附录:加密配置存储
.data 段原始加密数据(文件偏移 0x73240):
00073240 17 ba 32 3a 8b 9b f0 cd 70 28 94 eb 8d 17 b4 2f |..2:....p(...../|
00073250 42 4f 4f 54 4b 45 59 53 6c 6f 74 21 00 00 00 00 |BOOTKEYSlot!....|
00073260 59 58 02 1a 81 df 9a 83 6f c8 80 91 06 b3 ad a8 |YX......o.......|
00073270 db 05 e7 5a 80 34 46 91 a3 88 65 f1 42 ff f6 bc |...Z.4F...e.B...|
00073280 0c a4 80 3a 69 6c 8e 0a 78 fe 33 83 c2 6c 70 a3 |...:il..x.3..lp.|
00073290 e1 57 91 83 cd 89 e3 0d c1 e2 a1 2c 31 a2 5d fb |.W.........,1.].|
000732a0 e0 a0 4f 9f 7a 5a 3a c2 23 cd da 97 c9 82 7a 26 |..O.zZ:.#.....z&|
000732b0 9d a5 91 26 5a 27 45 41 ad c1 fa 8a d4 fe 77 fd |...&Z'EA......w.|
DoH 配置字符串(文件偏移 0x4fb50):
0004fb50 31 2e 31 2e 31 2e 31 00 63 6c 6f 75 64 66 6c 61 |1.1.1.1.cloudfla|
0004fb60 72 65 2d 64 6e 73 2e 63 6f 6d 00 2f 64 6e 73 2d |re-dns.com./dns-|
0004fb70 71 75 65 72 79 00 50 4f 53 54 20 25 73 20 48 54 |query.POST %s HT|
XOR 0x5a 编码字符串(文件偏移 0x4fed8):
0004fed0 00 00 00 00 00 00 00 00 75 2a 28 35 39 75 29 3f |........u*(59u)?|
0004fee0 36 3c 75 3f 22 3f 5a 00 1e ce fb ff 2d ce fb ff |6<u?"?Z.....-...|
报告结束