## https://sploitus.com/exploit?id=B0BA8C7E-F129-56A6-85C7-C1DC7D6E89AA
# SQLMAP GUI — Manual de Usuario
**Versión:** 1.0.0
**Plataforma:** Windows 10/11 x64
**Autor:** KONDOR DEV SECURITY — https://t.me/KONDORDEVSECURITY
---
## Vista previa

---
## Contenido del paquete
```
SqlmapGUI.exe ← Ejecutable principal (no requiere instalación)
sqlmapproject-sqlmap-c310c69/ ← Motor sqlmap (Python)
README.md ← Este archivo
```
---
## Requisitos previos
| Requisito | Cómo verificar |
|---|---|
| Windows 10/11 x64 | — |
| Python 3.8 o superior | `python --version` en CMD |
| Python en el PATH del sistema | `where python` en CMD |
### Instalar Python (si no lo tienes)
1. Descarga desde https://www.python.org/downloads/
2. Durante la instalación marca **"Add Python to PATH"**
3. Verifica: abre CMD y escribe `python --version`
---
## Inicio rápido
1. Extrae la carpeta completa en cualquier ubicación
2. Ejecuta **SqlmapGUI.exe** (doble clic)
3. En la pestaña **Target** escribe la URL a analizar
4. Haz clic en **▶ INICIAR**
> La primera ejecución puede tardar unos segundos mientras Windows verifica el ejecutable.
---
## Interfaz de usuario
La ventana se divide en dos zonas principales:
- **Panel izquierdo** — 7 pestañas de configuración
- **Panel derecho** — tabla de resultados + consola de salida
### Barra de título
| Elemento | Descripción |
|---|---|
| TOTAL | Número de escaneos realizados |
| VULN | Escaneos con inyección SQL encontrada (rojo) |
| SEGURO | Escaneos sin vulnerabilidades (verde) |
| ERRORES | Escaneos con error de ejecución (naranja) |
Puedes arrastrar la ventana desde la barra de título. Doble clic para maximizar/restaurar.
---
## Pestañas de configuración
### Target — Objetivo del escaneo
| Campo | Descripción | Ejemplo |
|---|---|---|
| URL Objetivo | URL con parámetros a testear | `http://ejemplo.com/page.php?id=1` |
| Conexión Directa | Conexión directa al DBMS | `mysql://user:pass@192.168.1.1/db` |
| Archivo de Request | Petición HTTP capturada (Burp Suite) | `C:\requests\login.txt` |
| Archivo Bulk | Archivo con múltiples URLs (una por línea) | `C:\targets\urls.txt` |
| Google Dork | Expresión para buscar objetivos en Google | `inurl:"id=" site:ejemplo.com` |
**Botones:**
- **▶ INICIAR** — Lanza el escaneo con la configuración actual
- **■ DETENER** — Cancela el escaneo en curso inmediatamente
---
### Request — Configuración de peticiones HTTP
| Campo | Descripción |
|---|---|
| Método HTTP | Fuerza el método: GET, POST, PUT, DELETE, PATCH |
| Data (POST) | Datos del cuerpo POST, ej: `user=admin&pass=1234` |
| Cookie | Valor de la cabecera Cookie para sesiones autenticadas |
| User-Agent | Cabecera User-Agent personalizada |
| Random Agent | Selecciona un User-Agent aleatorio en cada petición |
| Proxy | Ruta del proxy, ej: `http://127.0.0.1:8080` (compatible con Burp) |
| Delay | Segundos de espera entre peticiones (0–10) |
| Timeout | Segundos antes de considerar timeout (10–60) |
| Threads | Peticiones concurrentes (1–10, solo para técnicas ciegas) |
| Force SSL | Fuerza HTTPS aunque la URL use HTTP |
| Tor | Enruta el tráfico por la red Tor (requiere Tor instalado) |
---
### Injection — Parámetros de inyección
| Campo | Descripción |
|---|---|
| Parámetro de Prueba | Parámetro específico a testear, ej: `id` o `id,user` |
| DBMS | Fuerza el tipo de base de datos (evita detección automática) |
| Sistema Operativo | Fuerza el SO del servidor (`linux` o `windows`) |
| Prefix | Prefijo añadido al payload, ej: `)` |
| Suffix | Sufijo añadido al payload, ej: `--` |
| Tamper Script | Script de ofuscación del payload (ver lista más abajo) |
| Level | Profundidad de pruebas: 1 (rápido) → 5 (exhaustivo) |
| Risk | Agresividad: 1 (seguro) → 3 (puede modificar datos) |
**Técnicas de inyección (se pueden combinar):**
| Letra | Técnica | Descripción |
|---|---|---|
| B | Boolean-based blind | Inferencia por respuestas verdadero/falso |
| E | Error-based | Extracción mediante mensajes de error del DBMS |
| U | UNION query | Inyección mediante cláusula UNION |
| S | Stacked queries | Múltiples consultas separadas por `;` |
| T | Time-based blind | Inferencia por tiempo de respuesta (SLEEP) |
| Q | Inline queries | Subconsultas inline |
Por defecto se usan todas (BEUSTQ). Desmarca las que no necesites para acelerar el escaneo.
---
### Detection — Detección de respuestas
Útil cuando la página cambia dinámicamente y sqlmap no puede detectar diferencias automáticamente.
| Campo | Descripción |
|---|---|
| String Match | Texto presente en la respuesta cuando la condición es TRUE |
| Not String | Texto presente cuando la condición es FALSE |
| Regexp | Expresión regular para detectar TRUE |
| Smart | Solo hace pruebas exhaustivas si la heurística inicial es positiva |
| Text Only | Compara solo el texto visible, ignora HTML |
| Titles | Compara solo el título `` de la página |
---
### Enumeration — Extracción de datos
Una vez confirmada la vulnerabilidad, extrae información:
**Información del servidor:**
- **Banner** — Versión del DBMS (ej: `MySQL 8.0.32`)
- **Current User** — Usuario de la base de datos actual
- **Current DB** — Base de datos en uso
- **Hostname** — Nombre del servidor
- **Is DBA** — Verifica si el usuario tiene privilegios de administrador
**Usuarios y privilegios:**
- **Users** — Lista todos los usuarios del DBMS
- **Password Hashes** — Hashes de contraseñas (intenta crackearlos)
- **Privileges** — Privilegios de cada usuario
- **Roles** — Roles asignados (Oracle/MSSQL)
**Estructura de base de datos:**
- **Databases** — Lista todas las bases de datos
- **Tables** — Lista tablas (especifica la DB en el campo "Base de Datos")
- **Columns** — Lista columnas (especifica DB y Tabla)
- **Schema** — Esquema completo de todas las bases de datos
- **Dump Table** — Vuelca el contenido de una tabla
- **Dump All** — Vuelca todas las tablas de todas las bases de datos
- **Search** — Busca por nombre en bases de datos, tablas o columnas
**Filtros:**
- **Base de Datos** — Limita a una DB específica (`-D`)
- **Tabla** — Limita a una tabla específica (`-T`)
- **Columna** — Limita a una columna específica (`-C`)
- **SQL Query** — Ejecuta una consulta SQL personalizada
---
### Takeover — Post-explotación
> ⚠️ Requiere privilegios elevados en el DBMS. Solo para entornos autorizados.
**Ejecución de comandos OS:**
- **Comando OS** — Ejecuta un comando del sistema operativo y muestra el resultado
- **OS Shell** — Abre una shell interactiva del sistema operativo
- **OS Pwn** — Establece una sesión Meterpreter/VNC (requiere Metasploit)
**Sistema de archivos:**
- **Leer Archivo** — Lee un archivo del servidor, ej: `/etc/passwd` o `C:\Windows\win.ini`
- **Escribir Archivo** — Ruta local del archivo a subir al servidor
- **Destino en Servidor** — Ruta absoluta donde se escribirá el archivo
**Fuerza bruta:**
- **Common Tables** — Prueba nombres de tablas comunes (users, admin, passwords...)
- **Common Columns** — Prueba nombres de columnas comunes
---
### General — Configuración avanzada
| Campo | Descripción |
|---|---|
| Batch | Sin interacción: responde automáticamente a todas las preguntas (recomendado) |
| Forms | Detecta y testea formularios HTML en la URL objetivo |
| Flush Session | Borra la sesión guardada y empieza desde cero |
| Fresh Queries | Ignora el caché de consultas anteriores |
| Parse Errors | Muestra los mensajes de error del DBMS en la consola |
| Hex Convert | Usa conversión hexadecimal para recuperar datos |
| ETA | Muestra el tiempo estimado de finalización |
| Crawl Depth | Rastrea la web hasta N niveles de profundidad (0 = desactivado) |
| Verbose | Nivel de detalle en la consola (0=mínimo, 6=máximo con HTTP completo) |
| Directorio de Salida | Carpeta donde sqlmap guarda los resultados (por defecto: `output/`) |
| Formato de Dump | Formato de los datos volcados: CSV, HTML o SQLITE |
| Skip WAF | Omite la detección de WAF/IPS |
| Skip Heuristics | Omite las heurísticas de detección rápida |
**Botones de acción:**
- **⬇ EXPORTAR CSV** — Guarda la tabla de resultados en un archivo CSV
- **✕ LIMPIAR RESULTADOS** — Limpia la tabla y la consola
---
## Panel derecho
### Tabla de resultados
Muestra todos los escaneos con su estado en tiempo real:
| Color | Estado | Significado |
|---|---|---|
| 🔴 Rojo | VULNERABLE | Se encontró inyección SQL |
| 🟢 Verde | SEGURO | No se detectaron vulnerabilidades |
| 🟡 Amarillo | EJECUTANDO | Escaneo en progreso |
| ⚫ Gris | ERROR | Error durante la ejecución |
| ⚫ Oscuro | DETENIDO | Cancelado manualmente |
Haz clic en una fila para ver su salida en la consola inferior.
### Console Output
Muestra la salida completa de sqlmap en tiempo real. Incluye:
- Payloads probados (con verbose ≥ 3)
- Vulnerabilidades encontradas
- Datos extraídos
- Errores y advertencias
### Command Preview
Muestra el comando exacto que se ejecutará. Útil para:
- Verificar los parámetros antes de lanzar
- Copiar y ejecutar manualmente en terminal
- Aprender la sintaxis de sqlmap
---
## Scripts Tamper — Evasión de WAF
Los tamper scripts ofuscan el payload para evadir firewalls y sistemas de detección:
| Script | Uso recomendado |
|---|---|
| `space2comment` | Reemplaza espacios con `/**/` — evasión básica de WAF |
| `randomcase` | Aleatoriza mayúsculas: `SeLeCt` — evasión de filtros de palabras clave |
| `base64encode` | Codifica el payload en Base64 |
| `charencode` | URL-encoding de caracteres especiales |
| `between` | Reemplaza `>` con `NOT BETWEEN 0 AND #` |
| `equaltolike` | Reemplaza `=` con `LIKE` |
| `multiplespaces` | Añade espacios múltiples entre keywords |
| `uppercase` | Convierte keywords a mayúsculas |
| `lowercase` | Convierte keywords a minúsculas |
| `hexentities` | Codifica caracteres como entidades hexadecimales HTML |
| `xforwardedfor` | Añade cabecera `X-Forwarded-For` falsa |
| `versionedkeywords` | Envuelve keywords en comentarios versionados MySQL: `/*!SELECT*/` |
Para usar múltiples tampers: escríbelos separados por coma, ej: `space2comment,randomcase`
---
## Ejemplos de uso
### 1. Detección básica de inyección SQL
```
URL Objetivo: http://testphp.vulnweb.com/artists.php?artist=1
Batch: ✓ (activado)
Level: 1
Risk: 1
→ Clic en ▶ INICIAR
```
### 2. Escaneo con sesión autenticada
```
URL Objetivo: http://ejemplo.com/perfil.php?id=5
Cookie: PHPSESSID=abc123def456; token=xyz789
Batch: ✓
→ Clic en ▶ INICIAR
```
### 3. Petición POST (formulario de login)
```
URL Objetivo: http://ejemplo.com/login.php
Método HTTP: POST
Data (POST): username=admin&password=test&submit=1
Parámetro: username
→ Clic en ▶ INICIAR
```
### 4. Extraer todas las bases de datos
```
URL Objetivo: http://vulnerable.com/page.php?id=1
Databases: ✓ (activado en pestaña Enumeration)
Batch: ✓
→ Clic en ▶ INICIAR
```
### 5. Volcar tabla de usuarios
```
URL Objetivo: http://vulnerable.com/page.php?id=1
Dump Table: ✓
Base de Datos: testdb
Tabla: users
Batch: ✓
→ Clic en ▶ INICIAR
```
### 6. Leer archivo del servidor
```
URL Objetivo: http://vulnerable.com/page.php?id=1
Leer Archivo: /etc/passwd
Batch: ✓
→ Clic en ▶ INICIAR
```
### 7. Evadir WAF con tamper
```
URL Objetivo: http://protegido.com/search.php?q=test
Tamper Script: space2comment,randomcase
Skip WAF: ✓
Level: 3
Risk: 2
→ Clic en ▶ INICIAR
```
### 8. Escaneo a través de Burp Suite
```
Proxy: http://127.0.0.1:8080
URL Objetivo: http://objetivo.com/api?id=1
→ Clic en ▶ INICIAR
(El tráfico pasará por Burp para inspección)
```
---
## Solución de problemas
### La app no abre / error de Windows
- Haz clic derecho en `SqlmapGUI.exe` → **Propiedades** → **Desbloquear**
- Ejecuta como administrador si hay problemas de permisos
### "python no encontrado" en la consola
```cmd
# Verifica que Python está en el PATH:
python --version
# Si no funciona, busca la ruta completa:
where python
# Ejemplo: C:\Python312\python.exe
```
Edita `SqlmapGUI.exe` → pestaña General → campo Python Exe con la ruta completa.
### El escaneo termina inmediatamente sin resultados
- Verifica que la URL tiene parámetros: `?id=1`, `?page=2`, etc.
- Activa **Batch** para evitar que sqlmap espere input
- Aumenta **Verbose** a 3 o 4 para ver más detalles en la consola
### El dropdown de Tamper está vacío
Verifica que la carpeta `sqlmapproject-sqlmap-c310c69/tamper/` existe junto al ejecutable.
### Error "No module named X" en la consola
Instala las dependencias de sqlmap:
```cmd
pip install -r sqlmapproject-sqlmap-c310c69\requirements.txt
```
---
## Estructura de archivos de salida
sqlmap guarda los resultados en `output//`:
```
output/
└── ejemplo.com/
├── session.sqlite ← Sesión guardada (permite reanudar)
├── log ← Log completo del escaneo
└── dump/
└── testdb/
└── users.csv ← Datos volcados en CSV
```
---
## Aviso legal
Esta herramienta es únicamente para:
- Pruebas de penetración en sistemas propios
- Entornos de laboratorio y CTF
- Auditorías de seguridad con autorización escrita
**El uso no autorizado contra sistemas de terceros es ilegal** y puede resultar en consecuencias penales. El autor no se responsabiliza del uso indebido de esta herramienta.
---
*SQLMAP GUI v1.0.0 — KONDOR DEV SECURITY*
*https://t.me/KONDORDEVSECURITY*