A high-performance, elegant, and modern Burp Suite extension tailored for penetration testers and red team operators. It combines an HTTP/HTTPS Webhook Listener (OAST Engine), a Multi-Session Interactive Reverse Shell Manager, an Extensive Multi-Platform Payload Generator (40+ Templates), and a Mock Endpoint / SSRF Redirector Router within a clean, luxury, icon-free user interface.
- Dynamic Per-Installation TLS Key Pair Generation: Replaced static compile-time PKCS#12 keystore with on-the-fly 2048-bit RSA self-signed X.509 certificate generation, uniquely generated and securely persisted per Burp Suite installation using Burp's extension settings store.
- Session Lifecycle & Heap Management: Resolved potential memory leaks in
SessionManagerby explicitly unreferencing and deregistering closed shell sessions from memory and UI listeners. - Enhanced Connection Diagnostics: Added structured error logging via Burp's error stream (
callbacks.printError()) for unexpected reverse shell drops while keeping intentional disconnects quiet. - EDT UI Performance Optimization: Implemented 150 ms idle debouncing across search and template filter fields in the Event Dispatch Thread (EDT).
- CRLF Injection Hardening: Stripped CR/LF sequences from dynamic redirection headers (
?location=) preventing HTTP Response Splitting. - XSS Sanitization: Added robust HTML entity encoding across all reflected request telemetry fields (
clientIp,path,method,headers) in the default webhook HTML template. - Automated Test Suite: Integrated 10 automated unit tests with JUnit covering routing, TLS generation, CRLF injection prevention, XSS mitigation, and multi-session management.
Reverse Shell Receiver eliminates the need for separate terminal listeners (netcat, socat, python HTTP servers) during web application security assessments. It provides an all-in-one testing suite directly inside Burp Suite to capture out-of-band application interactions, manage multiple concurrent reverse shells, host dynamic payload stagers, and generate tailored exploitation payloads.
- Dual-Protocol Server Binding:
- Listens on all local and VPN network interfaces (
0.0.0.0) on any user-configured port. - Native TLS/SSL Encryption toggle backed by a uniquely generated 2048-bit RSA self-signed certificate for handling HTTPS OAST callbacks and SSL reverse shells.
- Listens on all local and VPN network interfaces (
- Dynamic Endpoint Routing (Mock Routes & SSRF Redirector):
- Built-in Mock Routes Manager with Exact, Prefix, and Regex URL path matching.
- Preloaded with essential assessment routes:
/redirect: Returns302 Foundredirecting to Cloud Metadata (http://169.254.169.254/latest/meta-data/)./aws-meta: Serves mock AWS IAM instance JSON metadata for SSRF validation./payload,/rev.ps1,/shell.sh: Dynamic stagers for reverse shells.
- Dynamic Query Parameter Overrides:
- Modify response status codes, content types, and redirect locations on-the-fly via URL query parameters (e.g.
?status=302&location=https://target.internalor?status=401&body=Unauthorized).
- Modify response status codes, content types, and redirect locations on-the-fly via URL query parameters (e.g.
- Interactive Telemetry Dashboard & Exfil Dropzone:
- Dark-themed responsive HTML5 telemetry dashboard returning real-time client IP (
{{client_ip}}), HTTP method ({{method}}), requested path ({{path}}), port ({{port}}), timestamp ({{timestamp}}), payload size ({{content_length}} Bytes), and raw captured headers (all HTML-sanitized against XSS). - Embedded file exfiltration dropzone form (
/exfil) for testing file uploads and POST callbacks.
- Dark-themed responsive HTML5 telemetry dashboard returning real-time client IP (
- Burp Ecosystem Integration:
- Real-time debounced search and filter across method, path, client IP, and timestamp.
- Full side-by-side inspection in native Burp
IMessageEditorpanels with context menu actions (Send to Repeater, Send to Intruder). - Memory safeguard clamping inbound request bodies to
10 MBmaximum.
- Concurrent Multi-Session Engine:
- Concurrently manages multiple inbound reverse shell connections without overwriting or terminating previous sessions.
- Interactive session table displaying: Session ID, Remote Host, Port, Detected OS, Connected Timestamp, Live Uptime, and Active/Closed status.
- Clean memory management freeing terminated session buffers and UI documents immediately upon closure.
- Seamless session switching with independent terminal buffers and isolated command histories.
- Encrypted Sockets Support:
- Native support for encrypted reverse shells (
PowerShell TLS,Ncat SSL,Socat OpenSSL) via the TLS/SSL listener toggle with unique per-installation RSA key pairs.
- Native support for encrypted reverse shells (
- Dynamic OS & Path Tracking:
- Silently fingerprints target OS (Linux/UNIX, Windows CMD, and Windows PowerShell).
- Live remote directory tracking (
PWD/(pwd).Path) displayed in a clean prompt:[192.168.1.50:4444] [DIR: /var/www/html] $ whoami
- Built-in File Transfer Helper:
UPLOAD FILE TO SHELL: Automated Base64 chunked transfer uploading local files directly into remote Linux (/tmp/) or Windows (C:\Users\Public\) targets with one click.
- Session Transcript Exporter:
EXPORT SESSION LOG: One-click export of complete interactive session transcripts to formatted Markdown (.md) or text files for penetration testing reports.
- Command History & Quick Assist Actions:
- Cycle through command history with
UpandDownarrow keys. - Quick assist dropdown for instant post-exploitation shortcuts:
- Spawn Bash / Python 3 PTY
- Full TTY Terminal Upgrade (
stty raw -echo; fg) - Fast System, User, and Network Enumeration (
whoami,uname -a,sudo -l,ip a) - PowerShell AMSI Bypass (Memory Patch & Reflection)
- Signal Handling (
Ctrl+C/SIGINT)
- Cycle through command history with
Organized into 5 distinct categories with real-time keyword search, auto-detection, and auto-generation:
| Category | Supported Platforms | Notable Templates |
|---|---|---|
| Reverse Shells | Linux, Windows, macOS, Cross-Platform | Bash TCP (/dev/tcp), Bash UDP, Bash Readline, Python 3 PTY, Python 3 IPv6, Netcat (-e & mkfifo), Ncat SSL Encrypted, Socat TTY, Socat OpenSSL, OpenSSL s_client, Perl (Std & No-sh), PHP (fsockopen & proc_open), Ruby (Std & No-sh), Java Runtime, Golang, Node.js, Lua, Awk, Telnet, PowerShell TCPClient, PowerShell TLS/SSL, PowerShell IEX Cradle, Windows Netcat, Windows C# (csc.exe), MSHTA Stager, Certutil Exec |
| Bind Shells | Linux, Windows | Netcat Linux, Netcat Windows, Python 3 Bind, Socat Bind, PowerShell Bind |
| Web Shells | PHP, Java JSP, .NET ASPX, Node.js | PHP Simple CMD, PHP Full-Featured Web Shell, PHP Base64 Eval, JSP ProcessBuilder Shell, ASPX C# Command Shell, Node.js Express Route |
| Data Exfiltration | Linux, Windows | cURL POST File, Wget POST File, PowerShell IWR POST, Linux DNS Exfil (dig hex chunks), Windows DNS Exfil (Resolve-DnsName) |
| Stagers & Helpers | Windows, Cross-Platform | PowerShell AMSI Bypass (Memory Patch), Python 3 HTTP Server, PHP Built-in Server, Windows Download Cradles Cheat Sheet |
HOST AS STAGER ON WEBHOOKButton: Instantly publishes the active generated payload to the Webhook listener (http://<ip>:<port>/payload,/rev.ps1,/shell.sh) for immediate use with download cradles (IEX (New-Object Net.WebClient)...,curl | sh).
None (Raw)Base64 (Standard)Base64 (Linux sh wrapped)(echo <b64> | base64 -d | sh)Base64 (Linux bash wrapped)(echo <b64> | base64 -d | bash)PowerShell EncodedCommand (-enc)(UTF-16LE Base64)URL Encode (Standard)URL Encode All (Full Hex %XX)Double URL EncodeHex Escaped (\x41\x42...)HTML Entity (AB...)
- Minimalist Aesthetic: Clean, typography-first user interface with strictly zero icons, emojis, or unicode box-drawing clutter.
- Smart Interactive Address Chips:
- Displays all active network interfaces and VPN IPs.
- Automatically formats and copies complete
https://<ip>:<port>/URLs when TLS/SSL is active, orhttp://<ip>:<port>//<ip>:<port>in standard modes.
- Integrated Port Manager: Scan and terminate conflicting listening processes on Windows (
netstat+taskkill) and Linux (netstat+kill).
- Open the Reverse Shell Receiver tab in Burp Suite.
- Select your desired mode: HTTP Webhook or Reverse Shell.
- Enter the listening port number (e.g.
8080or4444). - (Optional) Check TLS/SSL Socket if you wish to accept encrypted HTTPS callbacks or SSL reverse shells.
- Click START to bring the listener online; the status badge will transition to ONLINE and the address chips will populate.
- Click any listening address chip to copy the full URL (
https://...orhttp://...) to your clipboard.
- Direct target callbacks, SSRF payloads, or webhook beacons to your listening address.
- Inbound requests appear in the Webhook table; click any row to inspect the full request and response side-by-side.
- Right-click inside the request viewer to send the request to Repeater, Intruder, or other Burp Suite tools.
- Click MOCK ROUTES & SSRF to configure custom routes (such as
/redirectfor cloud metadata redirection or/aws-meta). - Click CONFIGURE RESPONSE to customize default HTTP status codes, headers, and CORS settings.
- Ensure the listener is running in Reverse Shell mode.
- Execute your reverse shell payload on the remote target.
- When connected, the session is registered in the Active Reverse Shell Sessions table with detected OS and live uptime.
- If multiple targets connect, click any row in the session table to switch to that session's interactive terminal.
- Type commands into the command input field and press Enter or click SEND.
- Use the QUICK ACTION dropdown to spawn PTYs, upgrade TTYs, or bypass AMSI.
- Click UPLOAD FILE TO SHELL to transfer local files to the target, or EXPORT SESSION LOG to save the terminal transcript as Markdown.
- Navigate to the Payload Generator tab.
- Filter templates using the debounced search bar, category dropdown, or target OS selector.
- Click AUTO-FILL FROM LISTENER to synchronize IP and Port with your active listener.
- Select an encoding format from the ENCODING dropdown.
- Click GENERATE PAYLOAD to render the payload in the editor, and COPY PAYLOAD to copy it to clipboard.
- Click HOST AS STAGER ON WEBHOOK to make the script downloadable immediately from your HTTP listener (
/payload,/rev.ps1,/shell.sh).
- If a port is occupied by another process, click KILL PORTS.
- Select the conflicting process from the dialog table.
- Click TERMINATE SELECTED to terminate the process and release the port immediately.
- Java 8 or higher (
source/target 1.8) - Apache Maven 3.x
git clone https://github.com/your-repo/reverse-shell-receiver.git
cd reverse-shell-receiver
mvn clean packageThe resulting compiled JAR will be located at:
target/reverse-shell-receiver-1.0.1-jar-with-dependencies.jar
- Open Burp Suite and navigate to Extensions -> Installed.
- Click Add, select Extension type Java, and choose
target/reverse-shell-receiver-1.0.1-jar-with-dependencies.jar. - Click Next to load the extension. The Reverse Shell Receiver tab will appear in the top navigation bar.
Joel Indra