“电幕行动”(Bvp47)技术细节报告(二)——关键组件深度揭秘
字数 1551 2025-08-06 18:07:37
Bvp47后门平台技术分析与防御指南
0x00 概述
Bvp47是美国NSA方程式组织(Equation Group)开发的高级后门平台,具有以下核心特征:
- 模块化设计:由18个分片组成,可组合使用或独立运行
- 跨平台支持:包括Solaris、Linux等多种操作系统
- 隐蔽通信:采用BPF过滤技术建立隐蔽隧道
- 持久化能力:通过内核模块实现深度隐藏
0x01 "饮茶"嗅探木马(Suctionchar_Agent)分析
1.1 攻击场景还原
攻击链完整流程:
- 内核模块sum辅助窃取passwd、telnet、su等进程凭证
- "饮茶"木马接收并加密存储凭证到
/var/tmp/.xxxxxxxx - NSA攻击者发送触发包激活BPF过滤程序
- Dewdrop模块解密指令并转送Incision程序
- Incision建立回连,传输加密凭证文件
- 使用RSA私钥解密获取明文凭证
1.2 技术细节
文件信息
-
SPARC架构样本:
- MD5: a633c1ce5a4730dafa8623a62927791f
- 大小: 47,144字节
- 路径:
/var/tmp/.xxxxxxxxxxxx
-
x86架构样本:
- MD5: 4a5b7a9c5d41dbe61c669ed4cf2975e5
- 大小: 31,649字节
- Bvp47分片: 0x0E
核心功能
- 窃取目标:SSH、TELNET、FTP、PASSWD、SU等认证凭证
- 字符串加密:采用0x47异或算法
- 配置方式:支持XML和CONF两种格式
- 凭证存储:使用多层目录隐藏(
/var/tmp/.e33ff11cb8e3b4ff/...)
关键技术点
-
密码获取线程:
- 独立线程与内核模块sum通信
- 回调函数sub_8049A00处理接收的凭证
-
路径生成算法:
char* get_hidden_path() { // 生成三层哈希目录结构 char path[256]; snprintf(path, sizeof(path), "/var/tmp/.%s/%s/%s", md5_1, md5_2, md5_3); return path; } -
解密机制:
- 使用RSA私钥解密RC6对称密钥
- 配套解密工具suctionchar_decode
0x02 Dewdrop模块分析(v3.x)
2.1 BPF隐蔽通信
初始化过程
- 入口函数:
_554a7941 - 结构体:
struct bpf_program { u_int bf_len; struct bpf_insn *bf_insns; }; struct bpf_insn { u_short code; u_char jt; u_char jf; u_long k; };
数据处理流程
- BPF过滤捕获特征数据包
- select模型处理网络I/O
sec_f_6a42f4c9_allinone函数解析载荷sec_decode_packet进行变形RSA解密
数据包格式
+------------+------------+------------+------------+
| Magic(4B) | Size(4B) | RSA数据 | 载荷数据 |
+------------+------------+------------+------------+
0x03 Bvp47_loader技术细节
3.1 加密机制
字符串加密
- 5种异或0x47变体
- 变序加密函数
载荷解密
- 5种解密方式:
- 简单异或
- 多层嵌套解密
- 动态密钥生成
- 哈希派生密钥
- 组合加密
3.2 加载流程
- 环境检测
- 读取尾部payload
- 校验并解密payload
- 装载内核模块
- 启动Dewdrop和"饮茶"木马
3.3 内核模块加载
void load_kernel_module() {
// 1. 解密ko payload
decrypt_payload();
// 2. 初始化Bvp引擎
serial_bvp();
// 3. 校验发行版
check_distro();
// 4. 参数验证
validate_args();
// 5. 实际加载
insmod();
}
3.4 高级技术
-
自删除绕过:
- 修改unlink调用流程
- 内存驻留技术
-
哈希API查找:
- 初始化哈希表(sub_804C2E0)
- 动态解析函数地址
-
Shellcode:
- 6段加密ELF片段
- 互相跳转执行
0x04 防御建议
检测指标(IOC)
-
文件特征:
/var/tmp/.xxxxxxxxxxxx隐藏目录- suctionchar_agent__v__*命名模式
-
网络特征:
- 非常规TCP标志组合(SYN+FIN+ACK)
- 特定BPF过滤规则
-
进程特征:
- 隐藏进程和网络连接
- 异常的内核模块
防护措施
-
系统加固:
- 监控
/var/tmp异常文件 - 禁用不必要的BPF功能
- 内核模块签名验证
- 监控
-
网络防护:
- 过滤非常规TCP标志包
- 监控异常DNS/SMTP流量
-
凭证保护:
- 使用多因素认证
- 定期轮换密钥
-
检测工具:
# 检查隐藏目录 find /var/tmp -name ".*" -type d -exec ls -la {} \; # 检查异常BPF规则 bpftool prog show