Pivoting manual
Este va a ser nuestro laboratorio
Como vemos en la imagen, las flechas azules indican las máquinas que se ven y nuestro objetivo es tunelizar todas como veríamos con las flechas rosas, además de poder hacer un port forwarding y que la máquina objetivo vea la nuestra atacante, para poder realizar una reverse shell.
Como vemos, tiene conexión una a otra, pero no todas a la vez, como serían las flechas rojas.
Así que comencemos antes de nada. Tendríamos que descubrir los equipos activos que hay en nuestra red, lo haríamos de la siguiente manera:
E iríamos a todos los host que nos interesase.
Ya hemos vulnerado la máquina 1. Lo primero de todo es ver cuántos segmentos de red hay en la máquina:
Como hemos encontrado uno nuevo, vamos a ver qué host vivos hay en esa nueva segmentación (20.20.2.10). Así que traslademos las herramientas de Chisel y Socat.
También necesitaríamos ver qué interfaces (comando `ip a`) y hosts vivos hay en esa nueva segmentación, pero como no tenemos herramientas, usaremos un script en Bash:
Nos traemos este script a la máquina 1 vulnerada para ver los hosts vivos. Cuando descubramos nuevos segmentos de red, asegúrate de cambiar la IP en el script, en este caso, es 10.10.2.0, pero en el próximo podría ser 20.20.20.0:
Encontramos nuevos hosts vivos, y nos llama la atención la 10.10.2.11. Así que, una vez vulnerada, vamos a crear el túnel porque desde la máquina atacante no tengo visibilidad con esta nueva máquina (intermedia 10.10.2.11):
Creemos el túnel.
Nos descargamos Chisel desde este enlace y lo llevamos a la máquina víctima con un servidor Python u otro método:
Ejecutamos Chisel en nuestra máquina víctima por el puerto que queramos. Todo el tráfico entrará por ese puerto:
En la máquina víctima, lo ejecutamos de la siguiente manera:
Tenemos que indicar hacia dónde queremos que se dirija el tráfico (IP) y el puerto en el que está a la escucha. «R» significa que queremos traernos todos nuestros puertos, así que nos los traemos todos para luego poder acceder mediante ProxyChains:
Vemos la nueva conexión; hemos creado el túnel.
Ahora tenemos que configurar ProxyChains para poder usar ese túnel y que puedan ver la máquina víctima. Esto se hace con ProxyChains:
En caso de que estemos usando una VPN, tendríamos que poner la IP de la VPN en lugar de nuestro localhost.
¿Por qué ponemos 1080? Porque, por defecto, al no haber indicado el puerto por el que crear el túnel, se crea por el puerto 1080:
Y ahora podemos hacer lo que queramos con esa máquina 10.10.2.11.
Incluso podemos enviar cosas:
Por lo tanto, hemos completado la primera máquina.
Ahora al ejecutar Chisel, tenemos que apuntar al nodo más cercano, es decir, la máquina 10.10.2.12.
Pero antes, tenemos que ejecutar Socat para que toda la comunicación que pase por la máquina 1 llegue a nuestra máquina atacante. Nos descargamos Socat y lo movemos a la máquina 1 desde este enlace:
En una nueva instancia de la máquina 1, ejecutamos el siguiente comando para que redirija todo el tráfico que nos enviará la máquina 2 a nuestra máquina atacante:
No olvides que al abrir otro túnel, debes configurarlo en el archivo proxychains.conf. Ponemos el puerto 8888, ya que en Chisel hemos puesto el puerto 8888:
Y ahora podemos acceder a la máquina:
Repite el proceso de Socat para que todo el tráfico que envíe la máquina 3 sea redirigido primero a la máquina 2 y luego a la máquina 1. Esto lo redirigirá a nuestra máquina.
