Waffy DockerLabs (Hard)

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 waffy.zip

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

bash auto_deploy.sh waffy.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:

Veremos un puerto 80 en el que generalmente se aloja una pagina web, si entramos dentro veremos un login normal y corriente, por lo que ya nos da indicios de que podriamos probar credenciales por defecto.

No funcionara, pero si probamos payloads basicos de SQLi veremos lo siguiente:

Info:

Con esto que vemos tenemos la sospecha de que puede haber por detras un WAF, para el que no lo sepa un WAF (Web Application Firewall) a nivel de Web es un cortafuegos especializado en proteger aplicaciones web.

A diferencia de un firewall de red tradicional (que solo filtra tráfico por puertos/IPs), un WAF analiza las peticiones HTTP/HTTPS que llegan a una aplicación web para detectar y bloquear ataques comunes.

Por lo que vemos nos esta bloqueando esa inyeccion, por lo que vamos a intentar Bypassear dicho WAF a ver si lo conseguimos.

Probando un sqlmap no encuentra nada, por lo que vamos a utilizar una pagina llamada CAIDO, lo vamos a instalar de esta forma:

URL = Download CAIDO

Es una alternativa a BurpSuite pero totalmente gratis, una vez que nos lo hayamos descargado, vamos instalarlo de esta forma:

Ahora si buscamos caido desde kali veremos que esta instalado, lo iniciamos y tendremos que darle a Start en la instancia local que viene por defecto por el puerto 8080, se nos abrira un panel para login o continuar como invitado, le daremos a como invitado directamente para esta prueba.

Crearemos un nuevo proyecto para utilizarlo, lo llamaremos como queramos, lo seleccionamos y nos vamos en la parte izquierda donde pone Intercept.

En esta parte para empezar a interceptar el trafico tendremos que darle al boton de arriba a la derecha llamado >> Forwarding y esto estara a la escucha de cualquier peticion, desde la Web como hacemos con BurpSuite utilizando FoxyProxy pondremos que la informacion pase atraves del puerto 8080 echo esto probaremos poniendo admin:admin:

Veremos que lo esta interceptando de forma correcta, por lo que podremos continuar para intentar bypassear el WAF de la Web.

Lo vamos a enviar la peticion dandole a Send Automate es como el Repeater en BurpSuite, nos vamos a la seccion Automate y ahi tendremos nuestra peticion para repetirlas las veces que queramos.

Si nosotros seleccionamos el campo name= el valor de dentro lo seleccionamos en mi caso admin y le damos al + de arriba a la derecha, se nos pondran una serie de opciones las cuales podremos realizar un fuzzing probando diferentes payloads que metamos nosotros en una lista.

Pondremos de tipo Symple List y dentro añadiremos los payloads que queramos probar, pero en mi caso no habremos tenido suerte, vamos a utilizar un script del Pinguino De Mario en la siguiente pagina:

URL = ElPinguinoDeMario GitHub sqli_dinamico.sh

El cual lo que hace es generar de forma dinamica payloads de un SQLi para intentar Bypassear un WAF como es en este caso.

Lo configuraremos a nuestras necesidades, echo esto, vamos a ejecutarlo de esta forma:

Info:

Cuando lo paremos se nos generara un diccionario de payloads solamente de los cuales ha tenido algun exito que no haya sido un 403 o 404, por lo que este diccionario lo vamos a cargar en nuestro Automate de CAIDO y echo esto le daremos a Run.

Pero veremos que no tendremos exito, vamos a probar con un diccionario un poco mas grande, a ver si hay suerte...

Escalate user baluton

Pero veremos que no funciona, despues de buscar un buen rato, vemos que con una explotacion de sqli en formato de Bypass con JSON functions funciona, por lo que haremos esto:

Y con esto veremos lo siguiente:

Veremos que ha funcionado, por lo que nos vamos a conectar por SSH a ver que vemos.

SSH

Metemos como contraseña balulerobalulon, con esto estaremos dentro.

Escalate Privileges

Si listamos los permisos SUID veremos lo siguiente:

Info:

Veremos esta linea bastante interesante:

Viendo esto podremos realizar lo siguiente para ser root.

Info:

Con esto ya seremos root, por lo que habremos terminado la maquina con éxito.

Last updated