Report 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 report.zip

Nos lo descomprimira y despues montamos la maquina de la siguiente forma.

bash auto_deploy.sh report.tar

Info:

                            ##        .         
                      ## ## ##       ==         
                   ## ## ## ##      ===         
               /""""""""""""""""\___/ ===       
          ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
               \______ 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 eliminarla

Por 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:

Si intentamos conectarnos a la pagina veremos que va por dominio y no se esta resolviendo adecuadamente, por lo que tendremos que editar el archivo hosts de la siguiente forma:

Lo guardamos y probamos a entrar de nuevo a la pagina:

Vemos que nos carga la pagina con normalidad y aparentemente parece ser una pagina del gobierno.

Gobuster

Si fuzzeamos un poco para ver que encontramos:

Info:

Vemos varias cosas interesantes, vamos a probar con cada uno de los PHP por si tuviera algun LFI con algun parametro vulnerable.

FFUF

Info:

Vemos que tiene un parametro llamado file about.php, por lo que probaremos a insertarlo en la pagina web y leer el passwd:

Info:

Vemos que funciona correctamente y nos saca el listado del archivo.

Ahora vamos a ver que archivos puede haber interesantes:

NOTA:

Diccionario utilizado para este ataque:

URL = LFI-Jhaddix.txt

Info:

Vemos que nos saca unos cuantos, por lo que podremos hacer lo siguiente ya que tenemos un LFI:

LFI / RFI usando wrappers

Tecnica Wrapper php://filter

Utilizando la llamada de php para ejecutar lo que le pongamos.

Tecnica para automatizar todo esto

Para automatizar todo lo anterior podemos utilizar un script que te genera lo que tienes que indtroducir en la URL en el apartado despues del =...

URL_Script = https://github.com/synacktiv/php_filter_chain_generator/blob/main/php_filter_chain_generator.py

Si queremos por ejemplo crear un parametro llamado cmd que ejecute cualquier comando que le pongamos, seria de la siguiente forma...

Copiamos eso y lo metemos despues del igual de la siguiente manera...

EJEMPLO:

Info:

Vemos que esta funcionando, por lo que nos vamos a crear una aplicacion con msfvenom y hacernos una reverse shell con un meterpreter.

Escalate user www-data

MSFVENOM .elf

Info:

Esto nos generara un archivo .elf el cual tendremos que llevar a la maquina victima de la siguiente forma:

En la URL pondremos lo siguiente:

Una vez ejecutado esto, comprobaremos que realmente se ha cargado el archivo en /tmp:

Info:

Vemos que si, por lo que ahora le daremos permisos de ejecuccion y seguidamente lo ejecutaremos.

Vamos a URL Encodearlo para que no de ningun error y si volvemos a listar el archivo...

Info:

Vemos que ya tiene permisos de ejecuccion, por lo que estaremos a la escucha antes de ejecutarlo de la siguiente forma:

Una vez estando ya a la escucha con todo configurado, ejecutaremos el .elf de la siguiente forma:

Si ahora nos volvemos a donde teniamos la escucha veremos que se nos ha creado una shell:

Escalate user adm

Si leemos el siguiente archivo, veremos las credenciales para entrar como root a mysql:

Info:

Por lo que nos meteremos en la misma maquina con dichas credenciales.

Y con esto estariamos dentro de mysql.

Info:

Info:

Info:

Pero no nos servira de mucho...

Si investigamos un poco mas en la carpeta de html veremos una bastante interesante llamada desarrollo en la que contiene un git, por lo que vemos que tenemos git instalado y podremos sacar informacion sensible de la siguiente forma.

Si ingresamos eso nos va a dar el siguiente error:

Pero si intentamos marcarlo como directorio seguro no nos va a dejar por lo que haremos lo siguiente:

Ahora si que nos dejara listar los logs:

Info:

Pero hay uno en concreto que nos interesa:

Por lo que vamos a investigar sobre ese commit.

Info:

Vemos que nos aparece lo que es la nueva contraseña del usuario adm:

Por lo que si probamos hacer lo siguiente...

Metemos como contraseña 9fR8pLt@Q2uX7dM^sW3zE5bK8nQ@7pX y veremos que seremos dicho usuario.

Escalate Privileges

Si leemos el siguiente archivo:

Info:

Vemos una linea interesante que seria la siguiente:

Parece ser que hay una contraseña en hexadecimal, por lo que vamos a pasarla a texto plano:

Probaremos dicha contraseña con el usuario root y veremos que es la de dicho usuario.

Metemos como contraseña dockerlabs4u y seremos root.

Last updated