⬇ Download sample (7826f1073f739919.zip)

🔴 恶意 — 无壳 | 签名: 无 | Rust QUIC IoT 僵尸网络 (ARM)

7826f1073f73991968b774fe7d9514c069e44b4f0477fe2429d5781523806f50
MD5 bf32078b169c8215b51ba6e1c7e6ade2  |  大小 173,632 字节 (169.6 KB)  |  来源 2026-08-10.zip  |  分析日期 2026-08-15
QUIC 协议 TLS 1.3 C2 通信 IoT 僵尸网络 Rust 恶意代码 持久化 UA 伪装 进程伪装
92%
置信度评分
Rust QUIC IoT Botnet

§1 📋 样本概要信息

SHA256
7826f1073f73991968b774fe7d9514c069e44b4f0477fe2429d5781523806f50
MD5
bf32078b169c8215b51ba6e1c7e6ade2
文件大小
173,632 字节 (169.6 KB)
文件类型
ELF 32-bit LSB pie executable
目标架构
ARM (EABI5, hard-float ABI)
位宽
32-bit
字节序
Little-Endian (LE)
编译器
Rust (release, stripped, static-pie)
链接方式
静态 PIE 链接 (static-pie)
加壳/保护
无壳
入口点
0x00011928
编译时间戳
无 (stripped)
子系统
Linux Console (IoT/嵌入式)
数字签名
无数字签名
📌 概要
该样本为 Rust 编译的 ARM 32-bit 物联网僵尸网络 (static-pie 链接),代表 IoT 恶意软件向现代技术栈的演进。核心技术特征:(1) 使用 QUIC 协议 (HTTP/3) 进行 C2 通信,内嵌 quic/quicv2 key/iv/hp TLS 密钥标签,支持 TLS 1.3 (tls13);(2) 5 种 Chrome/Edge/Firefox/Safari User-Agent 伪装覆盖 Windows/Mac/Linux/Android/iPhone 全平台;(3) 三重持久化机制: systemd 服务 (systemctl enable)、crontab @reboot、Android init.d 脚本;(4) 进程伪装为 systemd-journald、polkitd、fwupd、boltd、accounts-daemon 等 20+ 合法系统进程;(5) C2 认证端点: /api/login、/account/login、/auth/login;(6) HTTP 头部完整伪装: Sec-CH-UA、Accept-Encoding、Accept-Language、X-Forwarded-For;(7) 字符串 'CONNECTED TO HOST BOX' 和 '[+] connected to control operations' 确认远程控制功能。Ghidra 反编译 482 函数,最大函数 34KB (格式化引擎) 和 30KB (网络状态机)。C2 地址未硬编码,通过运行时配置或 DNS 解析获得。

§2 🏷️ 分类标签与威胁情报

分类标签

分类标签置信度
恶意类型IoT 僵尸网络 (现代 QUIC/TLS 1.3)HIGH
恶意家族Rust QUIC IoT BotnetHIGH
编译器Rust (ARM static-pie)HIGH
协议QUIC v1/v2 (HTTP/3) + TLS 1.3HIGH
认证端点/api/login, /account/login, /auth/loginHIGH
持久化systemd + crontab + init.d 三重持久化HIGH
伪装20+ 合法进程名伪装 + 5 种 UA 伪装HIGH
目标平台Linux IoT/嵌入式 + AndroidHIGH
📌 证据→推理→结论
file(1) → DIE → readelf → strings → .rodata 提取 → Ghidra 482 函数反编译

威胁情报

字段
关联组织未知 APT (现代 Rust/QUIC 技术栈运营商)
别名Rust QUIC Bot, quicv2 Botnet
动机构建 IoT 僵尸网络 → DDoS / 代理 / 数据窃取
目标行业物联网设备, 嵌入式 Linux, Android 设备, 路由器
活动名称Rust QUIC IoT 僵尸网络传播活动 (2026)
C2协议QUIC v1/v2 (HTTP/3) + TLS 1.3, HTTPS 备用
C2基础设施动态 C2 (未硬编码, 运行时配置/DNS 解析)
🎯 威胁组织判定
未归因 — 现代 Rust/QUIC 技术栈, 区别于传统 Mirai 家族

★ §3 🔬 持久化机制

🔴 机制1: systemd 服务

位置/etc/systemd/system/
方法systemctl enable + 完整 [Unit]/[Service]/[Install] 单元文件
触发系统启动
反汇编证据:
ExecStart=, [Service], Type=simple, Restart=always, WantedBy=multi-user.target

