diff --git a/doc/pages/index.html b/doc/pages/index.html index 32ad5e1..9913ca0 100644 --- a/doc/pages/index.html +++ b/doc/pages/index.html @@ -1,1450 +1,2308 @@ -
- - -- Modular, enterprise-grade Command & Control framework built in - Java. Supports Web Panel, CLI, and JavaFX GUI with mutual TLS, - AES-256-GCM encryption, and multi-protocol session handling. -
- - - -- Decoupled event system for clean separation between the operator - console, session manager, and agent handlers. -
-- Runs on Windows, Linux, macOS, and BSD via the JVM. - Platform-specific Maven build flags available for each target OS. -
-Deploy RAVEN C2 v3.0 in under 5 minutes.
- -Ensure the following are installed before proceeding.
-Modular, enterprise-grade Command & Control framework built in Java. Supports Web Panel, CLI, and JavaFX GUI with mutual TLS, AES-256-GCM encryption, and multi-protocol session handling.
+ +
- Pull the source from GitHub. Use the
- main branch for stable usage or
- dev for contribution.
-
-
- git clone --branch main https://github.com/MatrixTM26/RAVEN.git
- cd RAVEN
-
-
- - A ready-to-use JAR is included in the repository. No compilation - required. -
-java -jar output/raven.jar
- - Compile with Maven. Use platform-specific flags for JavaFX - support. -
-RAVEN C2 is a multi-platform adversary emulation framework built in Java. It supports multiple interface modes — Web Panel (HTTP), CLI, and JavaFX GUI — and manages concurrent reverse shell sessions from a single operator console across diverse target environments.
+Engineered for operational security: all agent communication is protected by AES-256-GCM encryption and mutual TLS authentication using PKCS12 keystores. The framework features a full certificate lifecycle manager (CA → Server → Agent), file transfer, thread-safe session handling, an event-driven architecture, and multi-operator TeamServer mode.
+This tool is for legally authorized penetration testing and red team engagements only. Unauthorized use is illegal and unethical.
+
-
- # Linux / Termux
- mvn clean package -Djavafx.platform=linux -q
-
- # Windows
- mvn clean package -Djavafx.platform=windows -q
-
- # macOS
- mvn clean package -Djavafx.platform=macos -q
-
-
- - Initialize mTLS certificates first, then start the server in - your preferred interface mode. -
-Everything a red team operator needs in a single Java-based framework.
+ +Operate via Web Panel (browser at port 5000), CLI mode (-C), or full JavaFX desktop GUI (-G) — whichever fits your workflow.
+All agent communication is encrypted end-to-end with AES-256-GCM, preventing traffic analysis and ensuring operational confidentiality.
+Agent authentication via PKCS12 keystores. Full CA, server, and agent certificate lifecycle management with a single init command.
+Handle RAVEN agents, Meterpreter sessions, and plain reverse shells concurrently from a single operator console.
+Upload payloads and download evidence files with built-in progress tracking. Evidence saved to the configurable output directory.
+Minimal target footprint, encrypted payloads, and configurable listeners. Designed for operational security in authorized engagements.
+Concurrent session handling backed by a thread-safe manager. Multiple agents can connect and be interacted with simultaneously.
+Decoupled event system for clean separation between the operator console, session manager, and agent handlers.
+Runs on Windows, Linux, macOS via the JVM. Platform-specific Maven build flags available for each target OS.
+In-memory, SQLite, PostgreSQL, and MongoDB backends configurable via raven.properties.
Role-based access control with four levels: SUPER, ADMIN, OPERATOR, MEMBER — each with distinct permission sets.
+Multi-operator collaborative C2 with dedicated REST API, allowing multiple clients to connect to the same instance simultaneously.
+
-
- # Initialize CA and server certificates
- java -jar target/raven.jar --init-certs
-
- # Web Panel Mode (default — http://localhost:5000)
- java -jar target/raven.jar
-
- # CLI Mode
- java -jar target/raven.jar -C
-
- # JavaFX GUI Mode
- java -jar target/raven.jar -G
-
-
- - CLI flags and operator console command reference for RAVEN C2 v3.0. -
- --S, --host-S <addr>C2 server bind address (default: 0.0.0.0)
- -p, --port-p <port>Web panel port (default: 5000)
- -T, --mtls-TEnable mutual TLS authentication
- -M, --meterpreter-MEnable multi-protocol mode
- -C, --cli-mode-CStart in CLI interface mode
- -G, --gui-mode-GStart in JavaFX GUI mode
- --init-certs--init-certsInitialize CA and server certificates
- -l, --list-agents-lList all generated agent certificates
- Deploy RAVEN C2 v3.0 in under 5 minutes.
-sessionssessionsList all active shell sessions
- interactinteract [id]Open interactive shell with session
- killkill [id]Terminate specified session
- killallkillallTerminate all active sessions
- infoinfo [id]Display session metadata and details
- backgroundbackgroundBackground current interactive session
- renamerename [id] [name]Label a session for identification
- Ensure the following are installed before proceeding.
+uploadupload [local] [remote]Upload file from operator to target
- downloaddownload [remote] [local]Download file from target to operator
- lsls [path]List remote directory contents
- cdcd [path]Change remote working directory
- catcat [file]Read remote file contents
- shellshell [cmd]Execute single command on remote session
- Pull the source from GitHub. Use the main branch for stable usage or contrib for contribution.
git clone --branch main https://github.com/MatrixTM26/RAVEN.git
+cd RAVEN
+ --init-certs--init-certsInitialize CA and server certificate
- -a, --gen-agent-a <id> -ah <host> -ap <port> -amGenerate single agent certificate
- -m, --gen-multi-m -c <count> -u <prefix>Generate multiple agent certificates
- -l, --list-agents-lList all generated agent certificates
- A ready-to-use JAR is included in the repository. No compilation required.
+java -jar output/raven.jar
+ - How RAVEN C2 v3.0 components interconnect in a live deployment. -
- -- Web Panel (browser), CLI terminal, and JavaFX desktop GUI — - all connecting to the same C2 server core. -
-- Thread-safe session manager, mTLS auth, AES-256-GCM - encryption, event-driven architecture, and certificate - lifecycle manager. -
-- Supports RAVEN agents (mTLS), Meterpreter sessions, and plain - reverse shells — all managed from one console. -
-
- All session I/O captured to timestamped logs in
- ./output. All settings configurable via
- server.properties.
-
Compile with Maven. Use platform-specific flags for JavaFX support.
+# Linux / Termux
+mvn clean package -Djavafx.platform=linux -q
-
-
-
- Configuration
-
- Configuration Reference
-
- All parameters available in server.properties.
-
-
-
-
-
- Server
-
-
-
-
- KeyDefaultDescription
+# Windows
+mvn clean package -Djavafx.platform=windows -q
+
+# macOS
+mvn clean package -Djavafx.platform=macos -q
+
+
+
+
+
+
+ 05
+
+
+
+ Initialize Certificates & Launch
+ Initialize mTLS certificates first, then start the server in your preferred interface mode.
+
+
+ bash
+
+
+ # Initialize CA and server certificates
+java -jar target/raven-3.0.0.jar -i
+
+# Web Panel mode (default — http://localhost:5000)
+java -jar target/raven-3.0.0.jar
+
+# CLI mode
+java -jar target/raven-3.0.0.jar -C
+
+# JavaFX GUI mode
+java -jar target/raven-3.0.0.jar -G
+
+ Server running — Web panel at http://localhost:5000, waiting for agents.
+
+
-
- server.host0.0.0.0Bind address for C2 listener
+
+
+
+
+
+ Commands
+ Command Reference
+ CLI flags and operator console commands for RAVEN C2 v3.0.
+
+
+
+
+
+
+
+
+
+
-
- server.port4444Default agent listener port
+
+
+
+
+ OptionLong OptionDescription
+ -h-helpShow help and exit
+ -s <addr>-host <addr>C2 server bind address (default: server.properties)
+ -p <port>-port <port>C2 listener port (default: server.properties)
+ -C-cli-modeStart in CLI interface mode
+ -G-gui-modeStart in JavaFX GUI mode
+ -W-web-modeStart in Web Panel mode
+ -TSC-teamserver-cliTeamServer with CLI interface
+ -TSW-teamserver-webTeamServer with Web interface
+ -TSG-teamserver-guiTeamServer with GUI interface
+ -tp <port>-teamserver-port <port>TeamServer API port (default: server.properties)
+ -i-init-certsInitialize CA and server certificates
+ -l-listList all generated agent certificates
+
+
-
- server.web.port5000Web panel HTTP port
+
+
+
+
+ OptionLong OptionDescription
+ -A-multiMulti-protocol auto-detect
+ -R-rawRaw TCP reverse shell only
+ -b-httpHTTP beacon only
+ -B-httpsHTTPS beacon only
+ -T-tlsTCP TLS — RAVEN agent
+ -M-mtlsMutual TLS — RAVEN agent
+ -F-fmtlsFull mTLS + HTTPS beacon
+
+
-
- server.timeout30000Session timeout in milliseconds
+
+
+
+
+ CommandSyntaxDescription
+ sessionssessionsList all active agent sessions
+ agentsagentsAlias for sessions
+ useuse <id>Enter interactive shell with agent
+ sysinfosysinfo <id>Show full system info for agent
+ execexec <id> <cmd>Execute arbitrary command on agent (raw passthrough)
+ shellshell <id> <cmd>Execute via shell interpreter (sh -c / cmd /c)
+ broadcastbroadcast <id,...|all> <cmd>Broadcast command to selected or all agents
+ killkill <id>Terminate an agent session
+ pingping <id>Ping agent to verify liveness (raven: protocol)
+ reconnectreconnect <id>Ask RAVEN agent to reconnect
+ self-destructself-destruct <id>Wipe agent and terminate session (ADMIN+)
+ sleepsleep <id> <seconds>Set agent sleep interval
+ jitterjitter <id> <ms>Set agent jitter delay in ms
+
+
-
- server.backlog50Max pending connection queue size
+
+
+
+
+ CommandSyntaxDescription
+ whoamiwhoami <id>Current user info
+ idid <id>User ID / groups
+ hostnamehostname <id>Show agent hostname
+ unameuname <id>OS / kernel info
+ psps <id>Process list
+ netstatnetstat <id>Network connections
+ ifconfigifconfig <id>Network interfaces
+ arparp <id>ARP table
+ routeroute <id>Routing table
+ usersusers <id>Local users list
+ servicesservices <id>Running services
+ screenshotscreenshot <id>Capture desktop screenshot (raven: protocol)
+ privcheckprivcheck <id>Privilege escalation check
+ antivirusantivirus <id>Detect AV / EDR presence
+ hashdumphashdump <id>Dump credential hashes (raven: protocol)
+ keystrokekeystroke <id> <on|off>Toggle keylogger on agent
+ dumpbrowsersdumpbrowsers <id>Saved browser credentials (raven: protocol)
+ wifidumpwifidump <id>WiFi credentials dump
+ osqueryosquery <id> <sql>Run osquery SQL on agent
+
+
-
-
-
-
-
- Output
-
-
-
-
- KeyDefaultDescription
+
+
+
+ CommandSyntaxDescription
+ lsls <id> [path]List directory
+ pwdpwd <id>Working directory
+ cdcd <id> <path>Change directory on agent
+ catcat <id> <file>Read file contents
+ headhead <id> <file> [n]First N lines of a file
+ tailtail <id> <file> [n]Last N lines of a file
+ rmrm <id> <path>Delete file / directory
+ mkdirmkdir <id> <path>Create directory
+ cpcp <id> <src> <dst>Copy file or directory
+ mvmv <id> <src> <dst>Move file or directory
+ findfind <id> <path> [name]Find files
+ grepgrep <id> <pattern> <file>Search text in file
+ hashhash <id> <file> [sha256|md5]File hash computation
+ downloaddownload <id> <remote-path>Download file from agent (raven: protocol)
+ uploadupload <id> <local-path> [remote-path]Upload file to agent (raven: protocol)
+
+
-
- output.dir./outputDirectory for session logs and downloads
+
+
+
+
+ CommandSyntaxDescription
+ pivotpivot <id> <host:port>Register pivot route through agent
+ portfwdportfwd <id> <lport> <rhost> <rport>Port forward through agent
+ sockssocks <id> <lport>SOCKS5 proxy through agent
+ spawnspawn <id>Spawn new agent process on target
+ shellcodeshellcode <id> <hex>Inject shellcode into agent process
+ persistpersist <id> [method]Install persistence (cron/bashrc/systemd/reg/schtask)
+ unpersistunpersist <id> [method]Remove persistence entry
+ runasrunas <id> <user> <pass> <cmd>Run command as another user
+
+
-
- output.logtrueEnable command and output logging
+
+
+
+
+ OptionLong OptionDescription
+ -i-init-certsInitialize CA and server certificates
+ -s <host>-server <host>Server host used during cert init
+ -a <id>-agent <id>Generate a single agent certificate
+ -m-multiGenerate multiple agent certificates
+ -c <count>-count <count>Number of agents to generate (default: 10)
+ -u <prefix>-prefix <prefix>Username prefix for bulk agent certs
+ -ah <host>-agent-host <host>Agent callback host
+ -ap <port>-agent-port <port>Agent callback port
+ -am-agent-mtlsEnable mTLS in generated agent
+ -ps-persistentEnable persistence in generated agent
+ -hc-hide-consoleHide console window in generated agent
+ -l-listList all generated agent certificates
+ -r <id>-revoke <id>Revoke an agent certificate by ID
+
+
-
- output.timestamptruePrefix log entries with timestamps
+
+
+
+
+ OptionLong OptionDescription
+ -AO-add-operatorAdd a new operator
+ -RO-remove-operatorRemove an existing operator
+ -OP-operator-permissionView or update operator role
+ -u <user>-username <user>Operator username
+ -pw <pass>-password <pass>Operator password (min 8 characters)
+ -r <role>-role <role>Operator role: SUPER / ADMIN / OPERATOR / MEMBER
+
+
-
-
+
+
+
+
+ Architecture
+ System Architecture
+ How RAVEN C2 v3.0 components interconnect in a live deployment.
-
-
- Security
+
+
+
+
+
+
+
+
+
+ Operator Interfaces
+ Web Panel (browser), CLI terminal, and JavaFX desktop GUI — all connecting to the same C2 server core.
+
+
+
+
+
+ C2 Server Core
+ Thread-safe session manager, mTLS auth, AES-256-GCM encryption, event-driven architecture, and certificate lifecycle manager.
+
+
+
+
+
+ Multi-Protocol Agents
+ Supports RAVEN agents (mTLS), Meterpreter sessions, and plain reverse shells — all managed from one console.
+
+
+
+
+
+ Output & Config
+ All session I/O captured to timestamped logs in ./output. All settings configurable via server.properties.
+
+
+
+
-
-
-
- KeyDefaultDescription
+
+
+
+
+ Configuration
+ Configuration Reference
+ All parameters available in config/server/raven.properties.
+
+
+
+ properties
+
+
+ # C2 listener
+server.host=0.0.0.0
+server.port=4444
+server.mode=multi
+
+# Web panel
+web.host=0.0.0.0
+web.port=5000
+
+# Database backend (none | sqlite | postgres | mongo)
+db.type=none
+
+# TLS protocol
+cert.tls.protocol=TLSv1.3
+
+# Logging
+logging.level=INFO
+logging.file.enabled=false
-
- crypto.enabledtrueEnable AES-256-GCM session encryption
+
+
+
+ Server
+
+
+ KeyDefaultDescription
+ server.host0.0.0.0Bind address for C2 listener
+ server.port4444Default agent listener port
+ server.modemultiListener mode (single / multi)
+ web.host0.0.0.0Web panel bind address
+ web.port5000Web panel HTTP port
+
+
+
+
+
+ Database
+
+
+ Valuedb.typeNotes
+ In-memorynoneDefault, no persistence
+ SQLitesqliteFile-based, no server required
+ PostgreSQLpostgresProduction-grade relational DB
+ MongoDBmongoDocument-oriented store
+
+
+
+
+
+ Security
+
+
+ KeyDefaultDescription
+ cert.tls.protocolTLSv1.3TLS protocol version enforced
+ logging.levelINFOLog verbosity level
+ logging.file.enabledfalseEnable file-based logging
+
+
+
-
- crypto.algorithmAES/GCM/NoPaddingEncryption algorithm for C2 traffic
+
+
+
+
+
+
+
+
+ LEGAL DISCLAIMER
+
+ RAVEN C2 Framework is an offensive security tool designed exclusively for authorized penetration testing and red team engagements, controlled lab and research environments, and cybersecurity education under supervised conditions. You MUST have explicit written authorization from the system/network owner before deployment. Unauthorized use constitutes a criminal offense under applicable international and local cybercrime laws.
+
+
+
+ Jurisdiction
+ Applicable Law
+
+
+
+
+ 🇺🇸 United States
+ Computer Fraud and Abuse Act (CFAA) — 18 U.S.C. § 1030
+
+
+ 🇬🇧 United Kingdom
+ Computer Misuse Act 1990 (CMA)
+
+
+ 🇪🇺 European Union
+ Directive on Attacks Against Information Systems (2013/40/EU)
+
+
+ 🇦🇺 Australia
+ Criminal Code Act 1995 — Part 10.7
+
+
+ 🇮🇩 Indonesia
+ UU ITE No. 19 Tahun 2016 — Pasal 30-32
+
+
+ 🌐 International
+ Budapest Convention on Cybercrime (ETS No. 185)
+
+
+
-
- crypto.keysize256Key size in bits
+
+
+
+
+
+
+
+ Ready to deploy
+ Explore the source, open issues, or contribute to RAVEN C2 on GitHub.
+
+
+ View on GitHub
+ Open an Issue
+
-
- mtls.enabledfalseEnable mutual TLS agent authentication
+
+
+
+
-
-
-
-
-
-
-
-
-
- Ready to deploy
-
- Explore the source, open issues, or contribute to RAVEN C2 on
- GitHub.
-
-
- View on GitHub
- Open an Issue
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
+ revealEls.forEach((el) => observer.observe(el));
+
+
diff --git a/doc/pages/public/logo.svg b/doc/pages/public/logo.svg
index 6f9d042..622fc88 100644
--- a/doc/pages/public/logo.svg
+++ b/doc/pages/public/logo.svg
@@ -1,39 +1,897 @@
-