Database

Reconocimiento

Iniciamos como siempre, lanzando una traza ICMP a la máquina objetivo para comprobar que tengamos conectividad.

Vemos que responde al envío de nuestro paquete, verificando de esta manera que tenemos conectividad. Por otra parte, confirmamos que estamos frente a una máquina Linux basandonos en el TTL (Time To Live) 64.

Enumeración

Enumeración de versión y servicio

Lanzamos una serie de script básicos de enumeración propios de nmap, para conocer la versión y servicio que esta corriendo bajo los puertos abiertos.

nmap -sS -p- --open --min-rate 5000 172.17.0.2 -n -Pn -oG scanPorts -vvv

Enumeración de versión y servicio

Lanzamos una serie de script básicos de enumeración propios de nmap, para conocer la versión y servicio que esta corriendo bajo los puertos abiertos.

nmap -sCV -p22,80,139,445 172.17.0.2 -oN targeted -vvv

Explotación

Enumeramos los recursos compartidos con la herramienta smbmap con el usuario guest.

Podemos observar que no tenemos acceso a ninguno de los recursos compartidos.

Web

Si ingresamos a la web que esta corriendo bajo el puerto 80, nos encontramos con el siguiente panel de autenticación.

Probamos credenciales por defecto, pero nada.

Pero sin embargo, si probamos con una simple inyección SQL tenemos exito: ' OR 1=1-- -

Logramos Ganar acceso como el usuario Dylan.

Aunque tengamos aceso al panel, podemos seguir enumerando la base de datos mediante la inyección SQL.

Determinación de la cantidad de campos devueltos en la consulta.

En primer lugar, debemos conocer cuantos resultados (columnas) esta devolviendo la consulta SQL. Para ello, podemos utilzar la clausula de SQL, ORDER BY.

Probamos primer con un valor de 10, pero obtenemos el siguiente mensaje:

' ORDER BY 10-- -

Probamos con un valor de 7 columnas, pero vemos que el error persiste.

' ORDER BY 7-- -

Continuamos probando, hasta descubrir que la cantidad de campos devuelta por la consulta es de 2, ya que el mensaje de error cambia indicando que las credenciales no son validas.

' ORDER BY 2-- -

Obtenemos las bases de datos

Teniendo en cuenta cuantos campos son, toca conocer las base de datos disponibles. Para trabajar de forma más comoda, vamos a intereceptar la petición con Burp Suite y posteriormente enviarla al Repeater.

Para concer las base de datos, utilizaremos el siguiente payload.

' UNION SELECT 1, SLEEP(2)-- -

Última actualización