```
11111111111 11111 111 111 1111111111 1111 111
111 111 111 111 111 111 111 111111 111
111 111 111 111 111 111 111111111 111 111 111
1111111111 111 111 111 111 111 111 111 111
111 111 111 111 111 111 111 111 11111
111 111 111 111 11111 1111111111 111 1111
```
# RAVEN 框架







##

概述
法律免责声明
### UI 概览
##

功能
- **多接口支持** — Web Panel (HTTP), CLI, JavaFX GUI
- **AES-256-GCM 加密** — 所有 agent 通信均进行端到端加密
- **双向 TLS (mTLS)** — 通过 PKCS12 证书进行 agent 身份验证
- **多协议会话** — TOMCAT agent, Meterpreter, Reverse Shell
- **证书管理器** — 完整的 CA、服务器和 agent 证书生命周期管理
- **文件传输** — 向 agent 上传和从 agent 下载文件
- **会话管理** — 线程安全的并发会话处理
- **事件系统** — 解耦的事件驱动架构
- **跨平台** — 通过 JVM 在 Windows, Linux, macOS 上运行
- **可配置** — 所有设置均通过 `server.properties` 配置
##

安装与使用
### 1. 克隆仓库
- MAIN
```
git clone --branch main https://github.com/MatrixTM26/RAVEN.git
cd RAVEN
```
其他
- DEV
```
git clone --branch dev https://github.com/MatrixTM26/RAVEN.git
cd RAVEN
```
- MASTER
### 2. 构建项目
```
mvn clean package -q -X
```
### 3. 运行服务器
```
# Web Panel 模式 (Default)
java -jar target/raven.jar
# CLI 模式
java -jar target/raven.jar -C
# GUI 模式
java -jar target/raven.jar -G
```
##

证书管理 (MTLS)
### 初始化 CA 和服务器证书
```
java -jar target/raven.jar --init-certs
```
### 生成 Agent 证书
```
# Single Agent
java -jar target/raven.jar -a myagent -ah 192.168.1.10 -ap 4444 -am
# Multiple Agents
java -jar target/raven.jar -m -c 10 -u team -ah 192.168.1.10 -ap 4444 -am
```
##

