Aprende › Redes, WiFi y pivoting

Forense de red: Wireshark avanzado, Zeek y análisis de PCAP

· 10 min de lectura

La forense de red captura y analiza tráfico para reconstruir ataques, detectar exfiltración y extraer IOCs. Aprende a usar Wireshark avanzado, Zeek y tshark para analizar PCAPs como un analista profesional.

Todo lo que ocurre en una red deja rastro en los paquetes. Cuando un atacante descarga un exploit, ejecuta un comando a través de un reverse shell, exfiltra una base de datos o se comunica con un servidor C2, cada byte viaja por la red en paquetes que pueden capturarse, almacenarse y analizarse después del hecho. Eso es la forense de red: la disciplina de capturar tráfico de red y analizarlo para reconstruir eventos, detectar actividad maliciosa y extraer evidencia digital.

A diferencia de la forense de disco o memoria, la forense de red trabaja con datos en tránsito. Si no estás capturando en el momento del incidente, el tráfico se pierde para siempre, salvo que algún sistema (IDS, proxy, firewall, SIEM) lo haya registrado. Por eso muchas organizaciones mantienen capturas continuas en puntos estratégicos de la red, almacenando PCAPs que pueden consultarse cuando ocurre un incidente.

Es la segunda lección de la Tanda 8. Cubre las herramientas y técnicas que necesitas para analizar un PCAP como un analista de respuesta a incidentes: Wireshark avanzado más allá del filtrado básico, Zeek para generación automática de logs, tshark para scripting, y el flujo completo de análisis de un caso real.

Captura tráfico solo en redes propias o con autorización explícita. Interceptar tráfico ajeno es ilegal en la mayoría de jurisdicciones. En laboratorios de práctica, trabaja con PCAPs de ejemplo o capturas controladas.

Qué es la forense de red#

La forense de red (network forensics) analiza el tráfico capturado para responder preguntas clave durante un incidente: qué pasó, cuándo, quién se comunicó con quién, qué datos se transfirieron y qué protocolos se usaron.

Flujo de forense de red: punto de captura, filtrar, analizar protocolos, Zeek, extraer artefactos, correlacionar
Flujo de forense de red: punto de captura, filtrar, analizar protocolos, Zeek, extraer artefactos, correlacionar

El formato estándar de captura es PCAP (Packet Capture) y su sucesor PCAPNG (PCAP Next Generation). Un archivo PCAP contiene una copia exacta de cada paquete que pasó por la interfaz de captura, con timestamps de microsegundos. El tamaño puede ir de kilobytes (una sesión corta) a terabytes (captura continua en un enlace de alta velocidad).

La forense de red complementa otras disciplinas forenses. El disco te dice qué archivos existen; la memoria te dice qué procesos corrían; la red te dice con quién hablaban y qué enviaron. Cruzar las tres fuentes da la imagen completa.

Cómo se captura el tráfico#

Antes de analizar, necesitas tener tráfico capturado. Hay varias formas de obtenerlo.

Captura local con tcpdump#

# Capturar todo el tráfico de la interfaz eth0
tcpdump -i eth0 -w captura.pcap

# Capturar solo tráfico hacia/desde una IP específica
tcpdump -i eth0 host 10.0.0.5 -w sospechoso.pcap

# Capturar solo puertos específicos (HTTP y HTTPS)
tcpdump -i eth0 port 80 or port 443 -w web.pcap

# Capturar con rotación (archivos de 100 MB, máximo 10 archivos)
tcpdump -i eth0 -w captura-%Y%m%d%H%M.pcap -C 100 -W 10

Port mirroring (SPAN)#

En switches gestionados, configuras un SPAN port (port mirroring) que copia todo el tráfico de un puerto o VLAN a un puerto de monitoreo donde tu sensor captura. No altera el tráfico original.

TAP de red#

Un TAP (Test Access Point) es un dispositivo hardware que se conecta en línea entre dos equipos y copia todo el tráfico a un puerto de monitoreo. Es pasivo: no introduce latencia ni puntos de fallo. Es el método más fiable para forense porque captura a nivel físico.

Captura en Wireshark#

Para análisis interactivo, Wireshark captura directamente. Pero para capturas de larga duración en servidores sin interfaz gráfica, tcpdump o dumpcap (la utilidad de captura de Wireshark sin GUI) son más adecuados.

