🧠 Enumeración Avanzada de Bases de Datos con SQLMap
Técnicas avanzadas de enumeración para analizar la estructura completa de la base de datos, buscar información sensible y extraer/crackear contraseñas usando SQLMap.
🎯 ¿Cuándo usar Enumeración Avanzada?
Una vez que ya sabes:
-
✔️ Qué DBMS se usa
-
✔️ Qué base de datos es vulnerable
-
✔️ Qué tablas existen
La enumeración avanzada te permite:
-
🗺️ Entender la arquitectura completa de la BD
-
🔎 Buscar tablas/columnas interesantes rápidamente
-
🔐 Localizar y crackear contraseñas
-
👥 Obtener credenciales internas del DBMS
👉 Es la fase donde optimizar tiempo y buscar datos críticos.
🗂️ Enumeración del Esquema de la Base de Datos ( --schema )
--schema?Muestra la estructura completa de las bases de datos:
-
Tablas
-
Columnas
-
Tipos de datos
🛠️ Comando
sqlmap -u "http://<IP>:PUERTO/?id=1" --schema
🧠 ¿Por qué es importante?
-
Te da una vista global del objetivo
-
Permite detectar:
-
Campos
password -
Campos
hash -
Datos sensibles (
email,cc,token, etc.)
-
-
Evita dumpear tablas innecesarias
📊 Ejemplo de salida

👉 Ya sabes qué columnas atacar antes de dumpear.
🔎 Búsqueda de Datos ( --search )
Cuando hay muchas tablas y columnas, buscar manualmente es lento.
SQLMap permite buscar por nombre usando LIKE.
🔍 Buscar tablas ( -T )
sqlmap -u "http://<IP>:PUERTO/?id=1" --search -T user
📊 Resultado típico
Database: testdb | users | Database: mysql | user |
👉 Ya sabes dónde mirar primero.
🔤 Buscar columnas ( -C )
sqlmap -u "http://<IP>:PUERTO/?id=1" --search -C pass
📊 Resultado típico

👉 Objetivo claro: esa tabla debe ser dumpeada.
🔐 Enumeración y Crackeo de Contraseñas (Tablas)
Una vez identificada una tabla con contraseñas:
🛠️ Dump de tabla con hashes
sqlmap -u "http://<IP>:PUERTO/?id=1" --dump -D master -T users
🧠 ¿Qué hace SQLMap automáticamente?
-
Detecta formatos de hash conocidos
-
Pregunta si deseas:
-
Guardarlos
-
Crackearlos
-
-
Inicia ataque de diccionario
🔓 Crackeo automático
-
+31 algoritmos de hash
-
Diccionario interno (~1.4M palabras)
-
Multiprocesamiento (usa todos los cores)
Ejemplo real:
[INFO] cracked password '05adrian' [INFO] cracked password '1201Hunt'
👉 Si el password no es aleatorio, hay altas probabilidades de éxito.
📊 Resultado final

Este proceso solo debe realizarse:
-
En laboratorios
-
En entornos autorizados
-
En pentesting legal
👥 Enumeración de Usuarios del DBMS ( --passwords )
Además de tablas normales, SQLMap puede atacar tablas internas del sistema.
🛠️ Comando
sqlmap -u "http://<IP>:PUERTO/?id=1" --passwords --batch
🧠 ¿Qué obtiene?
-
Usuarios internos del DBMS
-
Hashes de contraseñas
-
Posibilidad de crackeo automático
📊 Ejemplo de salida
User: root Hash: *00E247AC5F9AF26AE0194B41E1E769DEE1429A29 Clear-text password: testpass
👉 Credenciales internas = alto impacto.
⚡ Enumeración Total ( --all )
🛠️ Comando
- [ ] qlmap -u "http://<IP>:PUERTO/?id=1" --all --batch
🧠 ¿Qué hace?
-
Ejecuta TODAS las fases:
-
Enumeración básica
-
Esquema
-
Tablas
-
Columnas
-
Usuarios
-
Contraseñas
-
-
Puede tardar mucho tiempo
-
Genera gran cantidad de output
👉 Útil solo si:
-
No sabes qué buscar
-
El entorno lo permite
🎯 Conclusión
-
--schema→ mapa completo de la BD -
--search→ localiza objetivos rápidamente -
SQLMap puede crackear hashes automáticamente
-
--passwords→ credenciales internas del DBMS -
--all→ todo, pero con ruido y tiempo