ChocoPing DockerLabs (Intermediate)
Instalación
Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzip chocoping.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh chocoping.tarInfo:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.17.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarlaPor lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Veremos que solo hay un puerto 80 en el que tiene alojado un archivo llamado ping.php si intentamos entrar en el veremos el siguiente texto:
Vamos a realizar un poco de fuzzing para ver que parametro puede ser el que pueda enviar la IP.
FFUF
Info:
Vemos que funciona con el parametro ip, por lo que vamos a probar lo siguiente:
Info:
Veremos que ha funcionado, como esto se esta realizando por el protocolo ICMP vamos a probar a dumpear la informacion que estamos recibiendo con la herramienta tcpdump.
Pero no veremos gran cosa, vamos a seguir realizando fuzzing para poder intentar realizar un RCE poniendo ; pero si lo hacemos nos pondra comando no permitido por lo que vamos a probar a codificarlo en URL pero con la herramienta FFUF.
bypasses.txt
Info:
Veremos que en esta linea de aqui:
Pone Words: 11 por lo que sabemos que algo esta poniendo en la pagina, si probamos a utilizar dicho payload:
Info:
Vemos que se esta ejecutando de forma correcta, por lo que vamos a probar a utilizar la misma mecanica, pero para leer el archivo passwd.
Info:
Vemos que se esta volcando de forma correcta, por lo que vamos a realizar un reverse shell.
Vamos a generar el archivo shell.sh con la reverse shell:
shell.sh
Abriremos un servidor de python para que pueda coger el archivo.
Vamos a realizar este comando:
Cambiar la IP (192.168.1.146) por la vuestra, en mi caso quedaria algo asi:
Antes de ejecutarlo nos pondremos a la escucha de la siguiente forma:
Ahora si enviamos ese payload y volvemos a donde tenemos la escucha veremo lo siguiente:
Veremos que ha funcionado, por lo que vamos a sanitizar la shell.
Sanitización de shell (TTY)
Escalate user balutin
Si hacemos sudo -l veremos lo siguiente:
Veremos que podemos ejecutar el binario man como el usuario balutin por lo que podremos hacer lo siguiente:
Info:
Con esto ya seremos dicho usuario.
Escalate Privileges
Si vamos a nuestra home veremos un archivo .zip el cual no podremos descomprimir ya que tiene contraseña, por lo que vamos a pasarnoslo a nuestra maquina host pero la maquina victima no tendra python por lo que tendremos que hacerlo de la siguiente forma:
En la maquina host pondremos lo siguiente:
Ahora enviamos el comando anterior estando a la escucha y veremos esto:
Con esto veremos que ha funcionado de forma correcta y veremos el archivo secretito.zip por lo que vamos a crackear la contraseña de la siguiente forma:
zip2john
Info:
Veremos que ha funcionado y abremos obtenido el .pcap vamos a ver que contiene:
Metemos como contraseña chocolate y veremos que se descomprimio de forma correcta, ahota si intentamos abrir el .pcap con Wireshark veremos que hay archivos corruptos, por lo que vamos a intentar ver los strings de dicho archivo:
Info:
Veremos que contiene la password de root por lo que vamos a probarla en la maquina victima:
Info:
Metemos como contraseña secretitosecretazo! y veremos que funciono, por lo que habremos terminado la maquina.
Last updated