# dumpcap: captura de alto rendimiento sin GUI
dumpcap -i eth0 -w captura.pcapng -b filesize:100000 -b files:20

Tipos de análisis de red#

TipoQué analizaHerramientasCuándo usarlo
Full-packet captureCada byte de cada paqueteWireshark, tshark, tcpdumpNecesitas reconstruir sesiones completas
Flow-basedMetadatos de conexiones (IPs, puertos, bytes, duración)Zeek, NetFlow, sFlowVisión general del tráfico, detección de anomalías
Metadata-onlyHeaders, DNS queries, certificados TLSZeek, SuricataTráfico cifrado donde el payload no es accesible
Deep packet inspectionPayload de protocolos de aplicaciónWireshark, NetworkMinerReconstruir archivos transferidos, credenciales

Cuándo se necesita forense de red#

  • Detección de C2: identificar comunicaciones de malware con sus servidores de control.
  • Exfiltración de datos: determinar qué datos salieron de la red, hacia dónde y cuánto.
  • Movimiento lateral: rastrear cómo el atacante se movió entre equipos internos (SMB, WinRM, SSH).
  • Credenciales en tránsito: encontrar credenciales transmitidas en texto claro (HTTP basic auth, FTP, Telnet).
  • Reconstrucción de sesiones: reproducir exactamente qué vio y qué hizo el atacante en una sesión HTTP o SSH.
  • Validación de alertas de IDS: un IDS genera una alerta; el PCAP confirma o descarta el verdadero positivo.

Wireshark avanzado#

Wireshark es mucho más que un visor de paquetes. Estas funcionalidades avanzadas son las que marcan la diferencia en un análisis forense.

Display filters#

Los display filters de Wireshark usan una sintaxis propia (no BPF). Son más expresivos que los filtros de captura.

# Tráfico HTTP POST (posible exfiltración o upload de webshell)
http.request.method == "POST"

# DNS a dominios que contienen una cadena (C2 con DGA)
dns.qry.name contains "xyz123"

# Conexiones TCP con SYN sin ACK (escaneo de puertos)
tcp.flags.syn == 1 and tcp.flags.ack == 0

# Tráfico SMB (movimiento lateral)
smb2 or smb

# TLS con SNI específico
tls.handshake.extensions_server_name == "evil.com"

# Paquetes con payload grande (posible exfiltración)
tcp.len > 10000

# Tráfico entre dos IPs específicas
ip.addr == 10.0.0.5 and ip.addr == 203.0.113.10

Follow Stream#

Click derecho en un paquete y selecciona Follow TCP Stream (o UDP, HTTP, TLS). Wireshark reconstruye la sesión completa y muestra los datos intercambiados en orden. Puedes ver el contenido de páginas web visitadas, comandos ejecutados en un reverse shell, archivos transferidos por FTP.

Statistics y I/O Graphs#

  • Conversations (Statistics > Conversations): lista de todas las conexiones con bytes transferidos, duración, paquetes. Ordena por bytes para encontrar las transferencias más grandes.
  • Protocol Hierarchy: porcentaje de tráfico por protocolo. Un protocolo inusual (IRC, DNS con payload anómalo) destaca.
  • I/O Graphs: gráfico temporal de tráfico. Los picos pueden indicar exfiltración masiva o actividad de escaneo.

Expert Info#

Analyze > Expert Information muestra advertencias y errores detectados por Wireshark: retransmisiones excesivas (posible man-in-the-middle), conexiones resetadas, problemas de checksum, segmentos fuera de orden.

Análisis paso a paso de un PCAP sospechoso#

Un IDS generó una alerta de tráfico C2 saliente desde un host interno. Tienes el PCAP correspondiente al periodo de la alerta.

Paso 1: visión general#

# Estadísticas básicas con capinfos
capinfos sospechoso.pcap
# Número de paquetes, duración, tamaño, data rate

# Listar todas las conversaciones con tshark
tshark -r sospechoso.pcap -q -z conv,tcp

Paso 2: identificar conexiones sospechosas#