🔴 机制2: crontab @reboot

位置crontab
方法crontab -l | grep -qF; echo '@reboot ...' | crontab -
触发系统重启
反汇编证据:
(crontab -l 2>/dev/null | grep -qF ...) || { (crontab -l 2>/dev/null; echo '@reboot ...') | crontab -; }

🔴 机制3: Android init.d

位置/system/etc/init.d/99sys
方法#!/system/bin/sh 脚本 + setprop persist.sys.service
触发Android 启动
反汇编证据:
/system/etc/init.d/99sys, setprop persist.sys.service /data/local/tmp/.sys

★ §3b 🌐 C2 架构分析

通联关系图

graph TB A[ARM IoT 设备] -->|QUIC v2/TLS 1.3| B[C2 服务器] A -->|HTTPS 备用| B B -->|命令| A A -->|系统信息| B B -->|/api/login| C[认证模块] A -->|持久化| D[systemd] A -->|持久化| E[crontab] A -->|持久化| F[init.d] A -->|伪装| G[systemd-journald] A -->|伪装| H[polkitd/fwupd/...]
📋 ASCII 文本视图 (点击展开)

    

🌐 C2 通信深度分析

🔬 C2 地址分析技术细节:
.rodata 段字符串提取 + Ghidra 反编译

通道 1: 主 C2

协议QUIC v2 (HTTP/3) + TLS 1.3
端口
地址/Domain动态 (未硬编码)
IP动态 (DNS 解析)
加密QUIC v2 (RFC 9369) + TLS 1.3
用途远程控制 + 命令下发
API引用
证书TLS 1.3 证书 (运行时)

C2 通信时序

心跳维持, 失败重试 (retrying in background)

⚠ C2 基础设施评估

动态 C2 基础设施, QUIC v2 协议极罕见, 流量混淆程度高

📌 ATT&CK 映射: T1071.001 + T1573.001

§4 🏗️ 结构分析

段/节区布局


      
    

熵值分析

段/节区熵值判定
.text (150KB)6.12正常 — Rust monomorphized 代码
.rodata (12.2KB)6.37略高 — 编码字符串表 + TLS 密钥标签
.data (0.4KB)4.40正常 — 少量全局数据
📊 熵值解读
整体熵值 6.18,符合 Rust 静态链接二进制特征。各段熵值正常,无加壳迹象。

🔬 Rust 编译证据

Rust 编译 DNA:
(1) DIE 检测: Compiler: Rust
(2) static-pie 链接 (Rust 默认)
(3) stripped 符号表
(4) .gnu.hash + .dynsym 动态段
(5) ARM EABI5 hard-float ABI
(6) 482 函数 — 大量 Rust monomorphization
(7) 格式化引擎 (34KB) + 网络状态机 (30KB)

🛡️ 安全机制

机制状态
PIE (ASLR)✅ static-pie
Stack Canary❌ 未检测
NX (DEP)✅ GNU_STACK RWE
符号剥离✅ stripped

§5 ⚙️ 反汇编与行为流程

关键函数映射

地址函数功能
0x00011928entryRust 进程入口 → FUN_000119a0 → FUN_000275a0
0x00032950FUN_00032950格式化引擎 (34KB — Rust fmt::format!)
0x000269f0FUN_000269f0网络状态机 (30KB — HTTP/QUIC/TLS 处理)
0x0001bd28FUN_0001bd28QUIC 连接建立 (18.7KB)
0x00030090FUN_00030090持久化安装 (12.7KB)
0x0002d4e4FUN_0002d4e4C2 命令处理 (11.4KB)

系统调用分析

调用号系统调用用途地址
N/A

行为执行流

01.Rust entry → 初始化运行时 → 参数解析
02.QUIC v2 连接建立 (quicv2 key/iv/hp TLS 握手)
03.TLS 1.3 加密通道建立 (tls13)
04.HTTPS C2 连接 → /api/login 认证
05.系统信息收集 (id -u, /proc/net/tcp, /proc/self/exe)
06.地理定位 (GET /json/?fields=status,country,countryCode,isp)
07.持久化安装: systemd + crontab + init.d
08.进程伪装 (20+ 合法进程名)
09.接收 C2 命令 → 远程控制循环
10.心跳维持 → 失败重试 (retrying in background)

0x00011928 — Rust entry: 调用 FUN_000119a0 初始化 → FUN_000275a0 主逻辑

entry:
  call FUN_000119a0
  ldr r0, [...]
  call FUN_000275a0
  bx lr

§6 🔬 家族溯源

编译元数据

