Post2 n

Sqlmap Parte 1: Automatizando Inyección SQL


Perfil
Samuel Esteban


Sqlmap es una poderosa herramienta la cual permite automatizar la vulnerabilidad de Inyección SQL. Cuando se realiza un Pentesting, es importante automatizar ciertas actividades para que la carga de trabajo no sea tan extensa. Si el Pentester encuentra una Inyección SQL en el aplicativo web que está auditando, es importante en primer lugar que verifique que no sea un falso positivo, para ello debe realizar un análisis manual (el cuál veremos en otro post), sin embargo Sqlmap acelera este proceso. (El análisis manual es siempre recomendado por que así es posible generar una menor cantidad de peticiones hacia el servidor web objetivo).


En esta primera etapa se verán conceptos básicos orientados hacia la herramienta Sqlmap, de tal manera que se podrá visualizar en concreto el correcto funcionamiento de esta poderosa herramienta.

Se tiene el siguiente sitio web:

             Sitio Web a auditar

Para buscar una Inyección SQL siempre se  deben buscar los inputs del aplicativo (ejemplo: php?id=, php?seccion=,aspx?id=, etc), en este aplicativo web es posible encontrar una gran cantidad de inputs.

                                   Input del Sitio Web

Este aplicativo posee un input llamado cat.php?id=, al colocar una comilla simple ( ‘ ), es posible visualizar lo siguiente:

        Inyección Sql presente en el Sitio Web

Al añadir una comilla simple en la query es posible visualizar que se produce un error de Inyección SQL. La Inyección SQL se presenta principalmente en este caso, porque al colocar la comilla simple nos devuelve un mensaje de error SQL. Otra cosa importante para considerar es que a través del error, además se indica que se  está trabajando sobre el motor de base de datos Mysql. Es importante mencionar que en esta etapa solo veremos la automatización de una Inyección SQL, más adelante se explicará en detalle cómo realizar este proceso de forma manual.

Ahora se utilizará la herramienta Sqlmap para acelerar el proceso de inyección.

                                  Estructura de Sqlmap

A través de la distribución de Kali Linux es posible encontrar esta herramienta instalada por defecto, si no posees esta distribución, puedes descargar Sqlmap de su repositorio oficial.

Si deseas utilizar Sqlmap en Windows es importante que descargar Python para poder utilizar esta herramienta.

Posteriormente iniciamos el ataque hacia nuestro objetivo:

                  Automatizando ataque con Sqlmap

Los parámetros necesarios y/o recomendados para realizar el ataque son los siguientes:

                          Algunos comandos de Sqlmap

Base de datos conectada al Sistema

Se detectó la base de datos conectada al sistema (photoblog), posteriormente se empezó a extraer las tablas de la base de datos encontrada.

 Tablas de la base de datos

Las tablas detectadas en el sistema fueron las siguientes:

  • categories

  • pictures

  • users

La tabla que nos interesa es la tabla de usuarios (users), ahora se realizará un dump a la tabla en cuestión.
  

     Dump de tabla users 1

               Dump de tabla users 2

Como se puede observar en la imagen anterior, se realizó un dump sobre la tabla users y se logró obtener las credenciales del sistema. Otra particularidad de Sqlmap, es que posee un diccionario por defecto para poder realizar un ataque de fuerza bruta al hash detectado, también es posible especificarle un diccionario a elección para poder intentar realizar el cracking del hash.

Si deseas practicar con el sitio web que fue utilizado para este laboratorio, te lo compartimos a continuación:

 



Artículos que te pueden interesar