⬇ Download sample (1f0457dda40401cb.zip)

🔴 恶意 — eBPF Rootkit | 进程/FD隐藏 | cpuhide

1f0457dda40401cbe8409b8375ba9008634771ec5eb9a99c7a84b4e8385d33aa
MD5 N/A  |  大小 59,536 bytes (58.1 KB)  |  来源 2026-08-08.zip  |  分析日期 2026-08-10 20:30 UTC
eBPF Rootkit 内核级Rootkit 进程隐藏 PIE可重定位
90%
置信度评分
eBPF Rootkit (cpuhide)

§1 📋 样本概要信息

SHA256
1f0457dda40401cbe8409b8375ba9008634771ec5eb9a99c7a84b4e8385d33aa
MD5
N/A
文件大小
59,536 bytes (58.1 KB)
文件类型
ELF 64-bit LSB PIE executable, x86-64, dynamically linked, stripped
目标架构
x86-64 (AMD64)
位宽
64-bit
字节序
Little-Endian (LE)
编译器
GCC (动态链接, stripped)
链接方式
动态链接 (/lib64/ld-linux-x86-64.so.2)
加壳/保护
无壳
入口点
N/A (PIE, stripped)
编译时间戳
BuildID: be197822cfa5461c46bc5d8dc84bfa89fe322be1
子系统
Linux Console
数字签名
无数字签名
📌 概要

该 ELF x86-64 样本为 eBPF 内核级 Rootkit,具备以下核心恶意能力:

  • eBPF 程序注入:使用 BPF map 操作 (bpf_map_update_elem/lookup_elem/delete_elem/get_next_key) 在内核空间执行隐藏逻辑
  • 进程隐藏:通过 /tmp/.cpuhide.pids 文件隐藏特定进程 (cpuhide = CPU Hide),使得 ps/top/ls 等工具无法发现
  • 文件描述符隐藏stat_fd_key 结构体 (tgid + fd) 用于隐藏特定文件描述符,防止网络连接/文件操作被发现
  • PIE 可重定位:启用 ASLR 支持,增加检测难度

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

分类标签

分类标签置信度
恶意类型eBPF 内核级 RootkitCRITICAL
恶意家族eBPF Rootkit (cpuhide)HIGH
隐藏目标进程 (PIDs) + 文件描述符 (FDs)HIGH
目标平台Linux x86-64 (内核 3.2.0+)HIGH
技术栈eBPF maps — bpf_map_update/delete/lookupHIGH
📌 证据→推理→结论
1) ELF64 PIE, 动态链接 → 2) BPF map 操作函数引用 → 3) /tmp/.cpuhide.pids 文件路径 → 4) stat_fd_key 结构体 (tgid+fd) → 5) bpf_map_update_elem/delete_elem 隐藏操作

威胁情报

字段
关联组织未知威胁组织
别名cpuhide eBPF Rootkit
动机深度隐蔽 — 隐藏恶意进程和网络连接不被检测
目标行业Linux 服务器, 云环境, 容器化基础设施
活动名称2026年8月发现 — eBPF Rootkit 活跃
C2协议无明确 C2 — 纯 Rootkit 工具
C2基础设施N/A — 使用 /tmp/.cpuhide.pids 本地控制文件
🎯 威胁组织判定

该样本为 eBPF Rootkit 家族。eBPF Rootkit 近年来兴起,利用 Linux 内核内置的 BPF 虚拟机执行恶意代码,绕过传统内核模块检测。

APT归因: 未归因 — eBPF Rootkit 技术被多个威胁组织使用。

★ §3 🔬 持久化机制

未检出持久化行为。

★ §3b 🌐 C2 架构分析

通联关系图

📋 ASCII 文本视图 (点击展开)
(无 ASCII 回退)

🌐 C2 通信深度分析

🔬 C2 地址分析技术细节:

通道 1: 实时 C2

协议
端口
地址/Domain
IP
加密
用途
API引用
证书

C2 通信时序



  

⚠ C2 基础设施评估

📌 ATT&CK 映射:

§4 🏗️ 结构分析

段/节区布局

ELF64 PIE, 动态链接, stripped

熵值分析

段/节区熵值判定
📊 熵值解读
未分析
GCC, ELF64 PIE, dynamically linked against libc, for Linux 3.2.0+.

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

关键函数映射

地址函数功能
N/A

系统调用分析

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

行为执行流

01.加载 eBPF 程序到内核 → bpf() syscall
02.创建 BPF maps → 存储隐藏条目 (tgid→PID, fd→文件描述符)
03.HOOK 内核函数 (getdents64/kill) → 过滤隐藏条目
04.读取 /tmp/.cpuhide.pids → 获取需要隐藏的 PID 列表
05.bpf_map_update_elem → 添加隐藏条目
06.内核层过滤 → ps/top/ls 无法显示隐藏进程

§6 🔬 家族溯源

编译元数据

字段来源

家族特征比对

维度本样本MiraiGafgytMoziHajimeLightAidraKekSecTsunamiKaiji匹配
📌 家族归因结论
?

已知变种

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

§7 🔬 深度行为分析

行为阶段拆解

第1阶段: BPF程序加载

