Análisis de Tráfico de Red para Incidentes
Cuándo Usarlo
- Alertas SIEM sobre patrones de tráfico de red anómalos que requieren una investigación más profunda
- Se sospecha de balizamiento C2 y necesita confirmación mediante análisis a nivel de paquete
- Se debe cuantificar el volumen o destino de exfiltración de datos a partir de evidencia de red
- Es necesario rastrear el movimiento lateral entre sistemas a través de conexiones de red
- Una alerta IDS/IPS requiere validación a nivel de paquete para confirmar o descartar
No usar para análisis forense basado en host (ejecución de procesos, artefactos del sistema de archivos); usar herramientas de forense de endpoint en su lugar.
Prerrequisitos
- Infraestructura de captura de paquetes completa (PCAP) o capacidad de captura bajo demanda (tap de red, puerto SPAN)
- Wireshark instalado en la estación de trabajo de análisis con conocimiento de filtros de visualización apropiados
- Zeek (anteriormente Bro) desplegado para generación de metadatos de red (conn.log, dns.log, http.log, ssl.log)
- Colección NetFlow/IPFIX desde dispositivos de red para análisis de flujo de tráfico
- Diagrama de arquitectura de red que muestre la disposición de VLAN, ubicación de cortafuegos y puntos de monitoreo
- Fuentes de inteligencia de amenazas para correlacionar indicadores de red observados
Flujo de Trabajo
Paso 1: Capturar o Adquirir Tráfico de Red
Obtenga los datos de tráfico relevantes para la investigación:
Captura en Vivo (si el incidente está activo):
# Capturar en una interfaz específica filtrando por host
tcpdump -i eth0 -w captura.pcap host 10.1.5.42
# Capturar tráfico C2 hacia una IP externa específica
tcpdump -i eth0 -w trafico_c2.pcap host 185.220.101.42
# Capturar con rotación (archivos de 1GB, mantener 10)
tcpdump -i eth0 -w captura_%Y%m%d%H%M.pcap -C 1000 -W 10
Desde Infraestructura Existente:
- Exportar PCAP desde el appliance de captura de paquetes completa (Arkime/Moloch, ExtraHop, Corelight)
- Extraer logs de Zeek desde el clúster de Zeek para el período de la investigación
- Exportar datos NetFlow desde dispositivos de red para análisis de tráfico de alto nivel
Paso 2: Identificar Comunicaciones C2
Detectar patrones de tráfico de comando y control:
Detección de Balizamiento (Zeek conn.log):
# Extraer conexiones a IPs externas con intervalos regulares
cat conn.log | zeek-cut ts id.orig_h id.resp_h id.resp_p duration orig_bytes resp_bytes \
| awk '$4 ~ /^185\.220/' | sort -t. -k1,1n -k2,2n
Análisis de Balizamiento con Wireshark:
# Filtrar para tráfico hacia IP sospechosa de C2
ip.addr == 185.220.101.42
# Filtrar tráfico HTTPS hacia puertos no estándar
tcp.port != 443 && ssl
# Filtrar consultas DNS para dominios sospechosos
dns.qry.name contains "evil" or dns.qry.name matches "^[a-z0-9]{32}\."
# Filtrar HTTP POST (método común de check-in C2)
http.request.method == "POST" && ip.dst == 185.220.101.42
Características de balizamiento a identificar:
- Intervalos de tiempo regulares entre conexiones (por ejemplo, cada 60 segundos con 10-15% de jitter)
- Tamaños de paquete consistentes en solicitudes y respuestas
- HTTPS hacia IPs externas no asociadas con CDN o servicios legítimos
- Consultas DNS con subdominios de alta entropía (indicador de túnel DNS)
Paso 3: Analizar Tráfico de Movimiento Lateral
Rastrear el movimiento del adversario entre sistemas internos:
Protocolos clave para detección de movimiento lateral:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SMB (TCP 445): PsExec, acceso a recursos compartidos, propagación de ransomware
RDP (TCP 3389): Sesiones de escritorio remoto
WinRM (TCP 5985): PowerShell remoto
WMI (TCP 135): Ejecución remota de comandos
SSH (TCP 22): Movimiento lateral en Linux
DCE/RPC (TCP 135): Movimiento lateral basado en DCOM
Filtros de Wireshark para Movimiento Lateral:
# Movimiento lateral SMB
smb2 && ip.src == 10.1.5.42 && ip.dst != 10.1.5.42
# Conexiones RDP desde host comprometido
tcp.dstport == 3389 && ip.src == 10.1.5.42
# Solicitudes de ticket Kerberos (posible pass-the-ticket)
kerberos.msg_type == 12 && ip.src == 10.1.5.42
# Autenticación NTLM (posible pass-the-hash)
ntlmssp.auth.username && ip.src == 10.1.5.42
Paso 4: Detectar Exfiltración de Datos
Identificar transferencias de datos no autorizadas que salen de la red:
# Identificar grandes transferencias salientes en Zeek conn.log
cat conn.log | zeek-cut ts id.orig_h id.resp_h id.resp_p orig_bytes \
| awk '$5 > 100000000' | sort -t$'\t' -k5 -rn
# Detección de túnel DNS (alto volumen de consultas TXT)
cat dns.log | zeek-cut query qtype | grep TXT | cut -f1 \
| rev | cut -d. -f1,2 | rev | sort | uniq -c | sort -rn | head
# Uso de protocolo inusual (túnel ICMP, DNS sobre HTTPS)
cat conn.log | zeek-cut proto id.resp_p orig_bytes | awk '$1 == "icmp" && $3 > 1000'
Filtros de Wireshark para Exfiltración:
# Grandes cargas útiles HTTP POST
http.request.method == "POST" && tcp.len > 10000
# Transferencias de datos FTP
ftp-data && ip.src == 10.0.0.0/8
# DNS con respuestas TXT grandes (tunelización)
dns.resp.type == 16 && dns.resp.len > 200
Paso 5: Extraer y Correlacionar IOCs
Extraer indicadores basados en red del análisis de tráfico:
- Direcciones IP externas contactadas por hosts comprometidos
- Dominios resueltos mediante DNS durante el período del incidente
- URLs accedidas a través de HTTP/HTTPS (si la inspección SSL está en su lugar)
- Detalles de certificados TLS (subject, issuer, número de serie, hashes JA3/JA3S)
- Cadenas User-Agent de solicitudes HTTP
- Transferencias de archivos capturadas en PCAP (extraer usando Exportar Objetos de Wireshark)
Paso 6: Documentar Hallazgos Forenses de Red
Compilar el análisis en un informe estructurado con referencias de evidencia:
- Hacer referencia a archivos PCAP específicos, números de trama y marcas de tiempo para cada hallazgo
- Incluir capturas de paquetes de evidencia clave como capturas de pantalla o PDFs exportados
- Mapear la actividad de red a la línea de tiempo del incidente
- Correlacionar hallazgos de red con evidencia basada en host de forense de endpoint
Conceptos Clave
| Término | Definición |
|---|---|
| PCAP (Captura de Paquetes) | Formato de archivo que almacena paquetes de red sin procesar capturados desde una interfaz de red para análisis fuera de línea |
| Balizamiento | Conexiones de red regulares y periódicas desde un host comprometido a un servidor C2, identificables por intervalos de tiempo consistentes |
| JA3/JA3S | Método de huella digital de cliente y servidor TLS basado en los parámetros ClientHello y ServerHello; único por aplicación |
| NetFlow/IPFIX | Metadatos de tráfico de red (origen, destino, puertos, bytes, duración) recolectados por enrutadores y switches sin captura completa de paquetes |
| Túnel DNS | Técnica que codifica datos en consultas y respuestas DNS para exfiltrar datos o mantener C2 a través del protocolo DNS |
| Tap de Red | Dispositivo de hardware que crea una copia exacta del tráfico de red para monitoreo sin afectar el rendimiento de la red |
| Logs de Zeek | Logs de metadatos estructurados generados por el marco de análisis de red Zeek que cubren conexiones, DNS, HTTP, SSL y más |
Herramientas y Sistemas
- Wireshark: Analizador de paquetes de código abierto para inspección profunda de protocolos de red a nivel de paquete
- Zeek (anteriormente Bro): Marco de análisis de red que genera logs de metadatos estructurados a partir de tráfico en vivo o capturado
- Arkime (anteriormente Moloch): Plataforma de código abierto de captura y búsqueda de paquetes completa para forense de red a gran escala
- NetworkMiner: Herramienta de análisis forense de red para extraer archivos, imágenes y credenciales de archivos PCAP
- RITA (Real Intelligence Threat Analytics): Herramienta de código abierto para detección de balizamiento y análisis de túneles DNS para logs de Zeek
Escenarios Comunes
Escenario: Confirmar Balizamiento C2 y Cuantificar Exfiltración
Contexto: EDR detecta un proceso sospechoso en una estación de trabajo pero no puede determinar el volumen de datos exfiltrados. El equipo de red proporciona PCAP del appliance de captura de paquetes completa que cubre el período del incidente.
Enfoque:
- Filtrar PCAP para tráfico desde la IP del host comprometido hacia destinos externos
- Identificar el canal C2 analizando los patrones de temporización de las conexiones (detección de balizamiento)
- Extraer el certificado TLS y el hash JA3 de la conexión C2 para generación de IOC
- Calcular el total de bytes transferidos hacia la infraestructura C2 durante la duración del incidente
- Verificar si hay canales de exfiltración adicionales (túnel DNS, cargas a almacenamiento en la nube)
- Extraer cualquier archivo no cifrado transferido usando la función Exportar Objetos de Wireshark
Trampas:
- Analizar solo tráfico HTTP cuando C2 opera sobre HTTPS sin inspección SSL
- Pasar por alto el túnel DNS porque el volumen de datos por consulta es pequeño (pero el total a lo largo del tiempo es significativo)
- No correlacionar las marcas de tiempo de red con las marcas de tiempo de endpoint (discrepancias de zona horaria)
- Pasar por alto servicios legítimos en la nube abusados para exfiltración (OneDrive, Google Drive, Dropbox)
Formato de Salida
INFORME DE ANÁLISIS DE TRÁFICO DE RED
======================================
Incidente: INC-2025-1547
Analista: [Nombre]
Fuente de Captura: Arkime captura completa de paquetes
Período de Análisis: 2025-11-15 14:00 UTC - 2025-11-15 18:00 UTC
Tamaño Total de PCAP: 4.7 GB
COMUNICACIONES C2
Origen: 10.1.5.42 (WKSTN-042)
Destino: 185.220.101.42:443 (HTTPS)
Intervalo de Balizamiento: 60 segundos ± 12% de jitter
Sesiones: 237 conexiones en 4 horas
Hash JA3: a0e9f5d64349fb13191bc781f81f42e1
Certificado TLS: CN=update.evil[.]com (autofirmado)
Total Datos Enviados: 147 MB (saliente)
Total Datos Recibidos: 2.3 MB (entrante - comandos)
MOVIMIENTO LATERAL
10.1.5.42 → 10.1.10.15 (SMB, TCP 445) - 14:35 UTC
10.1.5.42 → 10.1.10.20 (RDP, TCP 3389) - 14:42 UTC
10.1.5.42 → 10.1.1.5 (LDAP, TCP 389) - 15:10 UTC
RESUMEN DE EXFILTRACIÓN
Protocolo: HTTPS hacia servidor C2
Volumen: 147 MB saliente
Duración: 14:23 UTC - 18:00 UTC
Archivos Extraídos: [lista si se puede recuperar de canales no cifrados]
ANÁLISIS DNS
Consultas Sospechosas: 0 indicadores de túnel DNS
Detección DGA: 0 dominios generados algorítmicamente
REFERENCIAS DE EVIDENCIA
Archivo PCAP: INC-2025-1547_captura.pcap (SHA-256: ...)
Logs de Zeek: /logs/zeek/2025-11-15/ (conn.log, ssl.log, dns.log)