
Un plugin de Burp en Java que realiza agrupamiento de texto en las respuestas para identificar valores atípicos/grupos basándose en el contenido real de las respuestas del servidor, por ejemplo, de una ejecución de Intruder.
Una extensión de Burp Suite para agrupar respuestas HTTP y encontrar valores atípicos.
Este es un plugin que he estado pensando en construir durante muchos años, simplemente porque me molesta moderadamente cómo analizamos los resultados de los ataques de fuzzing en Burp intruder. Normalmente buscamos cambios en las respuestas del servidor en nuestros ataques de fuzzing. Y buscamos esas diferencias observando los códigos de estado, el tiempo de respuesta y los tamaños de respuesta. Todas estas son medidas indirectas del contenido de la respuesta. Por supuesto, como pentesters no tenemos tiempo para leer el contenido de miles de servidores para buscar diferencias en el contenido de las respuestas. Pero ciertamente podemos hacer que los algoritmos hagan esto por nosotros.
Ahí es donde entra este plugin. Utiliza técnicas de clustering de texto para analizar el contenido de las respuestas y agruparlas en clústeres según su similitud. Te ofrece otra forma de ver los resultados de tus ataques de fuzzing con intruder, e identificar rápidamente aquellas respuestas del servidor que son diferentes.
Colonel Clustered proporciona dos algoritmos diferentes para realizar el clustering de respuestas. El algoritmo predeterminado es relativamente rápido, con un algoritmo opcional de análisis más profundo que sobresale en la detección de valores atípicos, pero no escala bien. Bueno, ninguno escala bien, dudaría en lanzar 50k respuestas a este plugin. El algoritmo más rápido/predeterminado tiene una complejidad O(n^2), mientras que el algoritmo de análisis profundo es O(n^3). Así que tenlo en cuenta a medida que le envías resultados de intruder para procesar.
Tokenización Consciente del Contenido: La extensión primero inspecciona el encabezado Content-Type de cada respuesta para aplicar la estrategia de tokenización más inteligente:
Pre-Agrupación: Para mantenerse rápido incluso con miles de respuestas, la extensión realiza una única pasada para agrupar todas las respuestas perfectamente idénticas. Calcula un hash del conjunto de tokens de cada respuesta y agrupa todos los elementos que comparten el mismo hash. Esto significa que el costoso algoritmo de clustering solo tiene que ejecutarse sobre el conjunto mucho más pequeño de cuerpos de respuesta únicos.
Algoritmos de Clustering Duales: Colonel Clustered ofrece dos algoritmos de clustering distintos:
Fast Scan (Predeterminado): Un algoritmo de alto rendimiento basado en DBSCAN se ejecuta automáticamente cuando envías múltiples solicitudes/respuestas a la extensión.
Deep Analysis (Activación Manual): El algoritmo original de clustering jerárquico, más intensivo computacionalmente, está disponible a través de un botón "Deep Analysis". Esta opción está diseñada para escenarios que requieren una perspectiva de clustering más granular y potencialmente diferente, utilizando Average Linkage para mejorar la cohesión del clúster.
Consolidación de Valores Atípicos: Después del clustering, cualquier grupo resultante que contenga solo un miembro único se considera un valor atípico. Todos estos valores atípicos se consolidan luego en un único y conveniente grupo "Outliers" en la interfaz de usuario.
Estos dos algoritmos deberían proporcionar una forma fácil de identificar automáticamente respuestas del servidor que difieren en contenido, incluso cuando el tamaño de la respuesta es una medida poco fiable de las diferencias entre respuestas.
Cargar la Extensión:
Enviar Respuestas para Análisis:
Realizar Deep Analysis (Opcional):
Analizar los Resultados en la Interfaz de Cuatro Paneles:
Request/Response Pair: El índice original del elemento.Status Code: El código de estado de la respuesta HTTP.Length: La longitud del cuerpo de la respuesta en bytes.Content-Type: El encabezado Content-Type de la respuesta.