Pages

Ads 468x60px

jueves, 16 de abril de 2015

Hacking desde 0. Hoy SQLmap







Seguro que todos ya sabéis lo que es el lenguaje SQL e incluso lo que es una inyección SQL (o SQLi). Bien pues hoy vamos a tener una primera toma de contacto con el programa SQLmap

SQLmap es una de las herramientas mas famosas en la automatización de inyecciones SQL. Viene incluido en todas las distribuciones de seguridad, y si no es así, la puedes descargar e instalarla hasta en Windows. Si te dedicas al pentesting o te gusta la seguridad, seguro que ya la usas. 

Os dejo una lista de dorks de SQLi para que podáis investigar (ojo a lo que hacéis que puede ser delito

Bueno, vamos al lío. Supongamos que ya tenemos una web que sabemos que es vulnerable. Los comandos básicos son:


     sqlmap -u www.webvulnerable.com/section.php?id=51 --dbs

El -u es para insertar la URL vulnerable y el --dbs para sacar las bases de datos.

Os recomiendo que no lo hagáis "a pelo" deberíais usar un proxy, si no sabes como, te recomiendo que leas esto.






Como podemos ver en la segunda imagen, ha encontrado las bases de datos.

Ahora pondremos lo siguiente

     sqlmap -u www.webvulnerable.com/section.php?id=51 -D d_base --tables

El modificador -D es para poner el nombre de la base de datos y el --tables para sacar las tablas que están en las bases de datos.





De nuevo en la segunda imagen vemos las tablas que ha conseguido sacar de la base de datos tienda.

Vamos a seguir a ver que contiene la tabla administrators. Volvemos a usar 

     sqlmap -u www.webvulnerable.com/section.php?id=51 -D d_base --tables -T table --            columns

Usamos el -T para especificar que tabla usaremos y el --columns para sacar las columnas.





Bien, ya tenemos las columnas y los tipos de datos que hay en ellas. Vamos a ver que más hay con

     sqlmap -u www.webvulnerable.com/section.php?id=51 -D d_base --tables -T table -C            "data1, data2" --dump

El modificador -C lo usamos para poner el nombre de la columna y --dump para obtener los datos. En el caso de querer volcar a la vez dos de las columnas (en mi caso user_name y user_password) lo "concatenamos" con una coma (,) y lo metemos entre comillas (" ").





Si nos fijamos en la segunda imagen vemos que nos pregunta si queremos intentar crackear las passwords con un ataque basado en diccionario. Después nos pregunta por el diccionario que queremos usar, si el que tiene por defecto, uno customizado o un archivo con la lista de diccionarios. Nos pregunta si queremos usar sufijos comunes de contraseñas.
También podemos ver que nos dice que no ha encontrado contraseñas "claras". Eso es porque yo he parado el proceso.

Podríamos utilizar otros diccionarios o modificar el que ya viene de serie en caso de no encontrar la clave. 

En caso de que estés haciendo una auditoria, ya podrías enviarle el reporte al cliente. Tienes un Script para hacerlo y que te saca el resultado en HTML aquí.

Esto solo es una muestra muy básica de lo que hace el programa. Te recomiendo que leas al respecto ya que es un buen programa que te puede ayudar en tus auditorias.

Os quiero dejar también un Cheatsheet que se curraron los compañeros de SecurityByDefault.



Sacado de la web Security By Default

*Durante este laboratorio, ninguna base de datos sufrió ningún daño.


Roberto García (@1GbDeInfo)


Creative Commons Licence
1Gb De informacion by Roberto García Amoriz is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Based on a work at http://www.1gbdeinformacion.com/.
Permissions beyond the scope of this license may be available at http://www.1gbdeinformacion.com/.

Perfil profesional en Linkedin

 
Blogger Templates