martes 21 de abril de 2009

Tutorial ABSINTHE blind sql inyection (inyecciones ciegas SQL)

Navegando por la web de un amigo, en la cual se puede encontrar infinidad de manuales, equipo, etc... http://www.informaticanova.com/NOTICIAS-SEGURIDAD-INFORMATICA/
me tope con un manual que me parece interesante comentaros a todos:

Otro recurso a tener en cuenta para la auditoría de webs es Absinthe. Absinthe es una potente herramienta que realiza de forma automatizada las consultas necesarias para sacar mediante inyecciones SQL ciegas los nombres de tablas y campos de la base de datos,asi como los datos en sí. Veamos un ejemplo de su funcionamiento con un tutorial que muestra sus principales funciones:

Pues bien, en primer lugar, se comprobara en la web a auditar mediante sentencias SQL0 y SQL+ si alguna de las páginas de la web es vulnerable.

En el caso de ser vulnerable, se realizarán los siguientes pasos:

Paso 1. Iniciar el Sistema:

Para comprender mejor el funcionamiento de absinte en la siguiente captura de pantalla puede verse una serie de marcas numéricas para indicar los distintos apartados y opciones de la aplicación.

  1. Permite indicar el tipo de base de datos objeto del ataque. Absinthe es capaz de trabajar con MS SQL Server, Oracle, PostgresSql y SysBase.
  2. Indicamos la web vulnerable y el archivo asp que desea utilizar pero sin indicar el parámetro vulnerable ya que eso se hará en los puntos 3 y 4. Por ejemplo, si la web vulnerable es www.webvulnerable.com/news.asp?id=1234 en el cuadro 2, hay que indicar: www.webvulnerable.com/news.asp.Y el método de envío de datos es Post.
  3. Indica la variable vulnerable, que en el ejemplo es id.
  4. En default value indica el número de id de noticia que saca por defecto la página y con el que se probaron SQL+ y SQL0. En este caso 1234.

En la siguiente figura veremos un ejemplo de como quedan rellenos los campos: (Además debe activar la casilla injectable parametrer para después pulsar el botón add parametrer

verse siguiente imagen)

Paso 2. Iniciando la inyección:

Para iniciar la inyección hay que pulsar el botón Initialize injection y verá en una consola del sistema como absinthe realiza los primeros pasos en la injección indicándonos si han sido satisfactorios.

Paso 3. Esquema de la Base de Datos:

Una vez que absinthe ha realizado los pasos previos de la inyección, hay que pulsar la siguiente pestaña situada en la parte superior, en la que se encuentra DB Eschema (véase la siguiente

imágen).

Paso 4. Obtener nombres de usuario

Ya sólo hay que pulsar los botones señaladas en la imagen anterior para obtener los nombres de usuario de la base de datos, los nombres de las tablas y de los campos de las tablas.

Paso 5. Descargar registros

En el último paso pulse sobre la pestaña download records para descargar el contenido de los registros de la base de datos.

Paso 6. Examinar los datos

En la siguiente imagen vemos que en el botón Browser especificamos ruta y nombre del archivo de salida, en la parte izquierda se encontrarían los campos disponibles para descarga avaliable fields, los cuales seleccionaríamos y añadiríamos con el botón Add para que se apareciesen en la lista de Selected fields y finalmente se pulsaría sobre download fields to XML


Web oficial de absinthe: http://www.0x90.org/
Descargar