Anda di halaman 1dari 29

Inicio | Seguridad de Aplicaciones | Tutorial Burp Suite - Intruso Tool versin 2

Burp Suite Tutorial - versin de Intruder Herramienta 2


2 DE ABRIL, 2010 | ESCRITO POR NINJA DE SEGURIDAD | SOLICITUD DE SEGURIDAD | 4 COMENTARIOS

Hola a todos, Mis Burp Suite entradas del blog de tutora parecen ser un poco como los autobuses, le tom mucho tiempo para m para hacer el primero y ahora estoy escribiendo la tercera! Yo estaba pensando en escribir un tutorial para el secuenciador y las herramientas de decodificacin de esta semana hasta el Puerto Swigger lanzado una nueva versin de la Suite de eructar . La nueva versin de la Suite Haga eructar incluye muchas mejoras en la herramienta de intrusin, incluyendo algunas nuevas caractersticas que me encanta! Yo no estaba muy seguro de cmo estructurar esta entrada del blog porque hice un tutorial herramienta de intrusin hace tres semanas. Voy a volver a utilizar una gran parte del contenido de la entrada en el blog original, pero voy a ser la sustitucin de las capturas de pantalla con versiones actualizadas. Estoy usando la aplicacin Damn Vulnerable Web en la entrada del blog de esta semana para demostrar la herramienta Burp Suite intrusin y esperamos que pueda presentar a la DVWA. Cul es la suite de eructar? Burp Suite es una plataforma integrada para atacar aplicaciones web. Contiene todas las herramientas para el eructo con numerosas interfaces entre ellos diseados para facilitar y acelerar el proceso de atacar a una aplicacin. Todas las herramientas de compartir el mismo marco robusto para el manejo de las peticiones HTTP, la persistencia, la autenticacin, proxies aguas arriba, la tala, la alerta y la extensibilidad. Burp Suite le permite combinar tcnicas manuales y automticas para enumerar, analizar, explorar, atacar y explotar las aplicaciones web. Las diversas herramientas de Burp trabajar juntos de manera efectiva para compartir informacin y permitir que los hallazgos identificados en una herramienta para formar la base de un ataque con otro. Fuente: http://www.portswigger.net/suite/ La Suite Burp se compone de herramientas (las descripciones de tomar de la pgina web Swigger Puerto): Proxy : Proxy Burp es un servidor interactivo de HTTP / S proxy para atacar y probar aplicaciones web. Funciona como un hombre-en-el-medio entre el navegador final y el servidor de destino web, y permite al usuario para interceptar, inspeccionar y modificar el trfico que pasa prima en ambas direcciones.

Araa : Haga eructar a Spider es una herramienta para el mapeo de aplicaciones web. Utiliza diversas tcnicas inteligentes para generar un inventario exhaustivo de los contenidos de una aplicacin y funcionalidad. Escner : Burp Scanner es una herramienta para realizar el descubrimiento automatizado de vulnerabilidades de seguridad en aplicaciones web. Est diseado para ser utilizado por los probadores de penetracin, y para que quepa en estrecha colaboracin con sus tcnicas y metodologas existentes para la realizacin de manuales y semi-automticos de pruebas de penetracin de las aplicaciones web. Intruso : Intruder Haga eructar es una herramienta para automatizar ataques contra aplicaciones web personalizadas. Repetidor : Repetidor eructar es una herramienta para modificar manualmente y volver a emitir las solicitudes individuales de HTTP, y el anlisis de sus respuestas. Lo mejor es usarlo en conjuncin con las otras herramientas de Burp Suite. Por ejemplo, puede enviar una solicitud al repetidor del mapa de sitio de destino, desde el historial de navegacin Burp Proxy, o de los resultados de un ataque de intrusos Eructar y ajustar manualmente la solicitud para ajustar un ataque o una sonda en busca de vulnerabilidades. Secuenciador : Secuenciador eructar es una herramienta para analizar el grado de aleatoriedad en las credenciales de sesin de una aplicacin o con otros temas cuya imprevisibilidad de la aplicacin depende para su seguridad. Decoder : descodificador de eructar es una sencilla herramienta para la transformacin de los datos codificados en su forma cannica, o para transformar los datos en bruto en diversas formas codificadas y hash. Es capaz de reconocer inteligentemente varios formatos de codificacin que utilizan tcnicas heursticas. Comparer : Burp Comparer es una herramienta sencilla para la realizacin de una comparacin (una representacin visual "diff") entre dos elementos de datos. En el contexto de atacar a una aplicacin web, este requisito general, se levantarn cuando se quiere identificar rpidamente las diferencias entre las dos respuestas de las aplicaciones (por ejemplo, entre dos respuestas recibidas en el curso de un ataque de intrusos eructar, o entre las respuestas a un inicio de sesin no utilizando los nombres de usuario vlidos y no vlidos), o entre dos solicitudes de aplicaciones (por ejemplo, para identificar los diferentes parmetros de la peticin que dan lugar a un comportamiento diferente). Este tutorial cubre la herramienta de intrusin, se puede encontrar tutoriales sobre algunas de las otras herramientas en mayores entradas del blog de seguridad de Ninja . La razn por la que empec a usar la herramienta de intrusin fue para automatizar las pruebas de validacin de entradas. Que haba creado una gran cantidad de entradas de prueba que fueron utilizados para poner a prueba las debilidades de validacin de entrada (SQL Injection, inyeccin XPath, Cross Site Scripting, etc) en las aplicaciones web. La cantidad de entradas de prueba que haba creado hace inviable las pruebas manuales, as que necesitaba una

herramienta que tomar estas entradas y automticamente hacer las 500 solicitudes que necesitaba + por punto de entrada. He encontrado la Suite Haga eructar y ahora utilice la herramienta de intrusin que me ayude a realizar estas pruebas, esperamos que pueda ser capaz de hacer lo mismo despus de haber ledo esta entrada del blog. Habilitar el Proxy Burp Suite Para empezar a utilizar la suite de eructar para probar nuestra aplicacin web de ejemplo lo que tenemos que configurar nuestro navegador para poder usar la Suite Haga eructar como un proxy.El proxy Burp Suite usar el puerto 8080 por defecto, pero usted puede cambiarlo si lo desea. Se puede ver en la siguiente imagen que he configurado Firefox para utilizar el proxy Burp Suite para todo el trfico.

Al abrir la herramienta de Burp Suite proxy y comprobar que el proxy se est ejecutando, haga clic en la pestaa de opciones:

Se puede ver que el proxy se utiliza el puerto por defecto:

La representacin est en funcionamiento y listo para usar. Se puede ver que la pestaa de opciones proxy tiene un buen nmero de artculos que se pueden configurar para satisfacer nuestras necesidades de pruebas. Muchos de estos artculos estn fuera del lado del alcance de este tutorial. La Suite Haga eructar ahora iniciar el registro de las solicitudes y respuestas que pasan a travs del proxy. Hemos navegado a la pgina de inicio de sesin y el servidor proxy DVWA Burp Suite ha capturado la solicitud y la respuesta:

Vamos a utilizar el ejemplo de inyeccin SQL en el DVWA para el resto de este tutorial. Se puede ver en la imagen de abajo que el ejemplo de inyeccin de SQL es bastante simple para nosotros para probar:

Tenemos que capturar la solicitud de ID de usuario despus de que haga clic en el botn de enviar y reemplazar el valor de ID de usuario con las entradas de nuestras pruebas. Para ello debemos asegurarnos de que el proxy Burp Suite est configurado para interceptar nuestras peticiones:

Con la intercepcin permiti que se presentara la solicitud de identificacin del usuario y enviarla al intruso como se puede ver a continuacin:

La Suite Haga eructar a nuestra solicitud se enviar a la herramienta de intrusin para que podamos empezar nuestras pruebas. Usted puede ver la solicitud en la herramienta de intrusin a continuacin:

La herramienta se crea automticamente las posiciones de carga til para nosotros. Las posiciones de la carga til se definen mediante el carcter , el intruso sustituir el valor entre dos personajes con una de las entradas de nuestras pruebas. Usted puede modificar este comportamiento dando instrucciones a la Suite Haga eructar a para aadir automticamente tus comentarios a la original en lugar de reemplazarlo como lo hemos hecho en el ejemplo anterior. Encomendar a la Suite Haga eructar a colocar automticamente sus marcadores de carga til para aadir datos a la entrada en lugar de reemplazarlo es necesario hacer clic en "aadir al valor de la base de parmetros":

La ficha de posiciones que se muestra en la imagen de arriba tiene cuatro tipos de ataque diferentes para que usted elija (definicin tomada de: http://www.portswigger.net/intruder/help.html ): Sniper : Este sistema utiliza un nico conjunto de cargas. Se dirige a cada posicin, a su vez, y se inserta cada carga til en esa posicin a su vez. Las posiciones que no estn dirigidos durante una peticin dada no se ven afectados - los marcadores de posicin se eliminan y el texto que aparece entre ellos en la plantilla se mantiene sin cambios. Este tipo de ataque es til para probar una serie de campos de datos de forma individual para una vulnerabilidad comn (por ejemplo, cross-site scripting). El nmero total de peticiones generadas en el ataque es el producto del nmero de posiciones y el nmero de cargas tiles en el conjunto de carga til. Ariete : Este sistema utiliza un nico conjunto de cargas. Se repite a travs de las cargas, y se inserta la misma carga til en todas las posiciones definidas a la vez. Este tipo de ataque es til en caso de un ataque requiere la misma entrada que se insertar en varios lugares dentro de la peticin HTTP (por ejemplo, un nombre de usuario dentro de la cabecera Cookie y en el cuerpo del mensaje). El nmero total de peticiones generadas en el ataque es el nmero de cargas tiles en el conjunto de carga til. Pitchfork : Este sistema utiliza varios conjuntos de carga til. Hay un conjunto de carga til diferente para cada posicin definida (hasta un mximo de 8). El ataque se repite a travs de

toda la carga til se establece al mismo tiempo, y se inserta una carga til en cada posicin definida. Es decir, la primera solicitud se inserta la primera carga de la carga til de un conjunto en la posicin 1 y la primera carga til de carga de serie 2 en la posicin 2, la segunda solicitud se inserte el segundo de la carga til de carga de establecer una en la posicin 1 y la carga del segundo conjunto de carga 2 en la posicin 2, etc Este tipo de ataque es til en caso de un ataque requiere diferentes pero relacionados entre s de entrada a ser insertada en varios lugares dentro de la solicitud HTTP (por ejemplo, un usuario en un campo de datos, y un nmero de identificacin conocido correspondiente a ese usuario en otro campo de datos). El nmero total de peticiones generadas por el ataque es el nmero de cargas tiles en el conjunto ms pequeo de carga til. Bomba de racimo : Este sistema utiliza varios conjuntos de carga til. Hay un conjunto de carga til diferente para cada posicin definida (hasta un mximo de 8). El ataque se repite a travs de cada conjunto de carga til, a su vez, de modo que todas las permutaciones de las combinaciones de carga til se prueban. Es decir, si hay dos posiciones de carga til, el ataque se coloque la primera carga de la carga de establecer una en la posicin 1, y recorrer todos las cargas tiles de carga que figuran dos en la posicin 2, que luego se colocar la carga de la segunda carga de establecer una en la la posicin 1, y recorrer todos los cargas en la carga til set 2 en la posicin 2. Este tipo de ataque es til cuando un ataque requiere de entrada diferente y no relacionados que se insertar en varios lugares dentro de la solicitud HTTP (por ejemplo, un usuario en un parmetro, y una contrasea desconocida en otro parmetro). El nmero total de peticiones generadas por el ataque es el producto del nmero de cargas tiles en todos los conjuntos de carga til definidos - esto puede ser extremadamente grande. En este tutorial vamos a utilizar el tipo de ataque de francotirador para probar el campo ID de usuario. Puede realizar una bsqueda rpida en la pestaa de posiciones para identificar los valores de inters. Hemos realizado una bsqueda a continuacin de la palabra "seguridad":

La ficha de datos ofrece varias posiciones de codificacin / decodificacin de opciones. Esto nos permite codificar / decodificar los valores en la ficha de posiciones. Si desea codificar o decodificar cualquiera de los valores en su peticin (o "nada" en la solicitud) se puede resaltar y haga clic derecho, clic con el botn del men de "convertir a la seleccin". He seleccionado nuestro valor ID de usuario de abajo para mostrar la forma de codificar un valor de:

He codificado el valor de ID de usuario utilizando la codificacin URL:

Podemos convertir nuestros valores en 4 tipos principales diferentes, cada uno se explica a continuacin: Codificacin URL : codificacin URL (tambin conocido como codificacin por ciento) se utiliza para codificar los datos que sern incluidos en un URL. Los caracteres que se permiten en las direcciones URL se define como reservados o sin reservas en el RFC 3986 . Los caracteres reservados se definen como los personajes que a veces pueden tener un significado especial en las direcciones URL, el RFC indica que entre otras cosas, el carcter reservado se utilizan como separadores en las URL. HTML Encoding: En mi opinin codificacin HTML es mucho ms simple que la codificacin URL.Vamos a utilizar codificacin HTML para representar los caracteres que pueden tener un significado especial como un carcter literal. Usamos referencias entidades de caracteres para reemplazar estos caracteres potencialmente peligrosos con un nombre simblico, las referencias de caracteres comunes entidad se muestran a continuacin (hay alrededor de 250 referencias a entidades de caracteres ): " < "representa el < signo. " > "representa la > seal. " y "representa el + signo. " " "representa la " marca.

Base 64 : Base 64 es un trmino genrico para cualquier nmero de esquemas de codificacin similares que codifica los datos binarios de su tratamiento numrico y traducirla en una representacin en base 64. Construido cadena: La opcin de la cadena construida le permite transformar sus valores en una cadena que podra ser til en los ataques de inyeccin de cdigo. Puede crear Javascript, Microsoft SQL, Oracle y MySQL cadenas construidas. He incluido una captura de pantalla por debajo del cual se muestra un corchete angular (<) codificado con todos los tipos de codificacin diferentes:

Seleccin de una carga til Hasta ahora, hemos habilitado el proxy Burp Suite, captur una solicitud, lo envi a la herramienta de intrusin y marcado nuestras posiciones de carga til. Ahora tenemos que decirle a la herramienta de intrusin cules son los valores para insertar en las posiciones. Para definir las cargas que tenga que hacer clic en la pestaa de cargas dentro de la herramienta de intrusin:

Vamos a utilizar el tipo de ataque de francotiradores en este ejemplo por lo que slo tienen un conjunto de carga til. El men desplegable al lado del nmero del sistema de carga til permite realizar muchos tipos diferentes de pruebas de la manipulacin de datos / como se puede ver a continuacin (las definiciones tomadas de: http://www.portswigger.net/intruder/help.html ): Preestablecido lista : Esta es la fuente ms simple carga, y se configura una lista preestablecida de los elementos de carga til Archivo de tiempo de ejecucin : Esta fuente de carga se configura un archivo de texto externo desde el que las cargas tiles sern ledos en tiempo de ejecucin. Esto es til cuando una lista muy grande de cargas predefinidos que se necesita, para evitar la celebracin de toda la lista en la memoria. Una carga se lee cada lnea del archivo, por lo tanto, las cargas tiles que no puede contener caracteres de nueva lnea. Iterador personalizado : Esta fuente de carga proporciona una forma eficaz para generar permutaciones personalizadas de caracteres u otros elementos de acuerdo a una plantilla determinada. Por ejemplo, una aplicacin de pago que puede identificar a los individuos que utilizan un nmero de personal de la forma AB/12, puede que tenga que recorrer todos los posibles nmeros de personal para obtener los detalles de todos los individuos.

La sustitucin de caracteres : Esta fuente se carga una lista preestablecida de los elementos de carga til, y produce varias cargas de cada elemento mediante la sustitucin de los caracteres individuales en el tema con diferentes personajes, de acuerdo con reglas personalizables. Esta fuente de carga es til en los ataques de adivinacin de contrasea, por ejemplo, para la produccin de las variaciones comunes en las palabras del diccionario. Caso de sustitucin : Esta fuente de carga til toma una lista preestablecida de elementos de carga til, y produce una o ms cargas de cada elemento ajustando el caso de caracteres dentro de cada elemento. Esta fuente de carga til puede ser til en los ataques de adivinacin de contrasea, por ejemplo, para producir variaciones de caso sobre las palabras del diccionario. Grep recursivo : Este conjunto de carga trabaja en conjunto con la funcin grep extracto. Se permite que las cargas tiles que se genere de forma recursiva sobre la base de las respuestas a las solicitudes anteriores. El "extracto grep" funcin capta una porcin de una respuesta del servidor despus de una expresin coincidente ordinario. Con "recursivas grep" cargas tiles, el texto capturado de la respuesta del servidor anterior se utiliza como carga para la solicitud posterior. Ilegal unicode : Esta fuente se carga una lista preestablecida de los elementos de carga til, y produce una serie de cargas de cada elemento mediante la sustitucin de un carcter especificado dentro de cada elemento con Unicode ilegales de la codificacin de un carcter especificado. Esta fuente de carga til puede ser til en el intento de eludir la validacin de entrada sobre la base de comparacin de patrones, por ejemplo, defensas contra ataques de recorrido de rutas que coinciden sobre las codificaciones de los esperados .. / .. \ \ y secuencias. Bloques de caracteres : Esta fuente de carga genera bloques de caracteres de tamaos especficos utilizando una cadena de entrada. Puede ser til en la deteccin de desbordamiento de bfer y vulnerabilidades de otras condiciones de contorno en el software que se ejecuta en un nativo (no administrado) el contexto. Nmeros : Esta fuente de carga genera nmeros, ya sea secuencial o al azar, en un formato especificado. Fechas : Este cdigo genera carga de fechas entre un rango especificado, en un intervalo especificado, en un formato especificado. Esta fuente de carga til puede ser til durante la minera de datos (por ejemplo, la pesca de arrastre una cartera de pedidos de entradas colocadas en diferentes das) o ataques de fuerza bruta (por ejemplo, adivinar la fecha de nacimiento del componente de credenciales de un usuario). Forzador bruta : Esta fuente de carga genera un conjunto de cargas tiles de longitudes especficas que contienen todas las posibles permutaciones de un conjunto de caracteres especificado. Cargas nulas : Esta fuente de carga genera "NULL", es decir cargas de cadenas de longitud cero. Se puede generar un nmero especificado de cargas tiles nulos, o continuar indefinidamente.

Char frobber : Esta opera en el valor de la base existente en cada posicin de carga, o en una cadena especificada. Que completa un ciclo a travs de la cadena de base de un carcter a la vez, incrementando el cdigo ASCII de ese carcter por uno. Esta fuente de carga es til cuando se est probando que partes de valores de los parmetros tienen un efecto sobre la respuesta de la aplicacin (por ejemplo, partes de las credenciales de sesin complejos). Aleta de bits : Este opera sobre el valor base existente de cada posicin de carga, o en una cadena especificada. Que completa un ciclo a travs de la cadena de base de un carcter a la vez, mover de un tirn a su vez, cada bit. Puede configurar qu partes van a dar la vuelta. Puede configurar la aleta poco ya sea para operar en el valor de la base literal, o para tratar el valor de la base como una cadena ASCII hexadecimal. Esta fuente de carga til puede ser til en situaciones similares a la frobber carcter, pero donde se necesita un control ms preciso. Por ejemplo, si las credenciales de sesin u otros valores de parmetros contienen datos significativos cifrados con una cifra de bloque en modo CBC, puede ser posible cambiar partes de los datos descifrados de forma sistemtica mediante la modificacin de los bits dentro del bloque cifrado anterior. En esta situacin, puede utilizar la fuente de la aleta de carga til de bits para determinar los efectos de la modificacin de los bits individuales dentro del valor cifrado, y entender si la solicitud puede ser vulnerable. Nombre de usuario del generador : Esta fuente de carga lleva los nombres de humanos como de entrada, y genera nombres de usuario potenciales utilizando varios esquemas comunes. Vamos a utilizar una lista predefinida de insumos para nuestras pruebas:

Las cargas se pueden modificar mediante las reglas de procesamiento en el procesamiento de carga til seccin de las reglas de la ficha de carga til. Las reglas de procesamiento de carga til de casi necesita una entrada de blog a s mismos as que me animo a probar por ti mismo. Las reglas que se pueden aplicar a las cargas tiles son: (definiciones tomadas de: http://www.portswigger.net ): Agregar el prefijo: aade un valor de prefijo a la carga Agregue el sufijo: Agrega un valor sufijo a la carga Crnica / reemplazar: Definir una expresin regular y un valor a sustituir las coincidencias de expresiones regulares con el. Subcadena : Desde un desplazamiento especificado y hasta una longitud especificada Invertir subcadena: Como subcadena, pero ajustado a partir del final de la carga til Modificar el caso: mismas opciones que para el caso de la fuente de carga de sustitucin Codificar: Como URL, HTML, Base64, ASCII hexadecimal y cuerdas construidas para varias plataformas Decode : Como URL, HTML, Base64 y ASCII hexadecimal Hash: Crear un algoritmo de hash, hash mltiples disponibles (SHA-512, etc MD5) Aadir capacidad de carga en bruto : esto puede ser til si es necesario incluir la misma carga til en forma cruda y hash

Configuracin de las opciones de intrusos La pestaa de opciones en la herramienta de intrusin te permite configurar los parmetros de prueba adicionales, incluida una funcin grep, lo que permite un modo de DOS y de decidir cmo quiere que la suite para manejar las redirecciones Burp 3xx. Tambin puede indicar la Suite Burp para hacer una peticin sin ningn valor siendo modificado que se utiliza una solicitud de referencia. Esta solicitud de referencia se utiliza para comparar las solicitudes de ataque en contra. Para este ejemplo vamos a la funcin grep para realizar una comparacin de patrones simples. La Suite Haga eructar le proporcionar una lista predeterminada de palabras para que coincida en contra, pero vamos a eliminar estos y aadir la nuestra para esta prueba. El campo ID de usuario que nos proporcione se entr en una consulta SQL. Si la aplicacin no puede validar de forma segura este valor una vulnerabilidad de inyeccin SQL podra existir. Queremos que la herramienta de intrusin para llevar a cabo una comparacin de patrones sobre la base de esta cadena: "sintaxis SQL". Esto nos permitir identificar fcilmente los errores de SQL causados por las entradas de nuestras pruebas:

Guardar la configuracin de nuestro ataque La prueba de que hemos configurado en este tutorial slo se puede utilizar una vez, pero podemos salvar nuestra configuracin de ataque, as que puede repetir esta prueba en el

futuro. Puede guardar la configuracin de su ataque haciendo clic en el elemento de men de intrusos y seleccionando "Guardar configuracin ataque". Puede guardar sus pruebas con o sin las posiciones de carga til:

Como se puede ver en la imagen superior tambin cargar las configuraciones de ataque haciendo clic en el elemento de men de intrusos. Ejecucin de las pruebas Lo nico que nos queda por hacer ahora es ejecutar nuestras pruebas. Para iniciar la herramienta de intrusin debe hacer clic en el punto Intruder men y luego haga clic en "ataque inicial":

Una nueva ventana se abrir el cual le mostrar cada prueba, la carga utilizada, el cdigo de estado, la longitud y en nuestro caso las pruebas que coinciden con nuestra sintaxis SQL coincidencia de patrn:

Se puede ver que algunas de las pruebas coincide con nuestra palabra coincidencia de patrn mirando a las casillas de verificacin en la columna de la sintaxis SQL. Para revisar la solicitud y la respuesta para cada prueba que usted puede hacer clic en cualquiera de las solicitudes que aparecen en la ventana de ataque. La solicitud y respuesta para la prueba se muestra en la mitad inferior de la ventana de ataque de un intruso. Vamos a revisar 13 solicitud que entr en una comilla simple (') en el campo ID de usuario:

Esta cita nica provoc un error de MySQL para ser lanzado por la aplicacin:

As como usted puede ver, hemos utilizado la herramienta de Burp Suite intrusos para identificar a un potencial de vulnerabilidad de inyeccin SQL. Espero que hayan encontrado esta entrada del blog til y siempre estoy interesado en escuchar cualquier comentario que tenga. SN

Anda mungkin juga menyukai