An open API service indexing awesome lists of open source software.

https://github.com/benjitrapp/raccshells

๐Ÿฆ Self-contained reverse shell generator โ€” zero dependencies, single HTML file. Syntax highlighting, animated diagrams, shell obfuscation, LotL techniques & more.
https://github.com/benjitrapp/raccshells

bind-shell lolbas msfvenom obfuscation offensive-security payload-generator penetration-testing red-team reverse-shell reverse-shell-generator shell-generator

Last synced: 9 days ago
JSON representation

๐Ÿฆ Self-contained reverse shell generator โ€” zero dependencies, single HTML file. Syntax highlighting, animated diagrams, shell obfuscation, LotL techniques & more.

Awesome Lists containing this project

README

          


RaccShells Logo

RaccShells



Self-contained reverse shell generator ยท zero dependencies ยท single HTML file

For authorised penetration testing and CTF use only






---

## What is it?

RaccShells is a **self-contained, single-file** reverse shell reference tool. Open `index.html` โ€” no server, no install, no internet required. Enter your IP and port, copy the shell, and go.

Built with a dark terminal aesthetic: scanline overlay, matrix green, monospace everything.

---

## Feature Overview


RaccShells UI Mockup

| Tab | Contents |
|-----|----------|
| **Reverse Shells** | 72 shells across Bash, Python, Perl, PHP, Ruby, PowerShell, Java, Go, Lua, Awk, โ€ฆ |
| **Bind Shells** | 14 bind-side listeners |
| **MSFVenom** | 25 ready-to-paste msfvenom payloads |
| **Shell Upgrade** | TTY spawn, stty raw, socat fully interactive, escape binaries |
| **Tools & Listeners** | pwncat-cs, pwncat (cytopia), Chashell, HellShell, SSL-AES, FuegoShell, CHAOS RAT, tmate |
| **Living off the Land** | Windows (LOLBAS) + Linux + macOS โ€” download, exec, persistence, tunnel |

---

## Traffic Flow Diagrams

Every shell shows an animated SVG diagram when expanded โ€” no static images, generated inline.

```mermaid
flowchart LR
subgraph VICTIM
V["๐Ÿ’ป :random"]
end
subgraph ATTACKER
A["๐Ÿ–ฅ :4444 LISTEN"]
end

V -- "โ‘  TCP connect-back" --> A
A -. "โ‘ก commands" .-> V
V -. "โ‘ข output" .-> A
```

```mermaid
flowchart LR
subgraph ATTACKER
A["๐Ÿ–ฅ connects"]
end
subgraph VICTIM
V["๐Ÿ’ป :4444 LISTEN"]
end

A -- "โ‘  connect to port" --> V
A -. "โ‘ก commands" .-> V
V -. "โ‘ข output" .-> A
```

```mermaid
flowchart LR
subgraph VICTIM
V["๐Ÿ’ป DNS client"]
end
subgraph DNS["DNS Nameserver\nyour domain NS"]
D[" "]
end
subgraph ATTACKER
A["๐Ÿ–ฅ NS record"]
end

V -- "โ‘  DNS query\n(XSalsa20 enc)" --> D
D -- "NS forward" --> A
A -. "โ‘ก encoded response" .-> D
D -. "NS reply" .-> V
```

```mermaid
flowchart LR
subgraph VICTIM
V["๐Ÿ’ป polling"]
end
subgraph ATTACKER
A["๐Ÿ–ฅ HTTP :80"]
end

V -- "โ‘  GET /token\npoll for cmd" --> A
A -. "โ‘ก 200 encoded cmd" .-> V
V -- "โ‘ข POST /token\nencoded output" --> A
```

```mermaid
flowchart LR
subgraph VICTIM
V["๐Ÿ’ป :random"]
end
subgraph ATTACKER
A["๐Ÿ–ฅ :443 LISTEN"]
end

V -- "โ‘  TLS handshake" --> A
A -- "โ‘ก ๐Ÿ”’ encrypted cmd" --> V
V -- "โ‘ข ๐Ÿ”’ encrypted output" --> A

style A fill:#1a1200,stroke:#cc9900
style V fill:#1a0000,stroke:#ff4444
```

---

## Shell Obfuscation

Each shell that contains an interpreter supports **dynamic obfuscation** โ€” click `โ–ถ obf` to cycle modes without leaving the page.

```mermaid
stateDiagram-v2
[*] --> plain
plain --> base64 : click obf
base64 --> var_split : click obf
var_split --> hex_printf : click obf
hex_printf --> plain : click obf

state "bash base64" as base64
note right of base64
bash -c "$(echo '...'|base64 -d)"
end note

state "$var split" as var_split
note right of var_split
b='ba';s='sh'; eval $b$s${IFS}-i...
end note

state "hex printf" as hex_printf
note right of hex_printf
eval "$(printf '\x62\x61\x73\x68...')"
end note
```

**Obfuscation modes per interpreter:**

| Interpreter | Modes |
|------------|-------|
| Bash / Zsh / Sh | `base64` ยท `$var split` ยท `hex printf` |
| PowerShell | `-EncodedCommand` (UTF-16LE) ยท `[char[]]` IEX |
| Python | `exec(base64.b64decode(...))` |
| Perl | `eval(pack('H*', hex))` |
| PHP | `eval(base64_decode(...))` |
| Ruby | `eval(Base64.decode64(...))` |

---

## Encrypted Shells

Shells with encrypted transport are highlighted in **gold** and carry a ๐Ÿ”’ badge.

```mermaid
flowchart TD
subgraph Encrypted["๐Ÿ”’ Encrypted Transport"]
direction LR
E1["OpenSSL s_client"]
E2["PowerShell TLS #4"]
E3["Ncat --ssl"]
E4["HoaxShell HTTPS"]
E5["SSL-AES C++ Shell"]
E6["Chashell DNS (XSalsa20)"]
end
```

Use the **๐Ÿ”’ encrypted** filter chip to show only these shells.

---

## Living off the Land

Techniques organised by OS, each with its own filter view.

```mermaid
mindmap
root((LotL))
Windows
Download & Execute
certutil
bitsadmin
curl Win10+
PowerShell cradle
Code Execution
mshta HTA
regsvr32 Squiblydoo
rundll32 JS
MSBuild C#
InstallUtil
wmic
Persistence
Registry Run key
Scheduled Task
Startup folder
Linux
Download & Execute
curl pipe bash
wget pipe bash
python3 fetch
File Transfer
nc / socat
dd raw
base64 paste
Tunneling
SSH reverse tunnel
SSH SOCKS5
Chisel
Persistence
crontab
systemd user service
LD_PRELOAD
macOS
Download & Execute
curl pipe bash
osascript
Persistence
LaunchAgent plist
crontab
```

---

## Tools & Listeners

| Tool | Type | Platform |
|------|------|----------|
| [pwncat-cs](https://github.com/calebstewart/pwncat) | Post-exploitation platform | Linux |
| [pwncat (cytopia)](https://github.com/cytopia/pwncat) | Netcat on steroids | Linux / Mac / Win |
| [Chashell](https://github.com/kost/chashell) | DNS reverse shell | All |
| [HellShell](https://github.com/NUL0x4C/HellShell) | Shellcode obfuscator | Windows |
| [SSL-AES Reverse Shell](https://github.com/V-i-x-x/SSL-AES-Reverse-Shell) | TLS C++ shell | Windows |
| [FuegoShell](https://github.com/v1k1ngfr/fuegoshell) | SMB named-pipe shell | Windows |
| [CHAOS RAT](https://github.com/tiagorlampert/CHAOS) | Go RAT with web UI | Linux / Win |
| [tmate](https://github.com/tmate-io/tmate) | Terminal sharing via SSH | Linux / Mac |

---

## Usage

```bash
# Option 1 โ€” open directly in browser (no server needed)
open index.html # macOS
start index.html # Windows
xdg-open index.html # Linux

# Option 2 โ€” serve locally
python3 -m http.server 8080
# โ†’ http://localhost:8080
```

1. Set **LHOST / IP**, **PORT**, and preferred **shell binary**
2. Pick a **listener** from the dropdown โ€” the attacker-side command auto-updates
3. Use the **filter chips** to narrow by OS, encryption, or obfuscation support
4. Click a shell to expand โ€” diagram animates, copy button is ready
5. Optionally click **โ–ถ obf** to cycle through obfuscation modes before copying

---

## Listener Dropdown

```mermaid
flowchart LR
L["Listener Dropdown"] --> NC["nc -lvnp PORT"]
L --> NCAT["ncat -lvnp PORT"]
L --> SOCAT["socat file:tty,raw TCP-LISTEN:PORT"]
L --> RLWRAP["rlwrap nc -lvnp PORT (TTY)"]
L --> MSF["msf multi/handler"]
L --> PCS["pwncat-cs -lp PORT"]
L --> PCY["pwncat -l -p PORT"]
```