¿Qué es SQLMap?

| Última modificación: 6 de febrero de 2025 | Tiempo de Lectura: 5 minutos

¿Sabes qué es SQLMap? Las inyecciones de código son el tercer tipo de ciberataques más común de la web, según la versión de 2021 del ranking de OWASP Top 10. El tipo de inyección de código más común se realiza con el lenguaje de programación SQL, el cual se utiliza para realizar consultas en una base de datos gestionada con MySQL.

En este post, hablaremos acerca de una herramienta con la que se pueden realizar ataques de inyección SQL sin necesidad de aprender este lenguaje. A continuación, te explicaremos qué es SQLMap y cómo se utiliza este programa en ejercicios de hacking ético.

¿Qué es SQL Map?

sqlmap linux es una herramienta de código abierto que permite automatizar el proceso de un ataque de inyección de SQL. Gracias a este software sqlmapo, no es necesario aprender este lenguaje de programación para inyectar código malicioso a una base de datos MySQL. Un ciberataque de SQL injection podría resultar en diferentes tipos de consecuencias, como el robo, la modificación o la eliminación de la base de datos o, incluso, la instalación de malwares y la ejecución remota de código en el sistema operativo de la víctima.

sqlmap. permite:

  • Identificar las vulnerabilidades de inyección SQL de una máquina y reportárselas al atacante a través de un proceso de detección riguroso y automatizado.
  • Atacar bases de datos que utilicen gestores como MySQL, Oracle, Microsoft Access, Microsoft SQL Server, Amazon Redshift o Apache Ignite, entre muchos otros, según su página web.
  • Enumerar listas de usuarios, hashes de contraseñas, tablas, qué bases de datos hay y qué privilegios y roles tiene cada perfil.
  • Identificar el tipo de hash utilizado para encriptar contraseñas y ofrecer soporte para usar diccionarios que permitan descifrarlas.
  • Hacer ejecución remota de código.
  • Subir y descargar ficheros a la base de datos, incluyendo softwares maliciosos.
  • Eliminar, sustituir y modificar una base de datos entera o cualquier parte de ella.

¿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.

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:

  1. Instala una máquina virtual con Kali Linux.
  2. Instala la aplicación DVWA en Kali Linux.

Introducción

🔴 ¿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 semana

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.

¿Qué es la inyección NoSQL?

Ahora sabes qué es SQLMap y cómo se usa esta herramienta sql maps en pruebas de penetración. Sin embargo, es necesario aclarar que este software de sqlamp solo funciona para realizar ataques a aplicaciones web cuyas bases de datos utilicen el lenguaje de código SQL. Muchas páginas web utilizan lenguajes de programación alternativos a SQL, pero esto no significa que se encuentren a salvo de un ataque de inyección.

La inyección NoSQL es un tipo de ciberataque que se enfoca en vulnerar bases de datos que utilizan lenguajes de programación alternativos al sqlmal . Un desarrollador web podría suponer que, al no usar este lenguaje de código, también estaría incrementando el nivel de seguridad informática de su página web. Sin embargo, si un atacante conoce bien el lenguaje de programación de una base de datos y esta no se encuentra configurada de forma segura, podría hacer una inyección de código malicioso de todos modos.

También existen herramientas automatizadas, al igual que SQLMap, que se enfocan en atacar bases de datos NoSQL, como NoSQL Injection. Según los desarrolladores de esta herramienta, las bases de datos NoSQL permiten escalar privilegios de forma más fácil que las SQL. La única diferencia en los ataques radica en que varía la sintaxis de escritura de código para ejecutar comandos.

¿Cómo protegerse de la inyección de código?

Ya sabes qué es SQLMap y cómo se utiliza para automatizar ataques de inyección de SQL. Ahora, veamos cuáles son las formas de proteger un sistema vulnerable a estos ataques.

Las principales medidas de seguridad para evitar este tipo de ciberataques se encuentran directamente en la escritura del código fuente de la página. Las instrucciones de la aplicación deben configurarse de forma segura y en el backend de su estructura, ya que en el frontend el atacante las puede modificar fácilmente.

Las principales recomendaciones de programación para evitar estos ataques son:

  • Nunca confíes en los datos que ingresa un usuario. Ni siquiera si se trata de uno conocido. Configura los permisos de lectura/escritura de la manera más hermética posible.
  • Limita el acceso de los usuarios a las tablas. No les brindes ningún permiso de acceso innecesario, pues esto podría llevar a un fallo de seguridad que te haga perder toda tu base de datos.

¿Cómo aprender más sobre SQL Map?

Ahora sabes qué es SQL Map y cómo se usa en el mundo del hacking web ético, pero aún queda mucho más por aprender en este sector. Si quieres seguir formándote y especializarte en ciberseguridad, en KeepCoding tenemos la mejor opción para ti. Únete a nuestro Ciberseguridad Full Stack Bootcamp y conviértete en un experto en menos de 7 meses. ¡Inscríbete ya!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado