DockerLabs Bashpariencias

DockerLabs Bashpariencias

Esta es una máquina de DockerLabs de nivel medio

·

4 min read

Para poder hacer uso de esta máquina primero debemos descargar los archivos y así desplegarlo con Docker.

Descargamos el archivo de la página dockerlabs.es/#

Al momento de descargar esta máquina y descomprimir el archivo, en este caso observamos 2 archivos.

Para desplegar el laboratorio ejecutamos de la siguiente manera, así también podemos ver que nos indica la dirección que tendremos, así también el que hacer cuando terminemos este.

Realizamos escaneo de los puertos para la dirección IP y podemos observar que tenemos 2 puertos habilitados y el puerto SSH es el 8899.

Si nos dirigimos al navegador y entramos a la dirección podemos observar que habla sobre rosa y el porqué la despidieron. Revisando a donde nos redirige el link del texto podemos observar que se trata de la máquina Buscalove que resolvimos hace unas máquinas atrás.

Si extendemos el Navbar de la parte superior podemos observar que tenemos 2 opciones.

La sección de app ejemplo es una página que no se puede usar, pero si vamos a la página formularia observamos un formulario probamos ingresando datos, pero no podemos observar de primera alguna respuesta que valide si se envían los datos.

Realizamos un escaneo de directorios y observamos los archivos de form y app que son los que obtuvimos en el Navbar. Pero hay un nuevo archivo llamado shell.php.

Si nos dirigimos podemos observar es un archivo que parece ser que es como se trata los archivos recibidos del formulario.

Revisando el código observamos que teníamos razón y es el archivo que trata los datos del formulario.

Probamos ingresando algunos comandos en los campos, pero no podemos observar nada debido a que el formulario no refleja nada cuando se envía.

Nos ponemos a revisar el código del formulario para ver si obtenemos algún enlace oculto, pero podemos ver que hay un texto curioso.

rosa:lacagadenuevo

Intentamos conectarnos por SSH usando esas credenciales y podemos observar que sí tuvimos acceso a la máquina.

Listamos los archivos, pero no observamos nada tampoco podemos hacer uso de sudo -l, ya que rosa no puede usar sudo.

Podemos probar listar los permisos SUID, pero no sería posible porque no estamos en la lista pese a tener los permisos.

Buscamos capabilities y si tiene algún crontab, pero no identificamos ninguno.

Buscando archivos en las carpetas opt y etc, pero no encontramos nada.

Usamos un tree en la carpeta home para observar si podemos acceder a algún directorio y podemos observar que hay un archivo llamado megasecret.txt así también, dentro de la carpeta de rosa hay un archivo llamado backup_rosa y un TXT.

Tratamos de abrir el archivo, pero no tenemos permisos.

Vamos a la carpeta - y tratamos de descomprimir el archivo, pero no es posible, y en el texto indica que juan dejo su password en un archivo .zip.

Supondremos que el archivo es el backup_rosa.zip lo cual dudo pero probaremos. Indicamos un servidor en Python para pasarlo a nuestra máquina.

Descargamos en nuestra máquina local.

Probamos algunas credenciales que encontramos en la máquina buscalove, ya que se trata del mismo usuario rosa, pero no funciona.

Lo que podemos realizar para obtener el password, primero debemos hashear el archivo con zip2john.

Luego usamos John para obtener el password y si todo va bien como en esta ocasión podemos observar que el password es 123123.

Descomprimimos el archivo y podemos observar un archivo llamado hackwhitbash.

Probamos las credenciales que encontramos para el usuario juan y podemos comprobar que son correctas y ya somos Juan.

juan:hackwhitbash

Ya que somos Juan ahora intentamos volver a realizar un sudo -l y podemos observar que podemos ejecutar tanto tree y cat como el usuario Carlos. Con ello podemos revisar su carpeta de usuario y leer el contenido.

Con la idea de las capacidades que tenemos listamos el directorio y leemos el archivo donde podemos observar un password llamado chocolateado.

Ya que tenemos el password nos conectamos con esas credenciales y ya somos Carlos.

Una vez como Carlos volvemos a realizar sudo -l y podemos observar que podemos aprovecharnos de tee para ser root.

Buscando en GFTOBins podemos observar que tenemos una manera de hacer uso de este binario.

Ya que podemos agregar una línea a un archivo primero probaremos si es posible agregarlo en el etc/passwd y podemos observar que sí es posible.

Luego de realizar esta prueba agregaremos un usuario, le retiramos la x para acceder sin password.

Si realizamos un cat /etc/passwd podemos observar que el usuario ya está agregado.

Ya que confirmamos que tenemos al usuario agregado lo que realizamos es un su gm4tsy y ya podemos observar que accedimos como root, de esta manera culminando esta máquina.