Fingerprinting en ciberseguridad
El fingerprinting es la técnica de identificar dispositivos, sistemas operativos, aplicaciones y servicios de una red leyendo lo que revelan de sí mismos, desde los banners de servicio hasta las pequeñas diferencias en cómo responden.
En seguridad, el fingerprinting es la técnica de identificar dispositivos, sistemas operativos, aplicaciones y servicios de una red.
Es lo que convierte una lista de direcciones alcanzables en una idea de qué está corriendo ahí de verdad, que es el paso que hace posible detectar versiones desactualizadas y configuraciones inseguras.
Lo usan las dos partes. Quien defiende hace fingerprinting de su propio parque para saber qué tiene expuesto y en qué estado está. Quien ataca lo hace para decidir qué exploit merece la pena probar.
Qué lo caracteriza
Leer las señales pequeñas. Banners de servicio, comportamiento del protocolo, tiempos de respuesta, el orden exacto de las opciones en la cabecera de un paquete. El software deja escapar su identidad en detalles que nadie decidió publicar, y esos detalles bastan para construir un perfil detallado.
Identificación precisa. El objetivo no es saber que ahí hay algo, sino saber qué es: el fabricante, la versión del sistema operativo, las aplicaciones instaladas y las versiones concretas del software. Un número de versión es lo que conecta un host con una vulnerabilidad conocida.
Técnicas distintas. Van desde observar el tráfico de forma pasiva hasta usar herramientas especializadas que consultan los servicios a propósito. Cuál es la apropiada depende de lo que se haya autorizado, y la diferencia no es cosmética.
Un ejemplo
Un equipo está haciendo una evaluación de vulnerabilidades sobre una red corporativa.
Usan fingerprinting para analizar el tráfico y consultar los servicios, y montan un inventario de qué está corriendo en cada sitio.
Lo que sale es una lista de hosts con software desactualizado y servicios que se quedaron en su configuración por defecto, varios de los cuales se corresponden directamente con vulnerabilidades documentadas públicamente.
A partir de ahí el trabajo es correctivo: parchear, actualizar y cambiar las configuraciones, en el orden que justifique la exposición y no en el orden en que el escáner las imprimió.
Fingerprinting, reconocimiento y OSINT
El fingerprinting es una técnica; el reconocimiento es la fase que la contiene; OSINT es de dónde sale parte del material. Se citan juntos y no son intercambiables.
El reconocimiento es la primera fase de cualquier intrusión y también de cualquier proyecto ofensivo legítimo, y se parte en dos: pasivo y activo.
OSINT es su mitad pasiva: información que ya es pública, recogida sin tocar los sistemas del objetivo y sin dejar rastro en ellos.
El fingerprinting es sobre todo la mitad activa: se le pregunta al servicio y de su respuesta se deduce el fabricante, el producto y la versión. Por eso necesita autorización previa y por eso queda en los registros del objetivo. También existe en forma pasiva, observando el tráfico sin enviar nada, y esa diferencia es la que decide qué se puede hacer sin permiso.
El footprint es el objeto que todo esto produce: lo que se sabe de una organización mirándola desde fuera.
En una frase: OSINT es de dónde se lee, el fingerprinting es lo que se pregunta, el reconocimiento es la fase entera y el footprint es lo que queda escrito al final.
Dónde leer más
Infosec Resources, Fingerprinting: identifying applications: un recorrido por el concepto desde lo básico hasta las herramientas, y una buena introducción a cuánto revela un servicio de sí mismo.