Rub:纯Rust实现的高性能、轻量级BOF加载器

admin 2026-04-02 03:53:46 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: rub是一款纯Rust实现的x64环境BOF加载器,专为红队评估与渗透测试设计,具备内存解析、重定位与执行能力,支持完整的BeaconAPI并内置动态符号解析与参数打包功能,通过Rust内存安全特性降低崩溃风险,结合API混淆与内存权限管理提升对抗EDR/AV的隐蔽性,实测可稳定绕过主流杀软并执行凭据提取等操作。 综合评分: 87 文章分类: 红队,安全工具,免杀,内网渗透


cover_image

Rub: 纯 Rust 实现的高性能、轻量级 BOF 加载器

原创

0xNaNa 0xNaNa

0x33 SEC

2026年4月1日 13:20 美国

Rub: 纯 Rust 实现的高性能、轻量级 BOF 加载器

在红队评估与高级渗透测试中,Beacon Object Files (BOF) 凭借其轻量级、内存加载及良好的隐蔽性,已成为执行敏感操作的首选。

0x01 工具概述

Rub 是一款专注于 x64 环境的 COFF 目标文件加载器。它能够在内存中直接完成 BOF 的解析、重定位及执行,并提供完整的 Beacon 风格 API 支持。

相较于传统的 C/C++ 实现,Rub 利用 Rust 的内存安全特性,显著降低了在加载恶意代码或复杂 BOF 时可能导致的进程崩溃风险。

0x02 核心优势

  • 纯 Rust 构建:零 C/C++ 依赖,逻辑清晰,易于集成到各类 Rust 开发的安全工具中。
  • 高度兼容:完整支持 Beacon Data (Parse/Int/Short/Length/Extract) 及 Beacon Output (Printf) API,确保与 Cobalt Strike 现有生态的 BOF 无缝衔接。
  • 动态符号解析:内置智能符号解析引擎,支持自动加载系统 DLL 并解析导出符号。
  • 参数打包:遵循 CS 兼容的参数打包约定,支持 z (string)、 i (int32)、 s (int16) 等多种数据类型。
  • 隐蔽性优化:内置对关键 API 名称及前缀的简单混淆处理,配合内存权限管理(RW -> RX),提升对抗 EDR/AV 的能力。

0x03 实战演示

在针对最新版主流杀软的测试中,Rub 配合内置的 hashdump.x64.o 示例,能够稳定绕过内存监控并成功提取系统凭据:

此外,项目还提供了 av_detect (杀软检测) 及 screenshot (截屏) 等常用 BOF 示例,方便快速上手。

0x04 快速开始

1. use rub::{Load, loadArgs};

3. // 1. 准备 BOF 数据
4. let bof_data = include_bytes!("bof_example/hashdump.x64.o");

6. // 2. 打包参数
7. let raw_args = vec!["i42".to_string()];
8. let packed_args = loadArgs(&raw_args)?.unwrap_or_default();

10. // 3. 执行
11. #[cfg(windows)]
12. let output =Load(bof_data,&packed_args)?;
13. println!("{}", output);

0x05 法律声明

本工具仅供已授权的渗透测试、安全审计及网络安全教育研究使用。

严禁将此工具用于任何未授权的攻击活动或非法用途。使用者应遵守当地相关法律法规,开发者对因不当使用造成的任何直接或间接后果不承担任何法律责任。


0x06 获取方式

后台发送消息20260401


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:0x33 SEC 0xNaNa 0xNaNa《Rub: 纯 Rust 实现的高性能、轻量级 BOF 加载器》

评论:0   参与:  0