命令行参数
- 常规
| 选项 | 长选项 | 描述 |
| ----------- | --------------- | ----------------------------------------------------- |
| `-h` | `--help` | 显示帮助并退出 |
| `-s
` | `--host ` | C2 服务器绑定地址 (默认: `server.properties`) |
| `-p ` | `--port ` | C2 监听端口 (默认: `server.properties`) |
```
# 显示帮助
java -jar target/raven.jar -h
# 使用自定义 host 和 port 启动
java -jar target/raven.jar -s 0.0.0.0 -p 4444
```
- 监听模式
| 选项 | 长选项 | 监听模式 |
| ------ | ----------- | -------------------------- |
| `-A` | `--multi` | 多协议自动检测 |
| `-R` | `--raw` | 仅 Raw TCP reverse shell |
| `-b` | `--http` | 仅 HTTP beacon |
| `-B` | `--https` | 仅 HTTPS beacon |
| `-T` | `--tls` | TCP TLS — TOMCAT agent |
| `-M` | `--mtls` | Mutual TLS — TOMCAT agent |
| `-F` | `--fmtls` | Full mTLS + HTTPS beacon |
```
java -jar target/raven.jar -A # multi-protocol
java -jar target/raven.jar -R # raw TCP
java -jar target/raven.jar -b # HTTP beacon
java -jar target/raven.jar -B # HTTPS beacon
java -jar target/raven.jar -T # TLS
java -jar target/raven.jar -M # mTLS
java -jar target/raven.jar -F # full mTLS + HTTPS beacon
```
- 接口模式
| 选项 | 长选项 | 接口 |
| ------------ | -------------------------- | -------------------------------------------------- |
| `-C` | `--cli-mode` | 以 CLI 模式启动 |
| `-G` | `--gui-mode` | 以 JavaFX GUI 模式启动 |
| `-W` | `--web-mode` | 以 Web Panel 模式启动 |
| `-TSC` | `--teamserver-cli` | 带有 CLI 接口的 TeamServer |
| `-TSW` | `--teamserver-web` | 带有 Web 接口的 TeamServer |
| `-TSG` | `--teamserver-gui` | 带有 GUI 接口的 TeamServer |
| `-tp ` | `--teamserver-port ` | TeamServer API 端口 (默认: `server.properties`) |
```
java -jar target/raven.jar -C # CLI mode
java -jar target/raven.jar -G # JavaFX GUI mode
java -jar target/raven.jar -W # Web Panel mode
java -jar target/raven.jar -TSC # TeamServer CLI
java -jar target/raven.jar -TSW -tp 5001 # TeamServer Web on port 5001
java -jar target/raven.jar -TSG # TeamServer GUI
# 结合 listener + interface
java -jar target/raven.jar -M -C -s 0.0.0.0 -p 4444 # mTLS + CLI
java -jar target/raven.jar -A -W -s 0.0.0.0 -p 4444 # multi + Web Panel
java -jar target/raven.jar -F -TSW -tp 5001 # fmTLS + TeamServer Web
```
- CLI 命令
| 选项 | 描述 | 允许的权限 |
| --------------------------------- | ----------------------------------- | ----------- |
| `help` | 显示帮助 | all |
| `clear` | 清除用户界面 | all |
| `stats` | 显示服务器统计信息 | all |
| `status` | 显示服务器状态 | all |
| `logs` | 显示服务器日志历史 | all |
| `sessions` | 显示所有当前会话 | all |
| `use ` | 会话实时交互 | all |
| `exec [command]` | 在特定会话上执行命令 | all |
| `kill ` | 通过 ID 终止特定会话 | all |
| `broadcast all [command]` | 向所有会话发送命令 | all |
| `broadcast [command]` | 广播到特定会话 | all |
| `exit` | 退出并关闭服务器 | all |
| `listopt` | 列出所有 operator | all |
| `addop ` | 添加新 operator | ADMIN+ |
| `delop ` | 永久删除 operator | ADMIN+ |
| `kick ` | 踢出 operator | SUPER ADMIN |
| `setrole ` | 更改 operator 角色/权限 | SUPER ADMIN |
| `passwd ` | 更改 operator 密码 | ADMIN+ |
- 实时会话
| 选项 | 描述 |
| ----------- | ---------------------- |
| `back` | 返回主控制台 |
| `` | 运行任何系统命令 |
- 证书管理
| 选项 | 长选项 | 描述 |
| ------------- | --------------------- | ------------------------------------------------------- |
| `-i` | `--init-certs` | 初始化 CA 和服务器证书 |
| `-s ` | `--server ` | 证书初始化期间使用的服务器 host |
| `-a ` | `--agent ` | 生成单个 agent 证书 |
| `-m` | `--multi` | 生成多个 agent 证书 |
| `-c ` | `--count ` | 要生成的 agent 数量 (使用 `-m`,默认: `10`) |
| `-u ` | `--prefix ` | 批量 agent 证书的用户名前缀 (默认: `agent`) |
| `-ah ` | `--agent-host ` | Agent 回调 host |
| `-ap ` | `--agent-port ` | Agent 回调端口 |
| `-am` | `--agent-mtls` | 在生成的 agent 中启用 mTLS |
| `-ps` | `--persistent` | 在生成的 agent 中启用持久化 |
| `-hc` | `--hide-console` | 在生成的 agent 中隐藏控制台窗口 |
| `-l` | `--list` | 列出所有生成的 agent 证书 |
| `-r ` | `--revoke ` | 通过 ID 吊销 agent 证书 |
```
# 初始化 CA + server certificate
java -jar target/raven.jar -i
# 使用特定的 server host 初始化
java -jar target/raven.jar -i -s 192.168.1.10
# 生成 single agent cert
java -jar target/raven.jar -a myagent -ah 192.168.1.10 -ap 4444
# 生成带有 mTLS + persistence + hidden console 的 single agent cert
java -jar target/raven.jar -a myagent -ah 192.168.1.10 -ap 4444 -am -ps -hc
# 生成 10 个带有前缀 "agent" 的 agent cert
java -jar target/raven.jar -m -c 10 -u agent -ah 192.168.1.10 -ap 4444 -am
# 列出所有生成的 agents
java -jar target/raven.jar -l
# 撤销 agent certificate
java -jar target/raven.jar -r myagent
```
- OPERATOR 管理
| 选项 | 长选项 | 描述 |
| ------------ | ----------------------- | --------------------------------------------- |
| `-AO` | `--add-operator` | 添加新 operator |
| `-RO` | `--remove-operator` | 删除现有的 operator |
| `-OP` | `--operator-permission` | 查看或更新 operator 角色 |
| `-u ` | `--username ` | Operator 用户名 |
| `-pw ` | `--password ` | Operator 密码 (最少 8 个字符) |
| `-r ` | `--role ` | Operator 角色 — `ADMIN`, `OPERATOR`, `VIEWER` |
```
# 添加具有 default role (OPERATOR) 的 operator
java -jar target/raven.jar -AO -u op1 -pw securepass
# 添加具有特定 role 的 operator
java -jar target/raven.jar -AO -u op1 -pw securepass -r ADMIN
# 移除 operator
java -jar target/raven.jar -RO -u op1
# 更新 operator role
java -jar target/raven.jar -OP -u op1 -r VIEWER
# 列出所有可用的 roles
java -jar target/raven.jar -OP
```
##
接口模式
- **Web Panel** — 通过浏览器访问 `http://localhost:5000`
- **CLI 模式** — 强大的终端接口 (`-C`)
- **JavaFX GUI** — 带有侧边栏导航的完整桌面应用程序 (`-G`)
##
安全功能
- 用于所有 agent 通信的 **AES-256-GCM** 加密
- 带有 PKCS12 keystore 的 **双向 TLS (mTLS)**
- 完整的证书生命周期管理 (CA → Server → Agent)
##
文档
- **文档:** [打开](https://matrixtm26.github.io/RAVEN)
- **Wiki:** [打开](https://github.com/MatrixTM26/RAVEN/wiki)
##
支持我
[](https://ko-fi.com/MatrixTM26)
[](https://trakteer.id/MatrixTM26)
[](https://paypal.me/TeukuMaulana)
版权所有 ©2023-2026 MatrixTM26 · 保留所有权利