pallab-js/r-msf
GitHub: pallab-js/r-msf
Rust编写的快速、内存安全的渗透测试框架
Stars: 2 | Forks: 0
# Rust 网络安全框架 (RCF) v0.3.0
[](https://github.com/pallab-js/r-msf/actions/workflows/ci.yml)
[](LICENSE)
[](https://www.rust-lang.org)
[](CHANGELOG.md)
**RCF** 是一个轻量级、高性能的渗透测试框架,用 Rust 编写。专为 Linux 安全评估而构建,它提供了 60+ 个预构建模块,用于网络侦察、利用和后利用——具有加密完整性保证和政策驱动执行控制,与 OpenSec 原则保持一致。
## v0.3.0 突出亮点
- **OpenSec 策略引擎** — 使用 TOML 定义的允许/拒绝规则,用于模块执行,具有目标 CIDR、时间窗口和操作者身份约束。在每次 `module.run()` 之前强制执行默认拒绝姿态。请参阅 `rcf policy init` 以开始使用。
- **Ed25519 C2 认证** — 用基于代理密钥的 Ed25519 握手替换了仅 PSK 认证。使用 HKDF 提取的会话令牌的 nonce 挑战-响应协议。向后兼容 v0.2 代理的 `--legacy-psk` 标志。
- **二进制完整性验证** — 启动时对 Ed25519 签名进行验证。篡改的二进制文件将被拒绝并显示清晰的错误。使用 `scripts/sign-release.sh` 进行签名。
- **审计日志** — 通过 `AuditLogger` 以结构化 JSON 条目记录每个策略决策、认证尝试和模块执行。
## 快速入门
```
# 构建发布二进制文件
cargo build --release -p rcf-cli
# 初始化策略(创建 ~/.rcf/opensec/policies.toml)
./target/release/rcf policy init
# 启动交互式控制台
./target/release/rcf
# 非交互式运行模块
rcf run -m auxiliary/scanner/port/tcp_syn -t 10.10.10.0/24 -p 80
# 检查模块是否被策略允许
rcf policy check -m exploit/log4shell -t 10.0.0.5
# 生成自动化攻击链报告
rcf auto -t 10.129.1.1 -o report.html
```
## 架构
```
rcf/
├── rcf-core/ # Core traits, Context, Crypto (Ed25519, HKDF), Policy Engine,
│ # Integrity verification, Anonymity system, Audit logging
├── rcf-cli/ # CLI entry point, subcommand dispatch, report generation,
│ # policy management commands
├── rcf-console/ # Interactive TUI/REPL with rustyline tab completion
├── rcf-modules/ # Module registry, manager, builtin registration
├── rcf-labs/ # 60+ modules for HTB, THM, Metasploitable, PortSwigger labs
├── rcf-network/ # Async TCP/UDP scanners (connect, SYN, raw SYN), protocol
│ # fingerprinting (HTTP, SSH, SMB)
├── rcf-payload/ # Polymorphic payload generator (RCF-Venom), XOR encoders,
│ # NASM stager assembly, output formatters
├── rcf-db/ # SQLite persistence via Diesel ORM, WAL mode, Argon2-hashed
│ # credentials, upsert semantics
├── rcf-c2/ # Multi-session C2 server, Ed25519 agent auth, sliding-window
│ # rate limiting, meterpreter-style command handlers
└── rcf-agent/ # Standalone C2 agent, command allowlist enforcement,
# base64 protocol, minimal dependency footprint
```
## 功能
### 侦察与发现
- **高速扫描** — 可配置并发和目标上限的并行 CIDR 扫描 (`--max-targets`)。
- **协议指纹识别** — 抓取标头并指纹 HTTP、SSH、SMB、VNC、Redis、MySQL、PostgreSQL 等更多协议。
- **凭证测试** — SSH、FTP、HTTP Basic 和 SNMP 的并行认证暴力破解。
### 利用
- **Web 利用** — Log4Shell (CVE-2021-44228)、ProxyShell、SQLi、XSS、SSRF、反序列化、Struts RCE。
- **服务利用** — Redis 无授权访问、MySQL 弱认证、Jenkins 脚本控制台、Tomcat 管理员部署、WordPress 管理员上传。
- **有效载荷生成** — 带有 XOR/NOP-sled 编码器的多态 shellcode、分阶段/不分阶段的有效载荷、C/Python/Raw 输出。
### 后利用
- **C2 框架** — 带有 Ed25517 密钥认证和滑动窗口速率限制的集中式多会话处理器。
- **Linux 枚举** — SUID/能力提升检查器、反向 shell 监听器、webshell 处理器。
- **持久性** — 凭证收集和自动化持久机制。
### 安全与合规
- **OpenSec 策略引擎** — 使用模块 glob 模式、目标 CIDR 范围、时间窗口和操作者身份强制执行预执行规则。默认:**拒绝**。
- **二进制完整性** — Ed25519 签名的发布二进制文件;启动验证防止执行篡改构建。
- **加密身份** — C2 代理通过 Ed25519 公钥识别;会话令牌通过 HKDF-SHA256。
- **审计跟踪** — 所有操作以结构化 JSON 形式记录;策略决策、认证事件、模块执行。
## 安装
```
git clone https://github.com/pallab-js/r-msf.git
cd r-msf
cargo build --release -p rcf-cli
```
**要求**:Rust 版本 2024(工具链 1.85+)、Linux x86_64。
可选的用于高级功能的运行时依赖项:
- `nasm` — 有效载荷分阶段汇编(build.rs 如果缺失则回退到占位符)
- `tor` — 匿名系统代理链(计划在 v0.4 中实现)
## 安全
RCF 仅设计用于 **授权安全评估**。该框架强制执行多个安全层:
| 层 | 机制 | 状态 |
|-------|-----------|--------|
| 完整性 | Ed25519 二进制签名验证 | v0.3 |
| 认证 | 通过 Ed25519 挑战-响应的 C2 代理密钥对 | v0.3 |
| 授权 | OpenSec 策略引擎(模块允许/拒绝规则) | v0.3 |
| 审计 | 所有操作的记录以结构化 JSON 形式 | v0.2 |
| 传输 | 默认启用证书验证的 TLS | v0.2 |
| 凭证 | 存储秘密的 Argon2id 哈希 | v0.2 |
| 内存 | `zeroize` 特性用于秘密清理 | v0.2 |
| C2 | 命令允许列表 + 元字符过滤 | v0.2 |
## 许可证
BSD-3-Clause。请参阅 [LICENSE](LICENSE).
## 免责声明
本工具仅用于授权安全测试和教育目的。未经授权使用针对您不拥有或未明确书面授权进行测试的系统是非法的。作者对滥用或损坏不承担任何责任。
标签:BSD 许可, HTB, Linux 安全, Metasploitable, OpenSec, Python3.6, Rust 2024 版本, Rust 编程, THM, 二进制完整性, 云存储安全, 内存安全, 加密认证, 可视化界面, 后渗透自动化, 审计日志, 服务利用, 策略引擎, 网络安全, 网络安全挑战, 网络扫描, 通知系统, 隐私保护