# Conexiones hacia IPs externas (fuera de RFC 1918)
tshark -r sospechoso.pcap -Y "ip.dst != 10.0.0.0/8 and ip.dst != 172.16.0.0/12 and ip.dst != 192.168.0.0/16" -T fields -e ip.dst -e tcp.dstport | sort | uniq -c | sort -rn | head -20

Paso 3: analizar el tráfico HTTP#

# Listar todas las peticiones HTTP
tshark -r sospechoso.pcap -Y "http.request" -T fields -e http.host -e http.request.method -e http.request.uri

# Extraer archivos transferidos por HTTP
tshark -r sospechoso.pcap --export-objects http,./http-objects/
ls ./http-objects/

Paso 4: revisar consultas DNS#

# Listar todas las consultas DNS
tshark -r sospechoso.pcap -Y "dns.qry.name" -T fields -e dns.qry.name | sort | uniq -c | sort -rn

# Buscar dominios con alta entropía (posible DGA)
tshark -r sospechoso.pcap -Y "dns.qry.name" -T fields -e dns.qry.name | awk '{print length, $0}' | sort -rn | head -20

Paso 5: buscar credenciales en claro#

# FTP: usuario y password viajan en texto plano
tshark -r sospechoso.pcap -Y "ftp.request.command == USER or ftp.request.command == PASS" -T fields -e ftp.request.arg

# HTTP basic auth
tshark -r sospechoso.pcap -Y "http.authorization" -T fields -e http.authorization

Paso 6: documentar IOCs#

# Generar lista de IOCs: IPs externas, dominios, hashes de archivos extraídos
echo "=== IPs C2 ===" > iocs.txt
tshark -r sospechoso.pcap -Y "ip.dst == 203.0.113.10" -T fields -e ip.dst >> iocs.txt

echo "=== Dominios ===" >> iocs.txt
tshark -r sospechoso.pcap -Y "dns.qry.name contains evil" -T fields -e dns.qry.name >> iocs.txt