字段来源

家族特征比对

维度本样本Rust QUIC BotMirai (C)MoziRUSTBOT-GETNRECHOBOTF6F7F8匹配
编译器RustC/GCCC++✅ RustC/GCC1/8
协议QUIC v2TCP/HTTPDHT/TCPTCP/HTTPHTTP0/8
加密TLS 1.3XOR自定义0/8
持久化systemd+cron+init.dsystemd0/8
伪装20+ 进程名0/8
UA 伪装5 种2 种1 种0/8
目标IoT+AndroidIoTIoTIoTIoT0/8
📌 家族归因结论
与已知 Mirai 家族差异显著 — 现代 Rust + QUIC v2 + TLS 1.3 技术栈, 三重持久化, 20+ 进程伪装。代表 IoT 恶意软件向 Web 标准协议演进。

已知变种

变种架构大小编译器特征状态
N/A

§7 🔬 深度行为分析

行为阶段拆解

阶段 1: Rust 初始化

行为: entry → 运行时初始化, 参数解析, 随机种子生成 (/dev/urandom)

证据: 0x00011928: entry → FUN_000119a0 → FUN_000275a0

阶段 2: QUIC/TLS 连接

行为: QUIC v2 握手 (quicv2 key/iv/hp), TLS 1.3 加密通道建立

证据: .rodata: quicv2 key, tls13, FUN_0001bd28 (QUIC 连接)

阶段 3: C2 认证

行为: HTTPS 请求 → /api/login | /account/login | /auth/login → 认证

证据: .rodata: /api/login, /account/login, /auth/login, 5 种 UA

阶段 4: 系统侦察

行为: id -u 检查权限, 读取 /proc/net/tcp, /proc/self/exe, /etc/resolv.conf

证据: .rodata: id -u, /proc/net/tcp, /proc/self/exe, /etc/resolv.conf

阶段 5: 持久化安装

行为: systemd 服务 (systemctl enable), crontab @reboot, Android init.d 脚本

证据: .rodata: ExecStart=, systemctl enable, @reboot, 99sys

阶段 6: 进程伪装

行为: 伪装为 systemd-journald, polkitd, fwupd, boltd, snapd 等

证据: .rodata: 20+ 合法进程路径

阶段 7: C2 控制循环

行为: 接收命令 [KILL] name=, 维持心跳, 失败重试

证据: .rodata: CONNECTED TO HOST BOX, [KILL] name=, retrying

协议/行为状态机



  

📌 行为时序总结

心跳保持, 失败自动重试 (retrying in background)

§8 🔬 恶意性综合判定

多维度证据评估

维度证据权重恶意指数
C2 通信QUIC v2 + TLS 1.3 加密, 多认证端点2010/10
持久化systemd + crontab + init.d 三重机制1510/10
反检测20+ 进程伪装 + 5 种 UA 伪装1510/10
远程控制[KILL] 命令 + 控制操作面板159/10
跨平台Linux + Android 双平台支持108/10
技术先进性Rust + QUIC v2 + TLS 1.3 现代技术栈109/10
隐蔽性动态 C2, 无硬编码地址, 加密流量109/10
授权无任何合法授权迹象510/10
恶意性综合判定

误报排除论证

排除安全工具 (无安全扫描器特征) → 排除 Pentesting 工具 (无 Metasploit/CobaltStrike 特征) → 排除合法软件 (进程伪装 + 远程控制 + 持久化 = 恶意)

⚠ 判定结论

CRITICAL — 高度恶意

§9 🎯 ATT&CK 映射

命令与控制
T1071.001
Web 协议
QUIC v2 (HTTP/3) + HTTPS C2 通信, 5 种浏览器 UA 伪装
命令与控制
T1573.001
加密通道 — 对称加密
TLS 1.3 + QUIC 加密 (quicv2 key/iv/hp)
持久化
T1543.002
Systemd 服务
systemctl enable, ExecStart=, [Service] 完整单元文件
持久化
T1053.003
计划任务 — Cron
crontab @reboot 持久化
持久化
T1037.004
启动脚本 — Init.d
/system/etc/init.d/99sys (Android)
防御规避
T1036.005
匹配合法名称
伪装为 systemd-journald, polkitd, fwupd, boltd, snapd 等 20+ 进程
防御规避
T1036.003
重命名系统工具
伪装为 /usr/lib/systemd/systemd-journald, /usr/lib/polkit-1/polkitd 等
防御规避
T1036.002
伪装 — 合法外观
5 种浏览器 UA 伪装, 完整 HTTP 头部 (Sec-CH-UA, Accept-Encoding, Accept-Language)
防御规避
T1027.010
命令混淆
Rust 编译 + stripped 符号剥离
发现
T1082
系统信息发现
id -u 权限检查, /proc/net/tcp 网络枚举, /proc/self/exe 路径获取
发现
T1016
系统网络配置发现
/etc/resolv.conf DNS 配置读取, /etc/hosts 读取
发现
T1614
系统位置发现
GET /json/?fields=status,country,countryCode,isp 地理定位
影响
T1529
系统关机/重启
/usr/sbin/reboot, /usr/sbin/shutdown, /usr/sbin/poweroff, /usr/sbin/halt

