El Analizador de Red Pasivo para Insights ProfundosDefinición y Propósito Básico:
Zeek (anteriormente conocido como Bro) es un framework open-source de análisis de red diseñado específicamente para monitorización de seguridad. No es un IDS tradicional que genera alertas basadas en firmas; en cambio, actúa como un “analizador pasivo” que inspecciona el tráfico de red en tiempo real, extrayendo datos estructurados y generando logs detallados sobre actividades de red. Su objetivo es proporcionar visibilidad profunda para que analistas de seguridad detecten anomalías, como intentos de exfiltración de datos o comportamientos sospechosos, sin intervenir en el flujo de tráfico. Imagina Zeek como un “observador silencioso” que registra todo lo que sucede en la red, similar a un registrador de vuelo en un avión, pero para paquetes de datos.
Historia: Zeek fue creado en la década de 1990 por Vern Paxson en la Universidad de California, Berkeley, y laboratorios nacionales de EE.UU., como una herramienta para monitorear redes académicas y gubernamentales. Inicialmente llamado “Bro” (por “brother watching over you”, un juego de palabras sobre vigilancia protectora), se enfocaba en investigación financiada por el gobierno federal.
En 2018, se renombró a Zeek para reflejar su madurez y evitar confusiones con otros proyectos. Hoy, es mantenido por la comunidad y respaldado por empresas como Corelight, con más de 20 años de desarrollo y más de 10.000 despliegues globales. Ha evolucionado de un prototipo académico a un estándar en NSM, influenciando herramientas modernas.
zeek.org
Cómo Funciona en NSM: Zeek se despliega en “sensores” (hardware, software, virtual o en la nube) que capturan tráfico de red mediante interfaces como libpcap o PF_RING. Procesa el tráfico en capas:
- Captura de Paquetes: Lee el tráfico en tiempo real sin modificarlo.
- Análisis de Protocolos: Descompone paquetes en eventos de alto nivel, como “conexión HTTP establecida” o “archivo transferido vía SMB”.
- Generación de Logs: Produce más de 70 tipos de logs por defecto (e.g., conn.log para conexiones, http.log para solicitudes web, dns.log para consultas DNS), rastreando más de 3.000 eventos de red. Estos logs son en formato estructurado (JSON o TSV), fáciles de integrar en SIEMs como ELK Stack.
- Detección Pasiva: No bloquea nada; en cambio, alerta sobre patrones sospechosos, como tráfico encriptado inusual o exfiltración de datos.
Por ejemplo, si un atacante intenta un ataque de comando y control (C2) vía DNS tunneling, Zeek registraría consultas DNS anómalas en dns.log, permitiendo a un analista correlacionarlas con otros eventos.
Capacidades de Scripting (ZeekScript): Una de las fortalezas de Zeek es su lenguaje de scripting propio, ZeekScript, que permite personalizar el análisis. Es un lenguaje de dominio específico (DSL) inspirado en C, con sintaxis simple para definir manejadores de eventos.
- Características del Lenguaje: Soporta variables, funciones, módulos, condicionales, bucles y tipos como strings, integers, records (estructuras). Incluye operadores para manipular datos de red, como extracción de campos de paquetes.
- Manejadores de Eventos: El núcleo son los “event handlers”, funciones que se activan en eventos específicos, e.g., event http_request(c: connection, method: string, url: string) { if (method == “POST” && |url| > 1000) log(“Posible ataque”); }. Esto permite detectar payloads grandes en POSTs HTTP.
- Uso en Análisis Personalizado: Scripts se cargan en runtime para extender funcionalidades, como detectar protocolos personalizados o integrar con threat intelligence. Hay más de 270 paquetes comunitarios para scripts prehechos (e.g., para JA3 fingerprinting de TLS).
- Ejemplos: Un script básico podría monitorear conexiones SSH inusuales: event ssh::client_version(c: connection, version: string) { if (version contains “malware”) notice(“SSH sospechoso”); }. En NSM, esto ayuda a crear detecciones personalizadas sin recompilar el código.
- Integración: Los scripts generan outputs que se integran con herramientas como Suricata (para correlación de alertas) o SIEMs via JSON.
Características Clave:
- Soporte para protocolos modernos (HTTP/2, QUIC, TLS 1.3).
- Alta escalabilidad: Maneja gigabits por segundo en hardware estándar.
- Comunidad activa: Más de 7.300 estrellas en GitHub.
- Use Cases: Monitoreo en universidades, gobiernos y empresas para threat hunting, análisis forense y compliance (e.g., detectar fugas de PII).
Versión Actual (diciembre 2025): La versión LTS estable es 8.0.4 (lanzada en noviembre 2025), con correcciones de seguridad. La pre-lanzamiento de características es 8.1.0-rc1 (15 de diciembre 2025), que incluye mejoras en Spicy (analizador de protocolos) y soporte para nuevos eventos.