行为: 通过 bpf() syscall 加载 eBPF 程序到内核 → 创建 BPF maps (stat_fds/pids)

证据: ?

第2阶段: 进程隐藏

行为: 读取 /tmp/.cpuhide.pids → bpf_map_update_elem 注册隐藏PID → Hook getdents64 过滤进程列表

证据: ?

第3阶段: FD隐藏

行为: stat_fd_key (tgid+fd) → bpf_map_update_elem 隐藏文件描述符 → Hook 文件系统操作

证据: ?

协议/行为状态机

未构建

📌 行为时序总结

无数据

§8 🔬 恶意性综合判定

多维度证据评估

维度证据权重恶意指数
隐蔽性eBPF内核级隐藏 — 绕过传统检测工具109.8/10
持久性内核空间运行, 重启后需重新加载108.5/10
技术复杂度eBPF技术 — 高级内核编程109.5/10
检测难度eBPF程序难以通过用户态工具检测109.8/10
恶意性综合判定

误报排除论证

BPF map操作 + PID/FD隐藏功能明确恶意

⚠ 判定结论

待判定

§9 🎯 ATT&CK 映射

Defense Evasion
T1014
Rootkit
Defense Evasion
T1562.001
Disable or Modify Tools
Defense Evasion
T1055
Process Injection

§10 🛡️ 反分析技术评估

反调试

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

反虚拟机

检测方法VMwareVirtualBoxQEMU/KVM

综合评估

技术是否存在证据对抗难度
PIE 可重定位ASLR 支持 — 增加静态分析难度MEDIUM
符号剥离stripped — 移除调试信息LOW
内核级隐藏✅ CRITICALeBPF Hook — 绕过用户态检测工具HIGH
eBPF Rootkit 代表最高级别的反分析技术之一——恶意代码运行在内核空间,用户态检测工具完全无法发现。

★ §10b 🧹 痕迹清理

操作API/命令证据来源

§11 🔧 逆向分析

Ghidra 反编译

反编译函数数N/A
反编译输出N/A
分析时长N/A

调用链分析 (GitNexus)

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

    

★ §12 🔬 QEMU 动态分析

QEMU 模式N/A
网络隔离未配置
执行结果N/A
C2 数据无 C2 通信

§13 📦 IOC 汇总

IOC 字符串

偏移字符串类型用途/含义威胁等级
.rodata/tmp/.cpuhide.pids隐藏PID文件进程隐藏控制文件 — cpuhideCRITICAL
.rodatastat_fd_key结构体名文件描述符隐藏键 (tgid+fd)HIGH
.rodatabpf_map_update_elemBPF APIBPF map 更新 — 隐藏条目写入CRITICAL
.rodatabpf_map_delete_elemBPF APIBPF map 删除 — 隐藏条目移除CRITICAL
.rodatabpf_map_lookup_elemBPF APIBPF map 查询 — 隐藏状态检查CRITICAL
.rodatabpf_map_get_next_keyBPF APIBPF map 遍历 — 批量隐藏查询HIGH
.rodata/tmp/.cpuhide.pi隐藏PID文件2备选进程隐藏控制文件HIGH

📌 关键 IOC 解读

eBPF Rootkit 利用 Linux 内核 BPF 虚拟机实现深度隐蔽。控制文件 /tmp/.cpuhide.pids 存储需要隐藏的进程 PID 列表,BPF 程序通过 map 操作拦截内核函数返回值实现隐藏。

⚠ 高威胁 IOC 汇总

隐藏控制文件: /tmp/.cpuhide.pids — 进程隐藏控制
BPF API: bpf_map_update_elem/delete_elem/lookup_elem — BPF map 隐藏操作

网络 IOC

主机 IOC

  • 隐藏文件/tmp/.cpuhide.pids
  • 隐藏文件/tmp/.cpuhide.pi
  • BPF APIbpf_map_update_elem
  • BPF APIbpf_map_delete_elem

YARA 检测规则

rule eBPF_Rootkit_cpuhide {
    meta:
        description = "eBPF Rootkit — cpuhide process FD hider"
        hash = "1f0457dda40401cbe8409b8375ba9008634771ec5eb9a99c7a84b4e8385d33aa"
    strings:
        $cpuhide = "/tmp/.cpuhide.pids" ascii
        $bpf1 = "bpf_map_update_elem" ascii
        $bpf2 = "bpf_map_delete_elem" ascii
        $fd = "stat_fd_key" ascii
    condition:
        uint32(0) == 0x464c457f and $cpuhide and ($bpf1 or $bpf2)
}

§14 📋 最终判定

判定结果🔴 CRITICAL — eBPF内核Rootkit
恶意类型eBPF Rootkit — 进程和文件描述符隐藏
恶意家族eBPF Rootkit (cpuhide)
威胁级别CRITICAL
置信度90% — BPF map操作 + /tmp/.cpuhide.pids + stat_fd隐藏 + tgid引用
关联组织未知威胁组织
目标平台Linux (x86-64)
感染链位置BPF程序加载 → 内核Hook → 进程/FD隐藏

⚡ 综合判定

该样本为 eBPF (Extended Berkeley Packet Filter) 内核级 Rootkit,利用 BPF map 操作隐藏指定进程和文件描述符,实现深度隐蔽。