Parte: 3 — Hacking ético y pentesting: metodología · Fuente: Offensive Security - "Metasploit Unleashed"; Peter Kim - "The Hacker Playbook 3" ⏱️ Duración estimada: 140 min · Nivel: Experto
El alumno aprenderá a usar un host comprometido como punto de apoyo (pivote) para alcanzar redes internas segmentadas que no son accesibles directamente desde la máquina atacante, dominando túneles SSH, proxychains, el pivoting integrado de Metasploit y herramientas modernas como chisel y ligolo-ng, en un laboratorio propio con topología multi-red.
Al finalizar, el alumno podrá:
autoroute y un proxy SOCKS dentro de Metasploit para pivotar sobre una sesión Meterpreter.| # | Tema | Por qué importa |
|---|---|---|
| 1 | Local port forwarding (ssh -L) |
Expone un servicio interno específico en la máquina atacante |
| 2 | Remote port forwarding (ssh -R) |
Útil cuando el pivote no puede iniciar conexiones salientes hacia el atacante |
| 3 | Dynamic forwarding / proxy SOCKS (ssh -D) |
Un solo túnel da acceso a toda una subred interna |
| 4 | proxychains | Permite encaminar herramientas como nmap a través del pivote |
| 5 | Metasploit autoroute + socks_proxy | Pivoting integrado sobre una sesión Meterpreter existente |
| 6 | chisel / ligolo-ng | Túneles sobre HTTP(S) cuando SSH no está disponible en el pivote |
| 7 | Doble pivote | Encadena dos saltos para alcanzar redes doblemente segmentadas |
| 8 | Segmentación como contramedida | Limita el alcance real de un pivote aunque el primer host caiga |
-L): mapea un puerto de la máquina atacante a un destino alcanzable desde el pivote. Característica clave: ssh -L 8080:172.16.0.10:80 usuario@pivote hace que localhost:8080 en el atacante equivalga al puerto 80 del host interno.netstat/EDR) ayuda a detectar túneles no autorizados.-R): abre un puerto en el pivote que reenvía las conexiones hacia la máquina atacante. Característica clave: útil cuando el firewall del pivote bloquea conexiones salientes hacia el atacante pero sí permite conexiones entrantes locales.-D): convierte el túnel SSH en un proxy SOCKS genérico. Característica clave: un único túnel dinámico da acceso a cualquier host y puerto de la subred interna, sin necesitar un mapeo por servicio.--reverse, iniciando la conexión desde el pivote hacia el atacante, lo cual evade restricciones de firewall saliente estrictas.sudo apt install proxychains4; configurar /etc/proxychains4.conf con la línea socks5 127.0.0.1 1080 (o el puerto elegido).post/multi/manage/autoroute y auxiliary/server/socks_proxy, sobre una sesión Meterpreter ya activa.El pivoting extiende deliberadamente tu acceso hacia redes que suelen estar segmentadas por diseño de seguridad. Practica esto solo dentro de tu laboratorio propio o del alcance explícitamente autorizado en las reglas de engagement de un pentest contratado. Alcanzar una red no incluida en el alcance firmado es una violación grave del contrato y puede constituir delito.
10.10.10.5) y una subred interna objetivo 172.16.0.0/24, levanta un túnel dinámico: ssh -D 1080 -N usuario@10.10.10.5.proxychains4 nmap -sT -Pn -p 22,80,445 172.16.0.10.ssh -L 8080:172.16.0.10:80 -N usuario@10.10.10.5 y verifica con curl http://127.0.0.1:8080.use post/multi/manage/autoroute, set SESSION 1, set SUBNET 172.16.0.0, run.use auxiliary/server/socks_proxy, set SRVPORT 1080, set VERSION 4a, run -j../chisel server -p 8000 --reverse; en el pivote, .\chisel.exe client 10.10.10.5:8000 R:socks.proxy en Kali, crea la interfaz con ip tuntap add user root mode tun ligolo, súbela con ip link set ligolo up, ejecuta el agent en el pivote y añade la ruta hacia la subred interna con ip route add 172.16.0.0/24 dev ligolo.nmap -sS 172.16.0.0/24) y compáralo contra el escaneo -sT realizado antes por proxychains.-L, -R y -D en un túnel SSH.-sT -Pn en lugar de un escaneo SYN.autoroute en Metasploit y verifica la ruta activa con el comando route print dentro de msfconsole.--reverse y encamina una petición curl a través de él usando proxychains.Reto: alcanza un servicio en la subred interna de tu laboratorio que no es accesible directamente desde Kali, exclusivamente a través de un pivote, usando al menos dos técnicas distintas (por ejemplo, SSH dinámico y chisel, o autoroute y ligolo-ng).
Criterio de aceptación: el alumno demuestra acceso al servicio interno (respuesta HTTP, banner de servicio o resultado de escaneo) inalcanzable sin el túnel, documenta el método exacto usado en cada caso y adjunta un diagrama de la topología atacante-pivote-objetivo.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| nmap con SYN scan falla a través de proxychains | proxychains solo soporta conexiones TCP completas (connect); usar siempre -sT -Pn |
| El proxy SOCKS no responde | El túnel se cayó o el puerto configurado en proxychains4.conf no coincide con el del túnel activo; verificar el listener con netstat |
| autoroute no encamina el tráfico | La SESSION especificada es incorrecta o la subred está mal escrita; revisar con route print en msfconsole |
| chisel no logra conectar | Firewall saliente bloqueando el puerto; usar --reverse y un puerto comúnmente permitido como 443 |
| ligolo-ng no crea la interfaz TUN | Falta el privilegio de administrador/root en la máquina atacante para crear la interfaz de red |
| Rendimiento muy bajo en doble pivote | Latencia acumulada de dos túneles anidados; reducir el número de puertos escaneados y evitar paralelismo excesivo |
❓ ¿Por qué un escaneo nmap con proxychains necesita las banderas -sT y -Pn?
Porque proxychains solo puede encaminar conexiones TCP de tipo connect (establecidas a nivel de aplicación), no paquetes SYN crudos; además, el ping ICMP previo tampoco se transmite por el proxy, así que hay que omitirlo con -Pn.
❓ ¿Cuándo conviene usar remote forwarding (-R) en lugar de local (-L)?
Cuando el pivote tiene un firewall saliente restrictivo que impide iniciar conexiones nuevas hacia el atacante, pero sí permite exponer un puerto local que reenvíe hacia una escucha que el atacante ya preparó.
❓ ¿Chisel o un túnel SSH tradicional? SSH es la opción natural si el pivote ya lo tiene disponible y es Linux. Chisel es preferible cuando no hay cliente SSH (por ejemplo, un pivote Windows), cuando solo se permite tráfico HTTP/HTTPS saliente, o cuando se necesita atravesar un proxy corporativo.
❓ ¿Cómo detecta un equipo defensivo el pivoting? Mediante segmentación real de red con firewalls internos, sistemas de detección de tráfico anómalo entre segmentos (NDR), monitoreo de conexiones salientes inusuales desde servidores internos, y auditoría de túneles SSH o procesos desconocidos como chisel ejecutándose en hosts críticos.
❓ ¿ligolo-ng reemplaza completamente a proxychains? En muchos escenarios sí, porque al trabajar a nivel de interfaz de red permite usar cualquier herramienta sin las limitaciones de un proxy SOCKS; sin embargo, proxychains sigue siendo útil cuando no se puede o no se quiere crear una interfaz TUN en la máquina atacante.
Clase 078 — Movimiento lateral en la red