Share
## 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

![SQLMAP GUI Preview](https://i.imgur.com/qt09Qfc.jpeg)

---

## 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*