martes, 16 de octubre de 2012

SQL Injection desde BurpSuite con SQLmap Burp Plugin





INTRODUCCIÓN:

Burp Suite es una herramienta que nos permite realizar pruebas de seguridad en las aplicaciones web. Sus diversas herramientas funcionan perfectamente la cual apoya mucho en el proceso de prueba de penetración  a partir de la cartografía y el análisis inicial de la superficie de ataque de una aplicación, hasta la búsqueda y explotación de las vulnerabilidades.

Muchas veces cuando se realiza auditoria a un sitio web, siempre es recomendable colocar un proxy intermedio para saber y tener el control total de las peticiones enviadas y recibidas, para ello se debe utilizar Burp Suite.

También es de conocimiento que en estas auditorias, la vulnerabilidad mas conocida que se puede presentar es la SQL Injection.

Para tal caso, en esta entrada presentare un Plugin totalmente gratuito desarrollado por ggdaniel que nos servirá para usar el SQLmap desde el Burp Suite de una forma fácil y eficaz.


¿QUE ES SQLMAP?

Sqlmap es una herramienta de código abierto que ayuda a automatizar el proceso de detectar y explotar las vulnerabilidades de inyección SQL permitiendo tener acceso total a la base de datos de los servidores web.


¿QUE ES SQLMAP BURP PLUGIN?

Sqlmap plug-in es un complemento del que podemos configurar al Burp Suite a través del cual podemos redirigir un URL o una solicitud directamente al Sqlmap con un solo clic.


¿COMO CARGAMOS EL PLUGIN AL BURP SUITE?

Muy fácil, lo primero que tenemos que hacer es descargar dicho plugin desde el siguiente link: http://code.google.com/p/gason/downloads/list recomiendo descargar (burpplugins-0.9.3.zip), luego descomprimir los archivos y colocarlos en la misma carpeta donde se ubica el Burp Suite (Pentest - Web - burpsuite)

Seguidamente, ejecutamos el comando para ejecutar Burp Suite junto con el plugin respectivo.

Linux:
  • java -classpath burpplugins.jar:burpsuite_v1.4.01.jar burp.StartBurp
Windows:
  • java -classpath burpsuite_v1.4.01.jar;burpplugins.jar burp.StartBurp


CONFIGURACIÓN DEL PROXY:

Firefox:
  • Edit - Preferences - Advanced - Network - Settings - Manual Proxy Configuration
Google Chorme:
  • Settings - Show Advanced Options - Network - Change Proxy Settings - Connections - LAN Settings

La configuración del proxy es necesario para realizar este método  ya que necesitamos que el navegador envié las peticiones al Burp Suite.


¿COMO UTILIZAMOS EL PLUGIN?

Una vez que hemos ejecutado el Burp Suite junto al Plugin, es muy fácil hacer uso de la misma, simplemente hacemos clic derecho sobre los parámetros de la petición  la cual se podrá apreciar la opción "Send to Sqlmap" como se muestra en la siguiente imagen:



Si clickeamos en dicha opción, se abrirá una nueva ventana (SQLMap wrapper) que permitirá configurar Sqlmap.



Se muestra la visión general de las características de configuración, en la opción "Target" se especifica la URL que vamos a probar (normalmente se llenará por defecto ya que se ha enviado previamente los parámetros de la petición).

Especificamos el método en el que el dominio es accesible (GET/POST), luego en el "Bin-path" buscamos la ubicación del Sqlmap y cargamos el archivo sqlmap.py

En "Custom options" se puede seleccionar las opciones que la herramienta ejecutara, por ejemplo podemos enumerar los database users, passwords, roles, privileges, databases, etc. Por defecto se encuentra en "Auto" la cual significa que la herramienta tratara de enumerar todas las opciones que aparecen en la lista.


Una vez configurado el Sqlmap, hacemos clic en "Run" y se abrirá una nueva pestaña con la ejecución  de la configuración, como se aprecia en la siguiente imagen:



Se puede observar que el sitio web es vulnerable, por lo tanto es accesible la base de datos.

Ahora vamos a tratar de enumerar todas las tablas de la bases de datos "intranet", para ello configure el Sqlmap wrapper con la opción "Enumerate database tables" la cual devuelve los resultados siguientes:




Seguidamente enumeramos la tabla "dbo.BusquedaWeb" para obtener sus columnas, para ello seleccionamos la opción  "Enumerate database tables and columns" devolviendo el siguiente resultado:



Como ya tenemos los datos de la base de datos, tablas y columnas, procederemos a darle Dump para obtener los resultados finales, para ello usaremos la opcion "Dump DBMS database" recibiendo los últimos resultados como se aprecia en la imagen siguiente:



Después de obtener los datos que "deseamos" podemos guardar el contenido de la información obtenida, para ello seleccionamos en la opción "Save to file" la cual se guardara en un archivo de texto.



Como ven, auditar un sitio web desde BurpSuite con este plugin es muy cómodo y eficaz, la cual nos ayuda mucho en este proceso tan tedioso que suele ser el Test de Penetración.

VIDEO-TUTORIAL:


Espero les sirva.

Saludos.

2 comentarios: