Port Forwarding
En lo que consiste esta tecnica es que una conexion en internet a nuestro Router
concretamente a un puerto de nuestro Router
se redirija a un puerto de uno de los sistema que se encuentran en nuestra red local, de esta manera podemos establecer una conexion desde internet a una maquina que se encuentra en una red local.
Vamos a encender las 2
maquinas Windows
que son las WS01
y WS02
, vamos a realizar una conexion reversa con la maquina WS02
con metasploit
para obtener un meterpreter
.
Una vez que lo hayamos obtenido, vamos a imaginar que tenemos un servicio corriendo vulnerable en la maquina llamada WS02
con la que tenemos la reverse shell
, ya que hemos podido obtener acceso a dicha maquina de una forma o de otra con un meterpreter
, pero ese servicio tiene limitaciones ya que esta controlado por un firewall
local, algo que es muy frecuente.
Para poder emular ese servicio corriendo vulnerable en Windows
vamos a instalar netcat
para poder emularlo de la siguiente forma:
URL = Download Netcat
Pinchamos en here
para que se nos descargue el ZIP
y una vez que nos lo hayamos descargado, nos lo pasamos a la maquina WS02
, tendremos que descomprimir el ZIP
, si nos lo detecta como un malware
desactivamos el antivirus y seguimos con el proceso, abriremos una PowerShell
y nos iremos dentro de la carpeta descomprimida para poder ejecutar el netcat
.
Por ejemplo si ejecutamos eso, estamos simulando tener un puerto abierto en el 23
como si fuera vulnerable.
Nos saldra si queremos Permitir
o Cancelar
el que sea accesible a redes publicas esta escucha, en este caso le daremos a Cancelar
ya que en una organizacion real, esto estara todo en local y no podra ser accesible de forma externa.
Info:
Si nosotros intentamos conectarnos con netcat
desde nuestro kali
no va a funcionar, ya que nuestro firewall
de Windows
esta bloqueando todas las conexiones entrantes de forma externa para que dicho servicio no se exponga en la red, de ahi la necesidad de tener que realizar un Port Forwarding
con la shell reversa
que tenemos.
Pongamos que hemos descubierto que el servicio que corre en el puerto 23
tiene una vulnerabilidad y tenemos un script para explotarla, pero no lo podremos hacer de forma externa, y como tenemos una shell
con la maquina WS02
podremos realizar dicha tecnica para poder explotarlo de forma interna.
Teniendo el meterpreter
de metasploit
lo que haremos sera lo siguiente:
Lo que estamos haciendo con el add
es añadir en el puerto 135
que sabemos que esta abierto, por que si no la maquina no funciona en Windows
la tecnica del Port Forwarding
.
Con el -l
especificamos el puerto que queremos utilizar, que tiene que estar activo en la maquina victima.
Con el -p
especificamos que nos canalice el puerto 135
del puerto que queremos hacer conexion en este caso el puerto 23
desde nuestro host
, por lo que cuando nosotros enviemos informacion se la estaremos enviando al puerto 135
pero este lo canaliza y se la envia al 23
.
Con el -r
especificamos la maquina victima.
Para poder ver que puertos tiene activo la maquina victima para ponerlo en el -l
, sera de la siguiente forma:
Info:
Info (Comando portfwd
):
Ahora si realizamos lo siguiente:
Lo que estamos haciendo es que nos estamos conectando de forma local en nuestro host
en el puerto que le especificamos de la 135
pero cuando enviemos dicha informacion por ahi, lo que hara sera canalizarlo y enviarlo al puerto 23
de la maquina victima.
Escribimos lo siguiente:
Y si nos vamos a la maquina victima y vemos el PowerShell
donde estaba a la escucha con ese puerto activado del 23
que desde fuera no dejaba hacer esta conexion...
Por lo que vemos ha funcionado de forma correcta, pero si en este caso el puerto esta en la maquina WS01
y tenemos una shell
en WS02
, lo que podemos hacer es la misma tecnica anterior, pero con la IP
de la maquina WS01
de la siguiente forma:
Primero eliminaremos portfwd
el anterior:
Y ahora lo configuraremos para la maquina WS01
:
Y con esto ya lo tendriamos canalizado a la maquina WS01
.
Last updated