echo "=== Hashes de archivos ===" >> iocs.txt
sha256sum ./http-objects/* >> iocs.txt

Qué puede revelar un PCAP#

EvidenciaQué buscarFiltro de ejemplo
Comunicación C2Conexiones periódicas a IP externa, beaconingConversations ordenadas por duración
ExfiltraciónTransferencias grandes salientes, POST con datostcp.len > 5000 hacia IP externa
CredencialesFTP, HTTP auth, SMTP sin TLSftp.request.command == PASS
Descarga de malwareGET de binarios, extensiones sospechosashttp.request.uri contains ".exe"
Movimiento lateralSMB, WinRM, SSH entre hosts internossmb2 entre IPs RFC 1918
DNS tunnelingQueries con subdominios largos, TXT records grandesdns.qry.name con entropía alta
Escaneo de puertosSYN sin respuesta, muchos destinos distintostcp.flags.syn == 1 sin ACK

Zeek para análisis automatizado#

Zeek (antes Bro) es un framework de análisis de tráfico que genera logs estructurados a partir de un PCAP. Donde Wireshark te muestra paquetes individuales, Zeek te da conexiones, sesiones HTTP, consultas DNS, archivos transferidos, todo en archivos de log parseable.

Capas de análisis en un PCAP: Ethernet, IP, TCP/UDP, HTTP, DNS, TLS
Capas de análisis en un PCAP: Ethernet, IP, TCP/UDP, HTTP, DNS, TLS
# Procesar un PCAP con Zeek
zeek -r captura.pcap

# Genera automáticamente:
# conn.log       — todas las conexiones TCP/UDP/ICMP
# http.log       — peticiones y respuestas HTTP
# dns.log        — queries y respuestas DNS
# files.log      — archivos detectados en tráfico
# ssl.log        — handshakes TLS con certificados
# weird.log      — anomalías detectadas

conn.log#

Cada línea es una conexión con IP origen/destino, puertos, protocolo, bytes enviados/recibidos, duración, estado.

# Conexiones más largas (posible C2 persistente)
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p duration | sort -t$'\t' -k4 -rn | head -10

# Conexiones con más bytes transferidos
cat conn.log | zeek-cut id.orig_h id.resp_h orig_bytes resp_bytes | awk '{print $0, $3+$4}' | sort -k5 -rn | head -10

dns.log#

# Dominios consultados con más frecuencia
cat dns.log | zeek-cut query | sort | uniq -c | sort -rn | head -20

# Consultas TXT (posible DNS tunneling)
cat dns.log | zeek-cut query qtype_name | grep TXT

files.log#

# Archivos transferidos con hash
cat files.log | zeek-cut md5 filename mime_type tx_hosts

JA3 fingerprinting#

Zeek genera hashes JA3/JA3S a partir de los parámetros del handshake TLS. Cada cliente TLS tiene un fingerprint JA3 característico. El beacon de Cobalt Strike, Metasploit y otros frameworks tienen JA3 conocidos.

# Listar JA3 hashes de conexiones TLS
cat ssl.log | zeek-cut ja3 server_name | sort | uniq -c | sort -rn

Errores comunes en forense de red#

  • Capturar tráfico sin timestamps precisos: si el reloj del sensor no está sincronizado con NTP, la correlación con otros logs es imposible.
  • Analizar solo tráfico HTTP y olvidar DNS, que revela dominios consultados incluso cuando el tráfico posterior va cifrado.
  • No verificar si el PCAP está truncado: capturas con snaplen bajo cortan el payload y pierdes contenido.
  • Ignorar el tráfico interno (east-west): el movimiento lateral ocurre entre hosts internos, no hacia internet.
  • Buscar solo IPs maliciosas conocidas y no detectar C2 que usa dominios legítimos (domain fronting, CDNs).
  • No extraer archivos del PCAP: un ejecutable descargado por HTTP es evidencia directa del payload del atacante.
  • Sobrecargar Wireshark con PCAPs de gigabytes: usar tshark o Zeek para filtrar primero y abrir solo las porciones relevantes.

Preguntas frecuentes#

¿Puedo analizar tráfico cifrado con TLS?#

No puedes descifrar el payload sin la clave privada del servidor o un proxy de inspección TLS. Pero puedes analizar mucho sin descifrar: SNI (server name indication) en el handshake, certificados, JA3 fingerprints, tamaño de paquetes, timing de conexiones. Esos metadatos son suficientes para identificar C2 cifrado en muchos casos.

¿Cuánto espacio ocupan las capturas?#

Depende del ancho de banda y el tiempo. Un enlace de 1 Gbps saturado genera unos 450 GB por hora de PCAP. En la práctica, con filtros de captura (solo ciertos puertos o VLANs) y rotación de archivos, un sensor puede mantener días o semanas de capturas en unos pocos terabytes.

¿Wireshark o tshark?#

Wireshark es visual e interactivo: ideal para explorar un PCAP, seguir streams, inspeccionar paquetes individuales. tshark es su versión en línea de comandos: ideal para scripting, pipelines, extracciones masivas y procesamiento de PCAPs grandes. En un flujo forense real, usas tshark para filtrar y segmentar, y Wireshark para inspeccionar las partes relevantes.

¿Zeek reemplaza a Wireshark?#

No, son complementarios. Zeek genera logs estructurados que te dan una visión de alto nivel (conexiones, sesiones, archivos). Wireshark te da acceso al detalle de cada paquete. Empiezas con Zeek para identificar qué es interesante, y bajas a Wireshark para inspeccionar los paquetes concretos.

¿Qué es NetworkMiner?#

NetworkMiner es una herramienta de análisis forense de red que extrae automáticamente archivos, imágenes, credenciales y certificados de un PCAP. Es especialmente útil para reconstruir rápidamente qué archivos se transfirieron sin tener que buscar manualmente. Funciona en Windows y tiene una versión gratuita.

Resumen#

  • La forense de red captura y analiza tráfico para reconstruir eventos durante un incidente de seguridad.
  • El tráfico se captura con tcpdump, port mirroring o TAPs de red, y se almacena en formato PCAP/PCAPNG.
  • Wireshark es la herramienta interactiva: display filters, follow stream, statistics y expert info para inspección profunda.
  • tshark permite scripting y extracción masiva desde la línea de comandos.
  • Zeek genera logs estructurados (conn.log, dns.log, http.log, files.log) que facilitan el análisis a escala.
  • Los JA3 fingerprints permiten identificar clientes TLS maliciosos incluso en tráfico cifrado.

Fuentes y lecturas recomendadas#

Practícalo en estos laboratorios

Ver todos los laboratorios de esta categoría