
¿Qué es Ligolo-ng?
Ligolo-ng es una herramienta de tunelización ligera y eficiente, utilizada como alternativa a Chisel y Socat. Su función principal es permitir la creación de túneles tipo VPN en auditorías de seguridad ofensiva, especialmente en entornos restringidos o segmentados, donde es necesario encadenar accesos mediante múltiples saltos.
Ligolo-ng está diseñada para pruebas de penetración profesionales, facilitando el movimiento lateral sin requerir instalaciones complejas ni escalamiento de privilegios.
Repositorio oficial: Ligolo-ng GitHub
Características destacadas
- Permite tunelización sin instalar componentes pesados
- Soporta encadenamiento de listeners (multi-hop)
- Puede ejecutarse sin privilegios elevados en ciertos sistemas
Nota legal: Esta herramienta debe utilizarse únicamente en entornos controlados y con autorización explícita. Su uso no autorizado es ilegal.
Instalación
Se recomienda trabajar con la versión estable: Ligolo-ng v0.8.2
Descargamos los binarios correspondientes desde el repositorio oficial:
Ligolo-ng_proxy_0.8.2_linux_amd64.tar.gzLigolo-ng_agent_0.8.2_linux_amd64.tar.gzLigolo-ng_agent_0.8.2_windows_amd64.zip

Renombramos los binarios para facilitar su ejecución:
proxy→ para el servidoragent→ para los clientes Linuxagent.exe→ para los clientes Windows

Primer hop – Configuración básica
Creamos una interfaz TUN
sudo ip tuntap add user root mode tun ligolo
sudo ip link set ligolo up Ejecutamos el proxy
sudo ./proxy -selfcert El puerto por defecto es 11601, salvo que se indique lo contrario con -listen.

Ejecutamos el agente en la máquina objetivo
./agent -connect <IP_Proxy>:11601 -ignore-cert -retry No requiere privilegios root.


Establecemos la sesión y enrutamos el tráfico
Descubrimos el rango de red disponible desde la víctima.

Y agregamos a la interfaz:
sudo ip route add <rango_red> dev ligolo Iniciamos la sesión en el proxy:
ligolo-ng » session
ligolo-ng » 1
ligolo-ng » start --tun ligolo 
Una vez configurado, el túnel está listo para utilizar herramientas como nmap o scripts personalizados.

Segundo hop – Encadenamiento de túneles
Acceso a la nueva máquina
Tras comprometer un segundo sistema, subimos el agente correspondiente.
Creamos una nueva interfaz TUN
sudo ip tuntap add user root mode tun ligolo2
sudo ip link set ligolo2 up
Encadenamos listeners
listener_add --addr 0.0.0.0:11601 --to 127.0.0.1:11601 --tcp 
Ejecutamos el segundo agente
.\agent -connect <IP_1ª_Máquina_2ª_Interfaz>:11601 -ignore-cert -retry 

Iniciar segundo túnel
ligolo-ng » session
ligolo-ng » 2
sudo ip route add <nuevo_rango> dev ligolo2 #Ojo! Este no va dentro de la consola de Ligolo
ligolo-ng » start --tun ligolo2

Con esto se completa la conexión de múltiples saltos para alcanzar redes internas a través de un túnel persistente.

Como podemos ver, todo funciona correctamente. En este ejemplo llegamos a dos saltos, pero aplicando la misma metodología del segundo hop podríamos continuar encadenando todos los saltos que queramos.
Buenas prácticas
- Eliminar binarios y agentes después de la prueba
- Guardar logs y evidencia de cada salto
- Utilizar certificados y autenticación segura
- Documentar versiones y checksums para auditoría
- Realizar auditorías de ciberseguridad con Pentesting Team
Conclusión
Ligolo-ng es una herramienta eficiente y versátil para crear túneles tipo VPN durante auditorías de seguridad ofensiva. Su capacidad para trabajar sin configuraciones complejas ni escalamiento de privilegios la convierte en una solución eficaz para escenarios de pentesting con múltiples saltos. Ideal para entornos restringidos, laboratorios o pruebas en red internas.





