Automatización de Inyecciones SQL con SQL Map en Kali Linux
Clase 13 de 14 • Curso de Hacking: Aplicaciones Web Server Side
Resumen
¿Cómo automatizar inyecciones SQL con SQL Map?
Inyecciones SQL: una frase que alimenta la imaginación de entusiastas de la ciberseguridad y hackers éticos por igual. Si bien ejecutar estas inyecciones puede parecer una tarea complicada, con herramientas como SQL Map, el proceso se simplifica enormemente. Esta guía te llevará a través de los pasos clave para utilizar SQL Map de manera efectiva y automatizar inyecciones SQL, ahorrando tiempo y esfuerzo y extrayendo los máximos datos posibles de las bases de datos objetivo.
¿Cómo preparar el entorno?
Antes de usar SQL Map, debemos asegurarnos de que nuestro entorno esté listo, lo cual incluye contar con herramientas imprescindibles y configuraciones adecuadas:
- Kali Linux: La mayoría de los profesionales en ciberseguridad prefieren este sistema operativo por las herramientas de hacking preinstaladas, incluyendo SQL Map.
- Damn Vulnerable Web Application (DVWA): Esta es una aplicación web intencionalmente vulnerable diseñada para probar las habilidades de ciberseguridad y configuraciones web.
- Burst Sheet: Utilizada para interceptar solicitudes HTTP, esta herramienta es crucial para capturar cookies y otros datos importantes que SQL Map usará.
¿Cómo capturar la información necesaria con Burst Sheet?
Primero, ingresamos a la página de login en DVWA y capturamos una solicitud válida:
- Inicia sesión en DVWA usando unas credenciales predeterminadas, como Admin/Password.
- Navega a la sección de "SQL Injection".
- Ingresa un número al azar en el campo de prueba, por ejemplo, '1'.
- Utiliza Burst Sheet para interceptar esta solicitud y recargar la página. Esto guardará la cookie de sesión y otros datos esenciales.
Guarda toda esta información en un archivo de texto, por ejemplo dwa.txt
. Este archivo será la clave para que SQL Map comprenda qué necesita hacer.
¿Cómo configurar SQL Map para la inyección?
Una vez con el archivo lista, ingresemos a la consola de Kali y editemos el archivo para indicar a SQL Map dónde inyectar:
nano dwa.txt
- Añade un asterisco
*
en el lugar exacto donde quieres que ocurra la inyección dentro del archivo.
Guarda y cierra este archivo, asegurándote de que está bien configurado.
¿Cómo ejecutar SQL Map para extraer datos?
Ahora, ya estamos en condiciones de ejecutar SQL Map y comenzar a recuperar datos:
sqlmap -r dwa.txt --dbs
-r
: Importa el archivo capturado con Burst Sheet.--dbs
: Enumera las bases de datos que encuentra.
Cuando SQL Map detecte vulnerabilidades, iniciará una serie de pruebas para identificar bases de datos y extraer información útil.
¿Cómo seleccionar una base de datos y extraer tablas?
Una vez que SQL Map liste las bases de datos, selecciona una base de datos específica para explorar más:
sqlmap -r dwa.txt -d <nombre_basededatos> --tables
-d
: Indica qué base de datos específica deseas examinar.--tables
: Enumera las tablas dentro de dicha base de datos.
¿Cómo obtener los datos de las tablas?
Después de identificar las tablas, el último paso es extraer datos de una tabla elegida, como la de usuarios:
sqlmap -r dwa.txt -d <nombre_basededatos> -T <nombretabla> --dump
-T
: Selecciona la tabla que queremos inspeccionar.--dump
: Descarga toda la información contenida en la tabla.
SQL Map también ofrece la opción de intentar descifrar contraseñas si detecta hashes, ahorrando más tiempo aún al no necesitar refrigeración de contraseñas externa.
¿Qué más se puede hacer con SQL Map?
SQL Map es un poderoso aliado en el mundo del hacking ético. Puedes optar por extraer toda la información desde todas las bases de datos:
sqlmap -r dwa.txt --dump-all
O bien, centrarte en bases de datos específicas y detallar tus necesidades al combinar diferentes parámetros.
Reflexiones finales
Si bien la configuración y uso de SQL Map puede dar miedo inicialmente, las recompensas en término de tiempo y esfuerzo valen la pena. La habilidad de automatizar inyecciones SQL no solo mejora eficiencia, sino también proporciona una visión clara de cómo las aplicaciones web almacenan y gestionan datos detrás de escena.
Invitamos a todos, desde los principiantes hasta los profesionales, a practicar y experimentar con estas técnicas. La ciberseguridad es una disciplina en constante evolución y una habilidad que construye sólidos cimientos del conocimiento digital. ¡Continúa explorando y dominando el arte de las inyecciones SQL!