Yeti e IntelMQ: Alternativas para Gestion de Threat Intelligence
Yeti e IntelMQ como alternativas open source para gestion de threat intelligence. Observables, grafos, pipelines de bots, harmonizacion de datos y comparativa con MISP y OpenCTI.
MISP y OpenCTI dominan el panorama de plataformas CTI, pero Yeti e IntelMQ cubren nichos donde las grandes plataformas son excesivas
No todos los equipos necesitan la complejidad de MISP (modelo de datos extenso, ecosistema de comparticion) ni la infraestructura de OpenCTI (Elasticsearch, Redis, RabbitMQ, MinIO). Yeti ofrece gestion de inteligencia ligera con grafos. IntelMQ ofrece pipelines de procesamiento de feeds automatizados. Ambos son open source, mantenidos activamente y desplegables en minutos.
Yeti: organizacion de inteligencia con grafos
Yeti (Your Everyday Threat Intelligence) es una plataforma de gestion de threat intelligence desarrollada originalmente por el equipo de CERT Societe Generale. Su objetivo: dar a los analistas una herramienta para organizar, buscar y relacionar indicadores sin la curva de aprendizaje de MISP.
Modelo de datos
Yeti organiza la inteligencia en cuatro tipos de entidades:
Observables: los datos tecnicos. IPs, dominios, URLs, hashes, emails, nombres de archivo, mutexes, claves de registro. Cada observable tiene tipo, valor, contexto, tags y fecha de creacion. Son el equivalente a los IOCs pero sin implicar necesariamente malicia (un dominio puede ser observable sin ser indicador malicioso).
Indicators: reglas que definen patrones maliciosos. Reglas YARA, Sigma, Snort/Suricata. A diferencia de los observables (datos puntuales), los indicadores son patrones reutilizables. Un indicador YARA puede detectar multiples muestras de la misma familia.
Entities: objetos de contexto. Actores de amenaza, campanas, malware, herramientas, vulnerabilidades (CVEs). Las entidades dan significado a los observables y los indicadores.
TTPs: tecnicas, tacticas y procedimientos mapeados a MITRE ATT&CK. Conectan las entidades con el "como" del ataque.
Grafo de relaciones
La caracteristica diferencial de Yeti es su grafo de relaciones. Cada tipo de entidad se conecta con los demas:
Observable (IP: 198.51.100.23)
│
├── uses ──► Entity (Malware: Emotet)
│ │
│ ├── attributed-to ──► Entity (Actor: TA542)
│ │
│ └── uses ──► TTP (T1566: Phishing)
│
├── part-of ──► Entity (Campaign: Emotet Q1 2026)
│
└── matched-by ──► Indicator (YARA: emotet_loader_v4)
El grafo permite navegar la inteligencia de forma intuitiva: desde un IOC, saltar al malware asociado, de ahi al actor, y del actor a las TTPs que emplea. Esta navegacion visual es mas natural que las tablas de MISP.
API y busqueda
Yeti expone una API REST para todas las operaciones:
# Buscar un observable
curl -XPOST https://yeti.local/api/v2/observables/search \
-H "X-Yeti-API: API_KEY" \
-d '{"filter": {"value": "198.51.100.23"}}'
# Crear un observable
curl -XPOST https://yeti.local/api/v2/observables/ \
-H "X-Yeti-API: API_KEY" \
-d '{
"type": "ipv4",
"value": "198.51.100.23",
"tags": ["emotet", "c2"],
"context": [{"source": "abuse.ch", "date": "2026-06-01"}]
}'
# Obtener vecinos de un observable (grafo)
curl -XGET https://yeti.local/api/v2/observables/{id}/neighbors \
-H "X-Yeti-API: API_KEY"
La busqueda soporta filtros por tipo, tags, fecha y texto libre. Para equipos que manejan miles de observables, la busqueda es rapida gracias a la indexacion en MongoDB.
Despliegue
Yeti se despliega con Docker:
git clone https://github.com/yeti-platform/yeti.git
cd yeti
docker-compose up -d
# Acceso: http://localhost:5000
Componentes del stack:
- Yeti API + Web: aplicacion principal (Python/Flask o FastAPI segun version)
- MongoDB: almacenamiento de observables, entidades y relaciones
- Redis: cache y cola de tareas
- Celery: workers para tareas asincronas (importacion de feeds, enrichment)
IntelMQ: pipelines de procesamiento de feeds
IntelMQ es un framework de procesamiento de datos de threat intelligence desarrollado por CERT.at (el CERT nacional de Austria) bajo el paraguas de la iniciativa europea IHAP (Incident Handling Automation Project). Su enfoque es radicalmente diferente a Yeti o MISP: no es una plataforma de gestion, sino un pipeline de procesamiento automatizado.
Arquitectura de bots
IntelMQ modela el procesamiento como una pipeline de bots conectados por colas de mensajes (Redis):
┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ Collector │ → │ Parser │ → │ Expert │ → │ Output │
│ Bots │ │ Bots │ │ Bots │ │ Bots │
└───────────┘ └───────────┘ └───────────┘ └───────────┘
Collector bots: obtienen datos de fuentes externas. HTTP fetch, IMAP (emails con IOCs), FTP, filesystem, API calls. Cada collector sabe como obtener datos de una fuente especifica.
Parser bots: transforman los datos crudos en el formato harmonizado de IntelMQ. Un parser sabe interpretar el formato especifico de cada feed (CSV de abuse.ch, JSON de OTX, STIX de MITRE).
Expert bots: enriquecen y filtran los eventos. Geolocalizacion de IPs (MaxMind), lookup en listas de reputacion, deduplicacion, clasificacion por taxonomia, reverse DNS. Los expert bots son el corazon del pipeline.
Output bots: envian los eventos procesados a destinos. Base de datos PostgreSQL, archivo CSV, API de TheHive, instancia MISP, Elasticsearch, email, syslog.
Harmonizacion de datos
La contribucion mas importante de IntelMQ es su modelo de datos harmonizado. Todos los feeds, independientemente de su formato original, se convierten a un esquema comun:
{
"source.ip": "198.51.100.23",
"source.fqdn": "malicious.ejemplo.com",
"source.port": 443,
"source.asn": 64512,
"source.geolocation.cc": "RU",
"classification.type": "c2-server",
"classification.taxonomy": "malicious-code",
"malware.name": "emotet",
"time.observation": "2026-06-05T10:30:00Z",
"time.source": "2026-06-05T08:00:00Z",
"feed.name": "abuse.ch Feodo Tracker",
"feed.url": "https://feodotracker.abuse.ch/downloads/ipblocklist.json"
}
Este modelo cubre mas de 100 campos estandarizados. La ventaja: una vez que un feed esta harmonizado, todos los expert bots y output bots funcionan sin modificaciones. Anadir un nuevo feed solo requiere un collector y un parser.
Taxonomia de clasificacion
IntelMQ usa la taxonomia de eCSIRT (European CSIRT Network) para clasificar eventos:
| Taxonomia | Tipos |
|---|---|
| Malicious Code | malware, ransomware, c2-server, malware-distribution |
| Fraud | phishing, spam |
| Intrusions | system-compromise, application-compromise, burglary |
| Availability | ddos, sabotage |
| Information Gathering | scanner, sniffing, social-engineering |
| Vulnerable | vulnerable-system, vulnerable-service |
| Other | other, undetermined |
IntelMQ Manager
IntelMQ Manager es la interfaz web que permite configurar pipelines visualmente:
[Collector: Feodo] → [Parser: Feodo] → [Expert: GeoIP]
│
▼
[Expert: Dedup]
│
┌───────┴───────┐
▼ ▼
[Output: PostgreSQL] [Output: MISP]
Cada bot se configura con parametros especificos (URL del feed, intervalo de ejecucion, umbrales de deduplicacion). La interfaz permite iniciar, detener y monitorizar cada bot individualmente.
Instalacion
# Via paquetes (Debian/Ubuntu, recomendado por CERT.at)
sudo apt install intelmq intelmq-manager intelmq-api
# O con Docker
docker pull certat/intelmq
docker run -p 8080:8080 certat/intelmq
Casos de uso de cada herramienta
Yeti: gestion de inteligencia interna
Equipo CTI interno de una empresa. El equipo recibe informes de proveedores (Mandiant, CrowdStrike, Recorded Future), feeds publicos y alertas internas. Yeti permite organizar toda esta inteligencia, crear relaciones entre actores, campanas y observables, y buscar rapidamente contexto cuando aparece un IOC en un incidente.
Investigacion de campanas. Un analista investiga una campana de phishing. En Yeti, crea la entidad "Campana", la vincula al actor sospechado, anade los observables (dominios de phishing, IPs de hosting, hashes de adjuntos) y mapea las TTPs observadas. El grafo resultante documenta toda la investigacion.
Gestion de indicadores defensivos. El equipo mantiene reglas YARA y Sigma como indicadores en Yeti, vinculadas a las familias de malware que detectan. Cuando una familia evoluciona, los indicadores se actualizan con contexto.
IntelMQ: procesamiento automatizado de feeds para CERTs
CERT nacional. Un CERT recibe docenas de feeds diarios (abuse.ch, Shadowserver, ShadowServer Honeypot, Team Cymru). IntelMQ los procesa automaticamente: collector obtiene datos, parser los harmoniza, expert anade geolocalizacion y clasificacion, output los almacena en PostgreSQL y genera notificaciones para los operadores de red afectados.
ISP abuse desk. Un proveedor de internet necesita procesar notificaciones de abuso (IPs de sus clientes reportadas en feeds de spam o malware). IntelMQ filtra los eventos por rango de IP del ISP, enriquece con datos de cliente y genera tickets automaticos.
Automatizacion de feeds para SIEM. Una organizacion quiere alimentar su SIEM con feeds de IOCs actualizados. IntelMQ procesa los feeds, deduplica, clasifica y exporta a Elasticsearch, donde el SIEM los consume como listas de reputacion.
Comparativa: Yeti, IntelMQ, MISP, OpenCTI
| Caracteristica | Yeti | IntelMQ | MISP | OpenCTI |
|---|---|---|---|---|
| Tipo | TIP ligera con grafos | Pipeline de procesamiento | TIP completa con sharing | TIP analitica avanzada |
| Enfoque | Organizar y relacionar | Procesar y harmonizar | Compartir y correlacionar | Analizar y visualizar |
| Modelo de datos | Observables, Entities, TTPs, Indicators | Eventos harmonizados (100+ campos) | Eventos, Atributos, Galaxies, Taxonomias | STIX 2.1 completo |
| Grafo | Si (nativo) | No | Limitado (correlaciones) | Si (potente) |
| Comparticion | No (API export) | No (output bots) | Si (sync, feeds, sharing groups) | Si (STIX/TAXII, data sharing) |
| Feeds incluidos | Pocos (importacion manual) | 80+ collectors/parsers | 100+ feeds via MISP modules | 100+ conectores |
| Harmonizacion | No (schema flexible) | Si (modelo eCSIRT) | Parcial (formato MISP) | Si (STIX 2.1) |
| Playbooks/Workflows | No | Pipeline de bots | No (via integracion) | Si (basicos) |
| Infraestructura | MongoDB + Redis | Redis + PostgreSQL | MySQL/MariaDB + Redis | Elasticsearch + Redis + RabbitMQ + MinIO |
| Curva aprendizaje | Baja | Media | Alta | Alta |
| Mejor para | Equipos CTI internos | CERTs, ISPs, procesamiento masivo | Comparticion entre organizaciones | Analisis avanzado, correlacion |
| Mantenimiento | CERT Societe Generale | CERT.at + comunidad | CIRCL Luxembourg | Filigran |
Cuando elegir cual
Elige Yeti si tu equipo necesita una herramienta ligera para organizar observables, indicadores y relaciones sin la complejidad de MISP. Ideal para equipos de 2 a 5 analistas que trabajan con inteligencia interna y no necesitan comparticion inter-organizacional.
Elige IntelMQ si tu necesidad principal es procesar feeds de IOCs automaticamente, harmonizar datos de multiples fuentes y distribuirlos a destinos (SIEM, firewall, MISP). Ideal para CERTs y SOCs que gestionan decenas de feeds.
Elige MISP si necesitas compartir inteligencia con otras organizaciones (ISACs, CERTs, comunidades). MISP es el estandar de facto para sharing de IOCs en la comunidad CTI europea.
Elige OpenCTI si necesitas analisis avanzado con modelo STIX 2.1 completo, inferencia automatica de relaciones, dashboards analiticos y conectores con 100+ fuentes. Requiere mas infraestructura pero ofrece mas capacidad analitica.
Combinaciones comunes:
- IntelMQ + Yeti: pipeline automatizado de feeds + gestion de inteligencia con grafos
- IntelMQ + MISP: procesamiento de feeds + comparticion inter-organizacional
- MISP + TheHive + Cortex: inteligencia compartida + gestion de incidentes + enrichment
- OpenCTI + TheHive: analisis CTI avanzado + respuesta a incidentes
Integracion entre herramientas
Yeti con IntelMQ
IntelMQ procesa y harmoniza feeds. Los eventos resultantes se envian a Yeti via output bot, donde se almacenan como observables con tags y contexto del feed original. El analista en Yeti navega los observables enriquecidos y crea relaciones con entidades.
Yeti con MISP
Yeti puede importar eventos MISP y exportar observables a MISP. La importacion trae atributos MISP como observables en Yeti. La exportacion permite compartir hallazgos del equipo CTI interno con la comunidad via MISP.
IntelMQ con TheHive
IntelMQ puede enviar eventos criticos directamente a TheHive como alertas via output bot. Un evento clasificado como "c2-server" con IP de la organizacion afectada genera automaticamente una alerta en TheHive para triaje por el SOC.
Yeti con MalwareIntel
Los observables de Yeti se sincronizan con MalwareIntel via API bidireccional. IOCs almacenados en MalwareIntel (con contexto de familia, confianza y fuente) se importan a Yeti para vincularlos con entidades y TTPs del equipo CTI interno.
Recursos
- Yeti Platform GitHub (codigo fuente y documentacion)
- IntelMQ Documentation (guia oficial de CERT.at)
- IntelMQ GitHub (codigo fuente y bots disponibles)
- IntelMQ Manager (interfaz web de configuracion)
- IHAP Project (iniciativa europea de automatizacion)
- eCSIRT Taxonomy (clasificacion de incidentes)
- Yeti API Documentation (referencia de la API REST)
Preguntas frecuentes
Artículos relacionados
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.