¿Cómo usar SQLmap para encontrar y explotar vulnerabilidades de inyección SQL?
El siguiente tutorial sobre cómo usar SQLmap está hecho con fines académicos. El propósito de la herramienta es encontrar fallos de seguridad y probar su nivel de riesgo. Para implementarla, se requiere la autorización del propietario de la aplicación auditada o hacerlo en un entorno de práctica.
¿Qué es la inyección SQL?
La inyección SQL es uno de los ciberataques más peligrosos y utilizados en la web. De acuerdo con la lista de OWASP Top 10, los ataques de inyección de código, como el SQL, son el tercer tipo de ataque más común del planeta. Por eso, al hacer tests de intrusión web, es necesario buscar fallos relacionados con este ciberataque.
El lenguaje de programación SQL está diseñado para interactuar con bases de datos. Es decir, una inyección de comandos SQL le permite al atacante examinar, modificar, añadir y eliminar información perteneciente a las bases de datos de una aplicación. De hecho, existen formas de automatizar el proceso de búsqueda y explotación de estas vulnerabilidades.
En este post, hablaremos sobre un programa gratuito que se utiliza en pentesting para ejecutar inyecciones SQL. A continuación, te explicaremos cómo usar SQLmap en un entorno de práctica de hacking web, como DVWA.
¿Cómo usar SQLmap?
SQLmap es un software de código abierto que se encuentra preinstalado en Kali Linux y sirve para encontrar y explotar vulnerabilidades de inyección SQL en una página web.
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaPara utilizarlo, necesitarás una máquina virtual con Kali Linux instalado. Además, para este ejercicio, utilizaremos una aplicación web llamada DVWA, que permite practicar ciberataques en ella de manera legal.
Preparación
Debido a lo anterior, el primer paso para usar SQLmap es configurar el entorno en el que lo vas a hacer. Para ello:
Introducción
Primero, abre el programa Burp Suite, que se encuentra preinstalado en Kali. Desde allí, abre un navegador con la opción Proxy > Open Browser.
Se abrirá un navegador de Google Chrome con un icono azul. En este navegador, ve a la dirección de la aplicación DVWA e inicia sesión. Allí, dirígete a la pestaña “DVWA Security” y configura el nivel de seguridad en “Low“. Después, ve a la pestaña “SQL Injection”.
Cuando estés en la pestaña “SQL Injection” de DVWA, abre Burp Suite nuevamente y comienza a interceptar el tráfico con la aplicación, con la opción Proxy > Intercept is on. Luego, abre otra vez la página de DVWA.
En la entrada de DVWA que dice “User ID”, ingresa cualquier valor. La petición al sitio web será interceptada por el proxy HTTP de Burp Suite, así que dirígete de nuevo a este programa para verla.
Ahora, para usar SQLmap tendremos que capturar la petición en su totalidad, ya que esta contiene el token de sesión que utilizamos para acceder a la página. Por lo tanto, en Burp Suite, haz clic derecho en la petición y elige la opción “Copy” para copiarla.
Después, ve a una terminal de Kali y muévete hacia el directorio root con el comando:
// sqlmap -t cd root
Allí, crea un documento de texto llamado “peticion” (sin tilde), del siguiente modo:
nano peticion
Se abrirá el editor de texto, donde debes pegar la petición que has copiado desde Burp Suite. Guarda y cierra el archivo y, a continuación, veremos el siguiente paso de cómo usar SQLmap.
SQLmap
Si quieres saber como usar sqlmap en kali linux, debes saber que para iniciar SQLmap, abre una terminal en Kali Linux y ejecuta el comando:
// tutorial sqlmap sqlmap
Para ver toda su lista de comandos, utiliza:
-h o -hh
Para hacer pruebas de vulnerabilidades SQL con la petición que capturamos, utiliza el comando:
sqlmap -r peticion
Así, le habremos dicho al programa que inicie el análisis. En respuesta, este nos dirá que habrá detectado que la base de datos de DVWA es MySQL y nos dará la opción de solo buscar payloads para este software, la cual es recomendable aceptar.
SQLmap hará un análisis de las vulnerabilidades y, una vez haya encontrado varias, dará la opción de parar el examen. Después de esto, dará una serie de posibles payloads para cada fallo que encuentre, lo que facilita el trabajo del investigador de seguridad.
¿Cómo aprender más?
Ya hemos visto cómo usar SQLmap. Si quieres aprender más sobre técnicas de hacking web, en KeepCoding tenemos el mejor curso de especialización para ti. Ingresa a nuestro Ciberseguridad Full Stack Bootcamp y conviértete en todo un profesional en tan solo 7 meses. Ten clases en vivo con profesores expertos sobre temas como red team/blue team, criptografía, análisis de malware y mucho más. ¡No sigas esperando y pide más información!