miércoles, 20 de marzo de 2013

The Mole – Automatic SQL Injection SQLi Exploitation Tool


Tutorial

En este tutorial, aprenderás a cómo utilizar El Mole de explotar inyecciones SQL, extraer datos de la base de datos y lectura de archivos desde el servidor vulnerable.

Para leer una referencia completa de los comandos del topo y la forma de utilizarlos, por favor visitehttp://www.aldeid.com/wiki/TheMole (por cierto, gracias a Sébastien Damaye para escribir una guía completa!).

Si por casualidad usted encuentra algún problema al explotar una inyección SQL, causada por algún filtro o IPS que utiliza el servidor de destino, por favor visite nuestro tutorial filtros .

Antes de empezar, debe saber lo que se requiere con el fin de explotar una inyección SQL mediante la Mole.Una vez que haya encontrado un script vulnerable, usted tiene que encontrar una cadena que normalmente aparece en la página web, pero no aparece cuando se cambia el signo de la consulta que se está ejecutando en la base de datos (mediante la modificación del parámetro vulnerable).
La identificación de la inyección

En este ejemplo se representan mediante este sitio de la prueba:



Bueno, suponiendo que no sabemos que hay una inyección de SQL, nos aseguraremos de que hay uno en el parámetro "id". Nos niegan la consulta que se ejecutará en la base de datos, y tratar de encontrar la cadena antes mencionada.



Bien, vemos la cadena "admin" ha desaparecido. Vamos a proporcionar esta cadena para The Mole y explotar la inyección.
La explotación de la inyección

En primer lugar, ejecutamos La Mole con el parámetro "-u" para indicar qué dirección vamos a utilizar, y "n-" para indicar la aguja / hilo. El comando debe ser similar a esto:

'Admin'. / Mole.py-u 'http://192.168.0.142/vulnerable/sqli.php?id=1'-n

El topo se iniciará y nos dan un aviso:



Tenga en cuenta que, por defecto, el último parámetro en la URL que se utiliza como parámetro vulnerable. Si desea especificar otro parámetro como el vulnerable, puede utilizar la opción "-p "argumento de la línea de comandos o utilizar el "injectable_field" de comandos.
Los usuarios de Windows

Los usuarios de Windows deberían poner en cuenta que cuando se utiliza la opción "-u" argumento de la línea de comandos, el "&" personajes tienen que escapar manualmente utilizando el carácter "^". Por lo tanto, si la URL tiene dos parámetros, debería tener este aspecto:

mole.exe-u http://192.168.0.142/vulnerable/sqli.php?param=1 ^ & id = 1-n 'admin'

También puede configurar la dirección URL utilizando la "url" de comandos, así que usted puede pegar la dirección URL sin citarlo. La aguja también se puede ajustar con la "aguja" de comandos.

Bueno, estamos listos para ir. En primer lugar, queremos saber qué bases de datos están disponibles en el sistema. El comando "esquemas" volcará sus nombres.



La Mole ha hecho dos cosas:
Encuentra los parámetros de explotación, como el número de columnas, el comentario que se utiliza la base de datos back-end, el número de paréntesis, etc
Una vez que se ha inicializado, que vuelca los nombres de base de datos back-end utilizando consultas de bases de datos específicas.

Tenga en cuenta que la fase de inicialización se realiza sólo una vez. Cambiando de tema, vamos a volcar las tablas en la "prueba" de base de datos. El "tablas" comando no hace eso, y requiere el nombre de base de datos como argumento:



Great! Hay un "usuarios" mesa! Ahora tenemos que encontrar las columnas de esa tabla. El "columnas" de comandos requiere que el nombre del nombre de base de datos y la tabla como argumentos.



Vemos a 3 columnas, id, nombre de usuario y contraseña. Ahora es el momento de deshacerse de esos hashes: D. La "consulta" comando requiere el nombre de base de datos, el nombre de la tabla, y una lista de columnas separadas por comas para volcar. Como alternativa, puede usar '*' en el campo de columnas, pero no queremos volcar la columna "id" en este momento, así que vamos a hacerlo de forma manual. Recuerda que El Topo ofrece buenas características autocompletar, por lo que la base de datos, tabla y nombres de columna se autocompletar cuando se presiona la tecla TAB.



Nice! Tenemos las credenciales del administrador. Sin embargo, cuando nos quitamos los nombres de bases de datos, podríamos ver "mysql", por lo que es probable que tenga privilegios de root de MySQL. Vamos a ver a través de la "dbinfo" de comandos, que se volcará la base de datos de usuario, el nombre y la versión.



Ah, pensé, tenemos privilegios de root. Bueno, vamos a tratar de leer un archivo utilizando el "readfile" de comandos, que espera que el nombre del archivo para ser leído como argumento. Vamos a leer / etc / passwdcomo ejemplo.



Bien, ahora pasamos a los comandos útiles que harán las cosas más rápido. Imagina que no sabemos qué tablas existen en el "mysql" de mesa. En este caso, la inyección va muy rápido, ya que puede ser explotado a través de la técnica de unión, sin embargo, Blind inyecciones SQL son bastante comunes. En este último caso, el vertido el nombre de cada tabla en una base de datos determinada puede ser muy lento. En este caso, vamos a utilizar el "find_users_table" de comandos, que trata de encontrar un nombre de tabla en una base de datos determinada que "parece" que podría contener nombres de usuario y contraseñas (en base a su nombre). Tenga en cuenta que este comando no utiliza los metadatos de base de datos / tabla, como INFORMATION_SCHEMA.TABLES, por lo que se puede utilizar en situaciones en las que la base de datos back-end es un Mysql <5, el cual no contiene la databse information_schema.

Este comando contiene una pequeña lista de nombres, puede utilizar "artenatively find_tables", que trata de encontrar tablas mediante una lista proporcionada por usted.



Como era de esperar, mysql.user existe: D. Ahora vamos a utilizar otro comando que será más útil, pero requiere information_schema (o cualquier otra base de datos DBMS que sirve el mismo propósito) de existir. El "find_tables_like" comando requiere una base de datos como primer argumento y una cadena que se utiliza para buscar nombres de bases de datos. Usted puede utilizar el '%' comodín, o cualquier otra base de datos específica. Como ejemplo, vamos a encontrar todas las tablas que contienen la subcadena "CAPAZ".



Volviendo a la "consulta" de comandos, podemos utilizar algunos parámetros adicionales que serán útiles en determinadas situaciones. Podemos limitar el número de filas que se objeto de dumping y / o indicar el primer índice desde el que iniciar el volcado (0-índice de base). Esto imprime una única fila, comenzando desde el índice segundos.

También puede indicar un "donde la condición", con el fin de volcar sólo las filas que concuerden con él.



En resumen, aquí hay un video de The Mole explotar una inyección SQL, utilizando tanto técnicas de unión y ciegos.

Eso es todo en estos momentos. Este tutorial se ampliará en breve. Espero que les sea útil!



Descarga Windows: themolethemole

Descarga Linux : themole
Share:

0 comentarios:

Publicar un comentario

Labels

Analisis (6) Android (1) Auditoria (15) BruteFoce (7) centOS (1) Cloudflare (3) DDos (1) Distros (5) Exploits (3) firewall (1) hacking (11) Herramientas (126) Incapsula (1) lfi (1) Malware (2) Pentest (49) Perl (2) Proxys (1) python (10) Scan Sql (1) Seguridad (52) Windows (1) Wireless (5) Wordpress (1) XSS (5)

FOLLOWME


Translate

Followers