§10 🛡️ 反分析技术评估

反调试

API/技术检测目标绕过难度

反虚拟机

检测方法VMwareVirtualBoxQEMU/KVM

综合评估

技术是否存在证据对抗难度
Rust 编译 + 符号剥离已检测stripped ELF, 无函数符号高 — 阻碍静态分析
QUIC v2 加密已检测quicv2 key/iv/hp TLS 密钥标签极高 — 流量分析困难
动态 C2 地址已检测C2 未硬编码, 运行时配置高 — 阻碍 IOC 提取
进程伪装已检测20+ 合法进程名伪装高 — 阻碍进程检测
static-pie 链接已检测位置无关可执行文件中 — 阻碍内存分析
Rust 编译 + 符号剥离 + QUIC v2 加密 + 动态 C2 + 进程伪装 + static-pie — 多层次反分析技术组合

★ §10b 🧹 痕迹清理

操作API/命令证据来源

§11 🔧 逆向分析

Ghidra 反编译

反编译函数数482 (Rust monomorphized)
反编译输出791 KB
分析时长~60s
Ghidra 反编译输出
/* 482 functions decompiled by Ghidra 11.2.1 */
/* Language: ARM:LE:32:v8 */
/* Key: entry(0x11928)→FUN_000119a0→FUN_000275a0 */
/* Largest: FUN_00032950(34KB, fmt::format!), FUN_000269f0(30KB, HTTP/QUIC/TLS) */

调用链分析 (GitNexus)

总函数数总调用关系最大调用深度
482??
📂 调用链拓扑 (点击展开)

    

★ §12 🔬 QEMU 动态分析

QEMU 模式跳过 (ARM 架构 — 无 ARM QEMU 用户态模拟器可用)
网络隔离未配置
执行结果N/A
C2 数据无 C2 通信

§13 📦 IOC 汇总

IOC 字符串

偏移字符串类型用途/含义威胁等级
.rodataquicv2 keyC2 ProtocolQUIC v2 (RFC 9369) TLS 密钥标签HIGH
.rodataquicv2 ivC2 ProtocolQUIC v2 初始向量标签HIGH
.rodataquicv2 hpC2 ProtocolQUIC v2 头部保护标签HIGH
.rodataquic keyC2 ProtocolQUIC v1 (RFC 9000) TLS 密钥标签HIGH
.rodatatls13CryptoTLS 1.3 协议标识HIGH
.rodata/api/loginC2 EndpointAPI 认证端点HIGH
.rodata/account/loginC2 Endpoint账户认证端点HIGH
.rodata/auth/loginC2 Endpoint认证端点HIGH
.rodataCONNECTED TO HOST BOXC2 MessageC2 连接成功确认HIGH
.rodata[+] connected to control operationsC2 Message控制面板连接确认HIGH
.rodata[-] failed to reach control operationsC2 MessageC2 连接失败重试HIGH
.rodata[KILL] name=Bot Command远程终止命令HIGH
.rodataExecStart=Persistencesystemd 服务持久化HIGH
.rodatasystemctl enablePersistencesystemd 服务启用HIGH
.rodata@rebootPersistencecrontab 开机启动HIGH
.rodatasetprop persist.sys.servicePersistenceAndroid 属性持久化HIGH
.rodata/system/etc/init.d/99sysPersistenceAndroid init.d 脚本HIGH
.rodatahttps://%sC2 TemplateHTTPS C2 URL 模板HIGH
.rodata/robots.txtC2 Path可能的 C2 路径探测MEDIUM
.rodataX-Forwarded-For:HTTP Header代理感知头部MEDIUM

📌 关键 IOC 解读

C2 地址未硬编码,通过运行时配置或 DNS 解析动态获取。QUIC v2 + TLS 1.3 加密使流量分析困难。三重持久化机制确保重启后存活。

⚠ 高威胁 IOC 汇总

QUIC 协议: quicv2 key/iv/hp (RFC 9369 QUIC v2) — 极罕见的 IoT 恶意软件 QUIC 协议使用
C2 端点: /api/login, /account/login, /auth/login — 多认证端点 C2 基础设施
持久化: systemd + crontab + init.d 三重机制 — 极强的持久化能力
进程伪装: 20+ 合法进程名 (systemd-journald, polkitd, fwupd...) — 高级规避技术
SHA256: 7826f1073f73991968b774fe7d9514c069e44b4f0477fe2429d5781523806f50 — 样本 SHA256 哈希
MD5: bf32078b169c8215b51ba6e1c7e6ade2 — 样本 MD5 哈希

网络 IOC

  • 协议QUIC v2 (RFC 9369) + TLS 1.3
  • 端点/api/login, /account/login, /auth/login
  • 端点/robots.txt, /index.html, /home, /signin, /contact, /verify, /status
  • 端点/about, /favicon.ico
  • 路径https://%s, https://%s/
  • UA 伪装Chrome 124-126, Edge 125, Firefox 127, Safari 17.5 Mobile
  • HTTP 头部Sec-CH-UA, X-Forwarded-For, Accept-Encoding: gzip, deflate
  • 地理定位GET /json/?fields=status,country,countryCode,isp
C2 地址通过运行时动态获取 (DNS 解析/config), 未硬编码。建议网络层面监控 QUIC 流量和 /api/login 端点。

主机 IOC

  • SHA2567826f1073f73991968b774fe7d9514c069e44b4f0477fe2429d5781523806f50
  • MD5bf32078b169c8215b51ba6e1c7e6ade2
  • 持久化路径/etc/systemd/system/*.service, crontab @reboot
  • Android 持久化/system/etc/init.d/99sys, /data/local/tmp/.sys
  • Android 持久化/sdcard/.system/.svc, /sdcard/Android/.firmware

YARA 检测规则

rule Rust_QUIC_IoT_Botnet_ARM_20260815 {
    meta:
        description = "Rust QUIC IoT Botnet (ARM) - QUIC v2 + TLS 1.3 C2"
        author = "Hermes Deep Analysis"
        date = "2026-08-15"
        family = "Rust QUIC IoT Botnet"
    strings:
        $quicv2_1 = "quicv2 key"
        $quicv2_2 = "quicv2 iv"
        $quicv2_3 = "quicv2 hp"
        $quic_1 = "quic key"
        $tls13 = "tls13"
        $c2_1 = "CONNECTED TO HOST BOX"
        $c2_2 = "[+] connected to control operations"
        $c2_3 = "[-] failed to reach control operations"
        $login_1 = "/api/login"
        $login_2 = "/account/login"
        $persist_1 = "ExecStart="
        $persist_2 = "systemctl enable"
        $persist_3 = "setprop persist.sys.service"
        $kill = "[KILL] name="
        $ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
    condition:
        uint32be(0) == 0x7f454c46 and 6 of them
}
# Suricata rule for Rust QUIC IoT Botnet C2 alert tls $HOME_NET any -> $EXTERNAL_NET any (msg:"Rust QUIC IoT Botnet - TLS 1.3 C2 Connection"; tls.version: "1.3"; flow:established,to_server; content:"quicv2"; nocase; classtype:trojan-activity; sid:1000001; rev:1;) alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"Rust QUIC IoT Botnet - C2 Login Endpoint"; flow:established,to_server; http.uri; content:"/api/login"; nocase; http.user_agent; content:"Chrome/"; nocase; classtype:trojan-activity; sid:1000002; rev:1;)

§14 📋 最终判定

判定结果🔴 CRITICAL — 恶意代码
恶意类型IoT 僵尸网络 (QUIC C2 + 持久化 + 伪装)
恶意家族Rust QUIC IoT Botnet
威胁级别CRITICAL
置信度92% — QUIC v2 协议 + 5 种 UA 伪装 + systemd/crontab/init.d 三重持久化 + 进程伪装
关联组织未知 APT (现代 Rust/QUIC 技术栈)
目标平台Linux (IoT/嵌入式/Android)
感染链位置植入 → 持久化 → C2 连接 → 远程控制

⚡ 综合判定

Rust 编译 ARM IoT 僵尸网络,使用 QUIC v1/v2 + TLS 1.3 加密 C2 通信,5 种 Chrome/Edge/Firefox UA 伪装,systemd/crontab/Android init.d 三重持久化,伪装为 systemd-journald/polkitd/fwupd 等合法进程。