“电幕行动”(Bvp47)技术细节报告(二)——关键组件深度揭秘
字数 1551 2025-08-06 18:07:37

Bvp47后门平台技术分析与防御指南

0x00 概述

Bvp47是美国NSA方程式组织(Equation Group)开发的高级后门平台,具有以下核心特征:

  • 模块化设计:由18个分片组成,可组合使用或独立运行
  • 跨平台支持:包括Solaris、Linux等多种操作系统
  • 隐蔽通信:采用BPF过滤技术建立隐蔽隧道
  • 持久化能力:通过内核模块实现深度隐藏

0x01 "饮茶"嗅探木马(Suctionchar_Agent)分析

1.1 攻击场景还原

攻击链完整流程:

  1. 内核模块sum辅助窃取passwd、telnet、su等进程凭证
  2. "饮茶"木马接收并加密存储凭证到/var/tmp/.xxxxxxxx
  3. NSA攻击者发送触发包激活BPF过滤程序
  4. Dewdrop模块解密指令并转送Incision程序
  5. Incision建立回连,传输加密凭证文件
  6. 使用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/...)

关键技术点

  1. 密码获取线程

    • 独立线程与内核模块sum通信
    • 回调函数sub_8049A00处理接收的凭证
  2. 路径生成算法

    char* get_hidden_path() {
        // 生成三层哈希目录结构
        char path[256];
        snprintf(path, sizeof(path), "/var/tmp/.%s/%s/%s", 
                 md5_1, md5_2, md5_3);
        return path;
    }
    
  3. 解密机制

    • 使用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;
    };
    

数据处理流程

  1. BPF过滤捕获特征数据包
  2. select模型处理网络I/O
  3. sec_f_6a42f4c9_allinone函数解析载荷
  4. sec_decode_packet进行变形RSA解密

数据包格式

+------------+------------+------------+------------+
|  Magic(4B) |  Size(4B)  |  RSA数据   |  载荷数据  |
+------------+------------+------------+------------+

0x03 Bvp47_loader技术细节

3.1 加密机制

字符串加密

  • 5种异或0x47变体
  • 变序加密函数

载荷解密

  • 5种解密方式:
    1. 简单异或
    2. 多层嵌套解密
    3. 动态密钥生成
    4. 哈希派生密钥
    5. 组合加密

3.2 加载流程

  1. 环境检测
  2. 读取尾部payload
  3. 校验并解密payload
  4. 装载内核模块
  5. 启动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 高级技术

  1. 自删除绕过

    • 修改unlink调用流程
    • 内存驻留技术
  2. 哈希API查找

    • 初始化哈希表(sub_804C2E0)
    • 动态解析函数地址
  3. Shellcode

    • 6段加密ELF片段
    • 互相跳转执行

0x04 防御建议

检测指标(IOC)

  1. 文件特征:

    • /var/tmp/.xxxxxxxxxxxx隐藏目录
    • suctionchar_agent__v__*命名模式
  2. 网络特征:

    • 非常规TCP标志组合(SYN+FIN+ACK)
    • 特定BPF过滤规则
  3. 进程特征:

    • 隐藏进程和网络连接
    • 异常的内核模块

防护措施

  1. 系统加固:

    • 监控/var/tmp异常文件
    • 禁用不必要的BPF功能
    • 内核模块签名验证
  2. 网络防护:

    • 过滤非常规TCP标志包
    • 监控异常DNS/SMTP流量
  3. 凭证保护:

    • 使用多因素认证
    • 定期轮换密钥
  4. 检测工具:

    # 检查隐藏目录
    find /var/tmp -name ".*" -type d -exec ls -la {} \;
    
    # 检查异常BPF规则
    bpftool prog show
    

0x05 参考资源

  1. Bvp47技术分析报告
  2. Shadow Brokers泄漏样本
  3. BPF技术文档
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处理接收的凭证 路径生成算法 : 解密机制 : 使用RSA私钥解密RC6对称密钥 配套解密工具suctionchar_ decode 0x02 Dewdrop模块分析(v3.x) 2.1 BPF隐蔽通信 初始化过程 入口函数: _554a7941 结构体: 数据处理流程 BPF过滤捕获特征数据包 select模型处理网络I/O sec_f_6a42f4c9_allinone 函数解析载荷 sec_decode_packet 进行变形RSA解密 数据包格式 0x03 Bvp47_ loader技术细节 3.1 加密机制 字符串加密 5种异或0x47变体 变序加密函数 载荷解密 5种解密方式: 简单异或 多层嵌套解密 动态密钥生成 哈希派生密钥 组合加密 3.2 加载流程 环境检测 读取尾部payload 校验并解密payload 装载内核模块 启动Dewdrop和"饮茶"木马 3.3 内核模块加载 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流量 凭证保护: 使用多因素认证 定期轮换密钥 检测工具: 0x05 参考资源 Bvp47技术分析报告 Shadow Brokers泄漏样本 BPF技术文档