Artículo · Pentesting a Aplicaciones Web

Sqlmap Parte I: Automatizando Inyección SQL

Samuel EstebanSamuel Esteban 3 min de lectura

Sqlmap es una poderosa herramienta la cual permite automatizar la vulnerabilidad de Inyección SQL. Cuando se realiza un Pentesting, es importante automatizar ciertas actividades para que la carga de trabajo no sea tan extensa. Si el Pentester encuentra una Inyección SQL en el aplicativo web que está auditando, es importante en primer lugar que verifique que no sea un falso positivo, para ello debe realizar un análisis manual (el cuál veremos en otro post), sin embargo Sqlmap acelera este proceso. (El análisis manual es siempre recomendado por que así es posible generar una menor cantidad de peticiones hacia el servidor web objetivo).


En esta primera etapa se verán conceptos básicos orientados hacia la herramienta Sqlmap, de tal manera que se podrá visualizar en concreto el correcto funcionamiento de esta poderosa herramienta.

Se tiene el siguiente sitio web:

Sitio Web a auditar

Para buscar una Inyección SQL siempre se  deben buscar los inputs del aplicativo (ejemplo: php?id=, php?seccion=,aspx?id=, etc), en este aplicativo web es posible encontrar una gran cantidad de inputs.

Input del Sitio Web

Este aplicativo posee un input llamado cat.php?id=, al colocar una comilla simple ( ‘ ), es posible visualizar lo siguiente:

Inyección Sql presente en el Sitio Web

Al añadir una comilla simple en la query es posible visualizar que se produce un error de Inyección SQL. La Inyección SQL se presenta principalmente en este caso, porque al colocar la comilla simple nos devuelve un mensaje de error SQL. Otra cosa importante para considerar es que a través del error, además se indica que se  está trabajando sobre el motor de base de datos Mysql. Es importante mencionar que en esta etapa solo veremos la automatización de una Inyección SQL, más adelante se explicará en detalle cómo realizar este proceso de forma manual.

Ahora se utilizará la herramienta Sqlmap para acelerar el proceso de inyección.

Estructura de Sqlmap

A través de la distribución de Kali Linux es posible encontrar esta herramienta instalada por defecto, si no posees esta distribución, puedes descargar Sqlmap de su repositorio oficial.

https://github.com/sqlmapproject/sqlmap

Si deseas utilizar Sqlmap en Windows es importante que descargar Python para poder utilizar esta herramienta.

https://www.python.org/download/releases/2.7.6/

Posteriormente iniciamos el ataque hacia nuestro objetivo:

Automatizando ataque con Sqlmap

Los parámetros necesarios y/o recomendados para realizar el ataque son los siguientes:

Algunos comandos de Sqlmap

Base de datos conectada al Sistema

Se detectó la base de datos conectada al sistema (photoblog), posteriormente se empezó a extraer las tablas de la base de datos encontrada.

 Tablas de la base de datos

Las tablas detectadas en el sistema fueron las siguientes:

  • categories

  • pictures

  • users

La tabla que nos interesa es la tabla de usuarios (users), ahora se realizará un dump a la tabla en cuestión.
  

     Dump de tabla users 1

               Dump de tabla users 2

Como se puede observar en la imagen anterior, se realizó un dump sobre la tabla users y se logró obtener las credenciales del sistema. Otra particularidad de Sqlmap, es que posee un diccionario por defecto para poder realizar un ataque de fuerza bruta al hash detectado, también es posible especificarle un diccionario a elección para poder intentar realizar el cracking del hash.

Si deseas practicar con el sitio web que fue utilizado para este laboratorio, te lo compartimos a continuación:

https://pentesterlab.com/exercises/from_sqli_to_shell

 

¿Quieres aprender estas técnicas en profundidad?

Continúa tu ruta con Web Application Testing.

Samuel Esteban

Escrito por

Samuel Esteban

Senior Pentester

Actualmente me desempeño como Pentester...

Sigue leyendo

Sqlmap - ejemplo con metasploitable2
Pentesting a Aplicaciones Web

Sqlmap - ejemplo con metasploitable2

MMartin Frias

Hola, soy Martin Frias y en esta vez hablaré un poco sobre Sqlmap, Sqlmap es una herramienta que permite automatizar las inyecciones sql. La inyección sql es una vulnerabilidad que nos permite la inyección de código sql para que pueda ser ejecutado e interpretado y así obtener información de la base de datos, información a la que normalmente no deberíamos tener acceso, yo recomiendo fuertemente aprender lenguaje sql, para poder saber hacer inyecciones slq de forma manual, de manera que  si vas a usar herramientas automatizadas como sqlmap, por ejemplo, que sea por ahorrar algo de tiempo, porque siempre es mejor saber qué está haciendo un herramienta por detrás, no solo escribir un comando y no saber exactamente qué acabamos de hacer.

Portainer es una herramienta web open-source: Gestor Web para Docker
Pentesting a Aplicaciones Web

Portainer es una herramienta web open-source: Gestor Web para Docker

Javier Candia

En los últimos años, las tecnologias de irutalizacioon de servicios y plataformas ha tomado poder en el mundo de las implementaciones. Uno de ellos es Docker, el cuál nos permite automatizar el despliegue de aplicaciones dentro de contenedores de software. A grandes ragos, Docker permite meter en un contenedor (un entorno cerrado) aquellas cosas que mi aplicación necesita para ser ejecutada (java, Maven, tomcat…) y la propia aplicación. Ese contenedor puede llevarse a cualquier máquina que tenga instalado Docker y ejecutar la aplicación independientemente de qué sistema operativo es, de si son compatibles o no.

Evil Limiter
Pentesting a Aplicaciones Web

Evil Limiter

Erik Garcia

Si se encuentra con un compañero de cuarto que acapara el ancho de banda de datos limitado con videojuegos o descubre que un vecino se ha invitado a su red Wi-Fi, puede recuperar fácilmente el control de su acceso a Internet. Evil Limiter hace esto al permitirle controlar la velocidad de bits de cualquier dispositivo en la misma red que usted, lo que le permite reducir o incluso detener la velocidad de transferencia de datos por completo.