Automatizar la extracción de datos de bases de datos vulnerables (especialmente MySQL)
Automatizar la extracción de datos de bases de datos vulnerables (especialmente MySQL)
sqlsus es una herramienta abierta y orientada a la inyección SQL (SQLi) escrita en Perl, incluida tradicionalmente en Kali Linux. Su función principal es automatizar la extracción de datos de bases de datos vulnerables (especialmente MySQL), optimizando las consultas para ser lo más rápida y eficiente posible mediante técnicas de inyección a ciegas (blind SQLi) y basadas en tiempo (time-based).
Aunque hoy en día la comunidad utiliza mayoritariamente sqlmap (que es más completa y mantenida), sqlsus sigue siendo excelente para aprender cómo funcionan la configuración por archivos de sesión y el control fino de las peticiones.
🛠️ Flujo de uso paso a paso
A diferencia de otras herramientas que reciben todos los parámetros por línea de comandos, sqlsus funciona creando un archivo de configuración que puedes editar antes de ejecutar el ataque.
1. Generar el archivo de configuración
Abre la terminal en Kali Linux y genera un archivo de proyecto/sesión:
sqlsus -g mi_sesion.conf
2. Editar los parámetros
Abre el archivo mi_sesion.conf con tu editor preferido (como nano o gedit):
nano mi_sesion.conf
Dentro del archivo, debes configurar como mínimo los siguientes campos:
$url: La URL del sitio web vulnerable.Ejemplo:
[http://ejemplo.com/vulnerable.php?id=1](http://ejemplo.com/vulnerable.php?id=1)
$sqli_detailed: La posición de la inyección SQL si la conoces.$cookie: Si el sitio requiere autenticación, pega aquí tus cookies de sesión.$proxy: Si quieres redirigir el tráfico a través de Burp Suite o un proxy.
3. Iniciar la consola de sqlsus
Una vez guardados los cambios, carga el archivo de configuración en sqlsus:
sqlsus mi_sesion.conf
Entrarás a la consola interactiva de la herramienta (sqlsus >).
💻 Comandos principales dentro de sqlsus
Una vez dentro de la interfaz interactiva, puedes ejecutar los siguientes comandos:
| Comando | Descripción |
start | Inicia la prueba para verificar si el punto de inyección es exploitable. |
get database | Obtiene el nombre de la base de datos actual. |
get databases | Enumera todas las bases de datos accesibles. |
get tables | Muestra las tablas dentro de la base de datos seleccionada. |
get columns | Extrae las columnas de una tabla específica (ejemplo: get columns -t usuarios). |
dump | Vuelca los datos/contenido de la tabla especificada. |
set | Permite modificar opciones de configuración al vuelo sin salir de la consola. |
⚠️ Nota importante: En las versiones más recientes de Kali Linux,
sqlsuspuede no venir preinstalada por defecto o requerir dependencias de Perl obsoletas. Si no la tienes disponible, puedes instalarla consudo apt update && sudo apt install sqlsuso utilizarsqlmapcomo la alternativa estándar de la industria.