Shutterstock 1085444453

Sqlmap - ejemplo con metasploitable2


Charly face
Martin Frias

Hola, soy Martin Frias y en esta vez hablaré un poco sobre Sqlmap, Sqlmap es una herramienta que permite automatizar las inyecciones sql. La inyección sql es una vulnerabilidad que nos permite la inyección de código sql para que pueda ser ejecutado e interpretado y así obtener información de la base de datos, información a la que normalmente no deberíamos tener acceso, yo recomiendo fuertemente aprender lenguaje sql, para poder saber hacer inyecciones slq de forma manual, de manera que  si vas a usar herramientas automatizadas como sqlmap, por ejemplo, que sea por ahorrar algo de tiempo, porque siempre es mejor saber qué está haciendo un herramienta por detrás, no solo escribir un comando y no saber exactamente qué acabamos de hacer.


A efectos prácticos usare dos máquinas virtuales, Kali y Metasploitable (la victima), sobra decir que cualquiera de estas prácticas si se hacen a aplicaciones web de las cuales no tienes autorización para hacerlo, es un delito.


Una vez iniciadas las dos máquinas, en el navegador dentro de Kali, y escribimos la ip de metasploitable para acceder al servidor web, y vamos a DVWA:

 

DVWA es una aplicación web muy vulnerable que sirve para practicas y probar habilidades de seguridad.

 

Una vez dentro de ella, accederemos con el usuario “admin” y la contraseña “password” y una vez dentro, a efectos de esta práctica que es a nivel muy básico, vamos a “DVWA Security” y ponemos la dificultad en baja (low):

 

Ahora vamos a Setup y daremos click al botón que pone “créate / reset database”, para crear la base de datos en cuestión:

 

Ahora vamos al apartado SQL Injection:

 

Tenemos un campo de entrada, que nos pide un “User ID” probemos escribir el número 1:

Nos arrojó que el usuario con ID 1 es admin.

 

Ahora probemos simplemente poner una comilla simple:

Y nos arroja un error de sintaxis, esto es un indicio de que esta web puede ser vulnerable a sqli.

 

Bien, ahora usaremos sqlmap, primero podemos empezar con un comando sencillo, como puede ser este:

La bandera -u es para especificar la url.

La bandera –dbs es para que nos liste las bases de datos.

La bandera –user-agent es para asignar un user agent, en este caso asignamos “Opera”, esto lo hacemos porque sqlmap envia información sobre el user agent que se queda grabado en un log de la web y que por ejemplo, un administrador de esa web puede ver y saber que se esta haciendo una sqli.

 

Al ejecutarlo nos dice que ha habido una redirección 302 a /dvwa/login.php:

 

Y esto es porque, si recuerdas para poder acceder a DVWA tuvimos que logearnos, por bueno, sqlmap necesita también de cierta forma “acceder” a DVWA para poder probar las inyecciones sql dentro, para ello debemos pasarles las cookies, esto se puede conseguir de varias maneras, puede ser por un XSS en la misma web, con “inspeccionar elemento” y luego ir a “almacenamiento”, con una extensión del navegador, etc. En este caso usaremos una extensión para Firefox llamada “Cookie Quick Manager”:

 

Volvemos a DVWA y damos click en la extensión y buscamos las cookies dentro del sitio:

 

Y ya las tenemos:

 

Ahora debemos usarlas con sqlmap, para ello usaremos la bandera –cookie, que con los datos obtenidos quedaría así:

 

--cookie=”security:low; PHPSESSID:a5db8aecb658e583cf8cd059365c11a1”

 

ahora unamos esta bandera al comando que teníamos antes de sqlmap:

 

Damos enter y vemos que nos arroja las bases de datos que encontró: