Vous êtes sur la page 1sur 21

Inicio | Seguridad de Aplicaciones | Burp Suite Tutorial - La herramienta de intrusin

Burp Suite Tutorial - La herramienta de intrusin


MARZO 12, 2010 | ESCRITO POR NINJA DE SEGURIDAD | SOLICITUD DE SEGURO , LA DE HACKING | 10
COMENTARIOS

Parte

2
enParte
correo electrnicoShare
Hola a todos,
He pasado algn tiempo esta semana revisando algunos de los puestos de seguridad antiguas de
blog Ninja, ahora que nos estamos acercando a nuestro segundo cumpleaos. Quera crear una
lista de cosas que he prometido escribir pero nunca lleg a hacerlo.
El primer elemento en mi lista es un tutorial para el conjunto de eructar. Si buscas en Google
"Tutorial Burp Suite" mi blog a partir de 2008 diciendo que iba a escribir un tutorial es la
7

resultado obtenido. El blog de Seguridad Ninja de edad ha recibido ms de 2.000 visitas a esa
entrada en el blog como un adicional de 30 visitas hasta la fecha en marzo.
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).
Quera explicar cmo utilizar la herramienta de intrusin en este primer tutorial de Burp Suite,
porque sta es probablemente la herramienta que ms uso. Tambin us la herramienta Burp
Suite Intruder para encontrar la vulnerabilidad de Facebook que el ao pasado.
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 de proxy se puede 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 de nuestra aplicacin de ejemplo y
el proxy Burp Suite ha capturado la solicitud y la respuesta:


La pgina de inicio de sesin es muy sencillo, tenemos dos puntos de entrada que necesitamos
para poner a prueba las debilidades de validacin de entrada.
Tenemos que capturar una solicitud de inicio de sesin y vuelva a colocar el nombre de usuario
y la contrasea con los valores de 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 enve el formulario de inicio de sesin 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.
La ficha de posiciones que se muestra en la imagen de arriba tiene cuatro tipos de ataque
diferentes para que usted elija (definiciones tomadas
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 de establecer una
en la posicin 1 y la carga del primer conjunto de carga 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 de carga establecer 2 en la posicin 2, etc Este tipo de ataque es til cuando un ataque
requiere de entrada diferente pero relacionado para ser insertado 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 poner a prueba tanto el
nombre de usuario y las contraseas.
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.
Vamos a utilizar una lista predefinida de insumos para nuestras pruebas:

Tambin tenemos otras opciones en la pgina de carga que es posible que desee utilizar durante
las pruebas. El "caso" del men desplegable le permite realizar tareas de casos de modificacin
de sus cargas tiles incluyendo el cambio de todos los caracteres a maysculas o
minsculas. Tambin puede utilizar expresiones regulares para la concordancia / reemplazar los
valores de sus cargas tiles.
Las cargas tambin puede ser codificada o hash, si es necesario durante nuestras pruebas. Las
opciones son (definiciones tomadas de http://www.portswigger.net/intruder/help.html ):
No codificar : n se realiza el procesamiento.
URL codificar estos caracteres : Cualquiera de los personajes que aparecen especificados en
la cadena de carga son de codificacin URL (por ejemplo, los caracteres de espacio se
sustituyen por el 20%). Esto es til en espacios u otros caracteres problemticos aparecen en las
cargas tiles que se insertan en el cuerpo de direccin URL o un mensaje, pues pueden causar
algunos servidores web para devolver errores a no ser correctamente codificados para la
transmisin segura a travs de HTTP.
Base 64 codifican : Esto agrega un prefijo y un sufijo especfico para la carga til, y la base-64
codifica la cadena completa. Un posible uso de esta funcin es en la fuerza bruta, los controles
bsicos de autenticacin HTTP. Agregando el prefijo "nombre de usuario:" a la carga permite
una lista de palabras fcil de utilizar para realizar adivinar la contrasea contra el nombre de
usuario especificado.
Hash : Esto agrega un prefijo y un sufijo especfico para la carga til, y tiene una suma de
comprobacin criptogrfica de toda la cadena, utilizando el algoritmo seleccionado (MD5,
SHA, etc.)Esta funcin puede ser til cuando se ataca a esquemas de autenticacin
personalizados que utilizan los valores 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.
Para este ejemplo vamos a utilizar 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 formulario de inicio de sesin que vamos a probar utiliza un archivo XML que contiene los
nombres de usuario y contraseas para autenticar a los usuarios. Los valores de nombre de
usuario y la contrasea que proporcionamos se entr en una consulta XPath. Si la aplicacin no
puede validar de forma segura estos valores una vulnerabilidad de inyeccin XPATH podra
existir.
Queremos que la herramienta intruso realizar una coincidencia de patrn para nosotros usar la
palabra "XPath". Esto nos permitir identificar fcilmente los errores causados por entradas
XPATH nuestras pruebas:

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 "intruso" en el men superior y haga
clic en "Inicio":

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 se ajustan a nuestro patrn XPath palabra
partido:

Se puede ver que algunas de las pruebas coincide con nuestra palabra coincidencia de patrn
mirando a las casillas de verificacin en la columna XPATH.
Para revisar la solicitud y la respuesta para cada prueba se puede hacer doble clic en cualquiera
de las peticiones que aparecen en la ventana de ataque.
Vamos a revisar 13 solicitud que entr en una comilla simple (') en el campo Nombre de
Usuario:

Esta cita nica ha producido un error XPATH 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 XPath.
Espero que hayan encontrado esta entrada del blog til y siempre estoy interesado en escuchar
cualquier comentario que tenga.
SN

Vous aimerez peut-être aussi