SQLmap (Funcionalidad - Parte 2)

En primer lugar sqlmap tiene que recibir una URL donde haya una serie de campos que va a identificar automaticamente como puntos de injeccion o podemos pasarle una peticion que hayamos interceptado con Burp Suite y que a nivel personal me parece la mejor opcion.

Por ejemplo, abriendo Burp Suite, llendonod en la pagina de Mutillidae en la seccion de SQL Injection - Bypass Login vamos a poner un usuario y contraseña, pero antes de darle a enviar ponemos a Burp Suite a la escucha, por lo que una vez que este a la escucha le damos a enviar para que nos capture la peticion:

Y una vez que tengamos esta peticion la vamos a guardar en un fichero de la siguinte forma, seleccionaremos todo -> le daremos click derecho -> Copy to File -> seleccionamos donde queremos guardar el archivo -> ponemos como nombre algo como request.burp.txt -> Save

Y si todo ha ido bien veremos que nos creo el archivo el cual le pasaremos a sqlmap con toda esa captura para que nos haga la injeccion.

Por lo que pondremos lo siguiente:

Esto se pondra a testear, nos preguntara de primeras si queremos seguir la redireccion que hace la pagina de mutillidae a la home de cuando se logea, pero le pondremos una n por que queremos que se quede en ese panel para que compruebe si es vulnerable.

Y ya es ir siguiendo las preguntas que te va haciendo para ir testeando ese campo que estamos intentando ver si es vulnerable o no.

Vemos que nos informa de que el parametro username es vulnerable.

Ahora que sabemos que ese parametro es vulnerable, podremos aprivechar eso para obtener informacion, si por ejemplo queremos hacer lo que estabamos haciendo antes para saber el usuario que esta dentras en la base de datos haciendo las consultas, podremos hacerlo de la siguiente forma:

Con el parametro --ignore-redirects estamos diciendo que no nos redireccione a ningun sitio, para no tener que estar metiendo las respuestas.

Con el parametro --technique B estamos especificando el tipo de tecnica que queremos que utilice, en nuestro caso la B se asocia a un Blind SQL Injection.

Con el parametro -p username indicamos que sea en el parametro username donde queremos que realice la injeccion.

Con el parametro --current-user le decimos que nos saque el usuario actual de la base de datos.

Y con esto, vemos que mediante esta consulta diseo' AND 9177=9177 AND 'rqfz'='rqfz nos ha sacado root@localhost.

Ahora sabiendo el usuario, lo que podemos hacer es sacar la contraseña de este usuario de la siguiente forma:

Le añadimos el --batch para que se ponga de forma automatica las preguntas que nos haga sqlmap.

Vemos que nos ha sacado el hash de la contraseña de root, despues ha intentado mediante fuerza bruta crackear el hash pero no lo ha conseguido, por lo que nosotros de forma independiente deberiamos de intentar crackearlo.

Si nosotros intentamos crackearla, veremos lo siguiente:

Info:

Vemos que la contraseña es mutillidae.

Para poder sacar el nombre de la base de datos, se podria hacer de la siguiente forma:

Con el parametro --dbs lo que estamos haciendo es que nos saque el nombre de las bases de datos de mysql

Con el parametro -v 3 establecemos un nivel 3 de verbose para que nos muestre mas informacion de lo que esta realizando.

Y por lo que vemos nos ha sacados todas las bases de datos:

Ahora para descubrir las tablas de esa base de datos mutillidae, podremos hacer lo siguiente:

Con el parametro -D especificamos la base de datos donde queremos que nos dumpee las tablas de la misma.

Con esto veremos que nos saca las tablas de la base de datos de mutillidae.

Si nosotros queremos sacar las columnas de una de las tablas descubiertas como por ejemplo accounts:

Con el parametro -T especificamos la tabla la cual queremos dumpear la informacion solicitada.

Y con esto nos sacara las columnas de la tabla accounts.

Last updated