
En el ámbito de la ciberseguridad, identificar y caracterizar con precisión los servidores web es crucial para la detección de amenazas, la evaluación de vulnerabilidades y el mapeo de redes. Presentamos HTTP-Basma, un novedoso algoritmo de fingerprinting activo que revela perfiles únicos de servidores mediante un enfoque multicapa.
HTTP-Basma está disponible en https://httpbasma.netomize.ca/
En el ámbito de la ciberseguridad, identificar y caracterizar con precisión los servidores web es crucial para la detección de amenazas, la evaluación de vulnerabilidades y el mapeo de redes. Presentamos HTTP-Basma, un novedoso algoritmo de fingerprinting activo que revela perfiles únicos de servidores mediante un enfoque multicapa, abordando así este desafío.
Características clave: Solicitudes Diseñadas, Respuestas Reveladoras: HTTP-Basma envía 8 sondas HTTP meticulosamente diseñadas, provocando respuestas distintivas que reflejan las configuraciones del servidor. Doble Hash para Versatilidad. El algoritmo genera dos hashes:
Agrupación y Caza: Estos hashes permiten la agrupación de servidores, la identificación de servidores únicos y similares, y la búsqueda de actores maliciosos con mayor confianza.
Diseño Modular para Expansión: La arquitectura del algoritmo fomenta la adición de nuevas variantes de hash, alentando la colaboración y la adaptabilidad.
En este documento, primero revisamos los trabajos existentes notables sobre fingerprinting HTTP y luego exploramos la funcionalidad, el diseño, la arquitectura y los resultados del algoritmo. Además, mostraremos hallazgos convincentes del escaneo del top 1 millón de sitios web de Majestic, incluida la identificación y agrupación de servidores HTTP C&C para varias familias de malware.
La idea central del algoritmo de HTTP-Basma se centra en enviar 8 solicitudes HTTP especialmente diseñadas con requisitos variables para provocar diferentes respuestas del servidor. Una vez recuperada la respuesta del servidor, la línea de estado HTTP se disecciona quirúrgicamente para todos sus elementos y se codifica de manera óptima. Además, se verifica la codificación de ciertos encabezados seleccionados de la respuesta del servidor.
Las solicitudes que envía son de estos tipos:
Después de cada solicitud, se analiza la respuesta del servidor para extraer encabezados específicos y sus valores. Estos datos extraídos se someten a un procesamiento adicional, incluida la disección y codificación, para generar una huella digital reversible.
Los detalles técnicos completos de cómo funciona el algoritmo se encuentran en el documento adjunto.
Esta filosofía de diseño modular trata cada huella digital de solicitud como un bloque de construcción, lo que permite una refactorización elegante, con la posibilidad de agregar y restar la huella digital de cualquier solicitud.
Muestra de huellas digitales:
- fp verbosus: 011420958a0014514bd5221420958a221420958a221420958a2200001420958a22000000001f
- fp pacto: 02464ae8b7d86f82c9918e2c2b9d6b91
- nota: tasa de falsos positivos (72/986,910)
- fp verbosus: 01142494d60914514bd522142494d6221420958a701420958a220000140e04922032c37f1609
- fp pacto: 020769322f3d94ac2f258ddf5ce08502
- nota-1: tasa de falsos positivos 0
- nota-2: tevedadav.site/43.209.165.126:443 (TLS)
- muestra-(sha-256): 9aa1dec8dd12f8adc7fc1274e1958f3613450109ee8b4ec6442a0fcf06df0972
- fp verbosus: 01140a85e40014512f3612140a85e422140a85e422140a85e4220000140a85e4220000000001
- fp pacto: 0207292309a7a7e798e417d69df5f2a5
- nota: tasa de falsos positivos (73/986,910)
- fp verbosus: 01140a85e4001320958a22142494d62214254c5e2214254c5e22080014254c5e220000000000
- fp pacto: 0202be780e1eaae0eaa6184e20c909b6
- nota: tasa de falsos positivos (4/986,910)
- fp verbosus: 01140a85e4011320958a22142494d67214254c5e2214254c5e22080014254c5e220000000000
- fp pacto: 02cc5be6d05192e17de041538508bc22
- nota: tasa de falsos positivos (38/986,910)
- fp verbosus: 01140a85e40914514bd522140a85e4721420958a701420958a220800140a85e4720000001609
- fp pacto: 0221b4e46bbd0e5c037f5a852ca3fdc0
- nota: tasa de falsos positivos (6/986,910)
HTTP-Basma es una herramienta en C++ que desarrollé para demostrar la practicidad y viabilidad de este algoritmo. Aprovecha la biblioteca de Chilkat para todas las interacciones de sockets HTTP y utiliza otras clases de soporte dentro de la biblioteca. Además, la herramienta incluye una función de demangling que puede diseccionar e invertir el hash difuso verbosus, generando un objeto JSON completo, y una función comparadora que muestra las diferencias entre dos huellas digitales verbosus.
Tenga en cuenta que algunas salidas de la herramienta pueden usar números de sonda ligeramente diferentes, pero el orden subyacente permanece consistente: P1->P1, P2->P2, P3->P3, P4->P4, P->P5, P6->P6F, P7->P6L, P8->P7a.
Uso:
HTTP-Basma [OPCIÓN...]