Intermediowiresharkredtraficofiltrosdeteccionherramientas

Wireshark: Filtros Esenciales para Análisis de Tráfico Malicioso

Referencia completa de filtros de Wireshark para análisis de tráfico malicioso. Filtros para detectar C2, exfiltración, DNS tunneling, beaconing, lateral movement y más, con ejemplos prácticos.

MalwareIntel Research··7 min lectura
Serie: Handbooks y Guías Gratuitas — Parte 6

Filtros basicos de orientacion

Cuando abres una captura de trafico de un sistema potencialmente comprometido, estos filtros te ayudan a orientarte rapidamente.

Trafico por IP

ip.addr == 192.168.1.100
ip.src == 192.168.1.100
ip.dst == 10.0.0.1
!(ip.addr == 192.168.1.0/24)

El ultimo filtro excluye una subred completa, util para eliminar trafico interno y centrarte en conexiones externas.

Trafico por puerto

tcp.port == 443
tcp.port == 80
udp.port == 53
tcp.port == 4444
tcp.port >= 49152

Los puertos altos (49152 y superiores) son efimeros, pero tambien son usados frecuentemente por malware para C2 y reverse shells.

Trafico por protocolo

http
dns
tls
smtp
smb
smb2
ftp
ssh

Deteccion de comunicaciones C2

Las comunicaciones Command and Control son el nucleo de la actividad del malware post-explotacion. Estos filtros ayudan a identificar patrones tipicos de C2.

HTTP C2

http.request.method == "POST" && http.content_length > 0
http.request.uri contains "/api/" || http.request.uri contains "/gate"
http.request.uri matches "^/[a-z0-9]{8,32}$"
http.user_agent contains "Mozilla" && http.host matches "^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$"

El ultimo filtro detecta peticiones HTTP con User-Agent de navegador pero dirigidas a una IP en lugar de un dominio, patron comun en malware que usa IPs directas para C2.

Beaconing (intervalos regulares)

Wireshark no detecta beaconing directamente, pero puedes identificar patrones visualizando las conexiones en el grafico de flujo:

ip.dst == <IP_sospechosa> && tcp.flags.syn == 1

Exporta los timestamps a CSV y analiza los intervalos entre conexiones con un script Python. Intervalos regulares (con jitter del 10-20%) son indicadores fuertes de beaconing C2.

HTTPS C2 (analisis de TLS sin descifrar)

Cuando no puedes descifrar el trafico TLS, estos campos proporcionan indicadores:

tls.handshake.type == 1
tls.handshake.extensions.server_name contains "suspicious"
tls.handshake.ja3_full
tls.handshake.extensions.supported_versions

El Server Name Indication (SNI) revela el dominio al que se conecta el malware incluso sin descifrar el trafico. JA3 fingerprints identifican el software cliente por sus parametros de negociacion TLS.

Certificados TLS sospechosos

tls.handshake.type == 11
tls.handshake.certificate

Busca certificados autofirmados, certificados con nombres genericos (localhost, test) o certificados recien creados que coincidan temporalmente con el inicio de la actividad sospechosa.

Deteccion de DNS anomalo

DNS es uno de los canales mas abusados por malware: tunneling, DGA (Domain Generation Algorithms), exfiltracion de datos y resolucion de C2.

Queries DNS basicas

dns.qry.name contains "malicious-domain.com"
dns.qry.type == 1
dns.qry.type == 28
dns.qry.type == 16
dns.qry.type == 15

Los tipos: 1 es A (IPv4), 28 es AAAA (IPv6), 16 es TXT (usado en tunneling) y 15 es MX.

DNS Tunneling

dns.qry.type == 16
dns.qry.name matches "^[a-z0-9]{30,}\."
dns.resp.len > 512

DNS tunneling codifica datos en subdominios largos de queries DNS o en registros TXT de gran tamano. Subdominios con mas de 30 caracteres aleatorios son altamente sospechosos.

DGA (Domain Generation Algorithms)

dns.qry.name matches "^[a-z]{8,15}\.(com|net|org|info|biz)$"
dns.flags.rcode == 3

El rcode 3 (NXDOMAIN) indica que el dominio no existe. Una rafaga de NXDOMAIN para dominios con aspecto aleatorio es un indicador clasico de DGA: el malware genera dominios algoritmicamente y la mayoria no estan registrados.

Resolucion de C2

dns.a && !(dns.a == 0.0.0.0) && dns.count.answers > 0
dns.qry.name contains ".duckdns.org"
dns.qry.name contains ".no-ip.com"
dns.qry.name contains ".ddns.net"

Los servicios de DNS dinamico (DuckDNS, No-IP, DynDNS) son usados frecuentemente por malware como infraestructura C2 barata y facil de actualizar.

Deteccion de exfiltracion

HTTP POST grandes

http.request.method == "POST" && http.content_length > 100000
http.request.method == "PUT" && http.content_length > 100000

Subidas de datos grandes via HTTP POST o PUT pueden indicar exfiltracion. Correlaciona con el proceso que origina la conexion (necesitas datos de endpoint).

Subida a servicios cloud

tls.handshake.extensions.server_name contains "dropbox"
tls.handshake.extensions.server_name contains "drive.google"
tls.handshake.extensions.server_name contains "onedrive"
tls.handshake.extensions.server_name contains "mega.nz"
tls.handshake.extensions.server_name contains "pastebin"

El malware usa servicios cloud legitimos para exfiltracion porque el trafico a estos dominios no suele ser bloqueado.

DNS exfiltracion

dns.qry.name matches "\.[a-z0-9]{50,}\."
dns.qry.type == 16 && dns.resp.len > 200

Datos codificados en subdominios DNS o en respuestas TXT grandes.

FTP exfiltracion

ftp.request.command == "STOR"
ftp.request.command == "RETR"
ftp-data

Aunque FTP es cada vez menos comun, algunos malware legacy lo usan para exfiltracion.

Deteccion de lateral movement

SMB y movimiento lateral

smb2.cmd == 5
smb2.filename contains ".exe"
smb2.filename contains ".dll"
smb2.filename contains ".ps1"
smb2.cmd == 3 && smb2.filename matches "\\\\ADMIN\$"
smb2.cmd == 3 && smb2.filename matches "\\\\C\$"

El cmd 5 de SMB2 es CREATE, que incluye creacion y apertura de ficheros. Transferencia de ejecutables via SMB a shares administrativos es un indicador fuerte de lateral movement.

PsExec y herramientas similares

smb2.filename contains "PSEXESVC"
smb2.filename contains "svcctl"
dcerpc.cn_ctx_item.if_id == 367abb81-9844-35f1-ad32-98f038001003

PsExec crea un servicio temporal con nombre PSEXESVC. El UUID del ultimo filtro corresponde al interfaz SVCCTL de DCE/RPC usado para gestionar servicios remotamente.

WMI remoto

tcp.port == 135
dcerpc.cn_ctx_item.if_id == 000001a0-0000-0000-c000-000000000046

WMI remoto usa DCOM via RPC. Es una tecnica comun de lateral movement porque es una herramienta legitima de administracion de Windows.

RDP

tcp.port == 3389
rdp

Sesiones RDP internas no habituales pueden indicar lateral movement con credenciales robadas.

Deteccion de malware por protocolo

Comunicaciones IRC (botnets legacy)

irc
tcp.port == 6667 || tcp.port == 6668 || tcp.port == 6669

IRC fue el protocolo C2 dominante en botnets durante anos. Aunque hoy es menos comun, algunas botnets legacy y variantes de malware educativo siguen usandolo.

Tor

tls.handshake.extensions.server_name matches "\.onion$"
tcp.port == 9001 || tcp.port == 9030 || tcp.port == 9050 || tcp.port == 9150

Conexiones a la red Tor desde endpoints que no deberian usar Tor son sospechosas. Algunos ransomware usan Tor para comunicarse con paneles de pago.

Protocolos en puertos no estandar

http && !(tcp.port == 80 || tcp.port == 8080 || tcp.port == 443)
dns && !(udp.port == 53)
smtp && !(tcp.port == 25 || tcp.port == 465 || tcp.port == 587)

Malware que usa protocolos estandar en puertos no estandar para evadir deteccion basada en puertos.

Filtros de captura BPF (tcpdump syntax)

Para captura inicial con tcpdump o con el filtro de captura de Wireshark:

# Capturar todo excepto trafico interno
not net 192.168.0.0/16 and not net 10.0.0.0/8

# Solo DNS
port 53

# Solo HTTP
port 80 or port 8080

# Solo conexiones nuevas (SYN)
tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0

# Trafico a un rango sospechoso
net 203.0.113.0/24

Perfiles de Wireshark para malware analysis

Wireshark permite crear perfiles con columnas personalizadas. Un perfil optimizado para malware analysis incluye:

Columnas recomendadas:

  1. Time (relative, no absolute)
  2. Source IP
  3. Destination IP
  4. Protocol
  5. Source Port
  6. Destination Port
  7. Info
  8. HTTP Host (custom: http.host)
  9. TLS SNI (custom: tls.handshake.extensions.server_name)
  10. DNS Query (custom: dns.qry.name)

Reglas de color recomendadas:

  • Rojo: trafico a IPs en listas de amenazas
  • Naranja: DNS NXDOMAIN
  • Amarillo: HTTP POST con content-length alto
  • Verde: trafico HTTPS a dominios conocidos

Flujo de trabajo de analisis

Paso 1: Orientacion rapida

# Ver la distribucion de protocolos
Statistics > Protocol Hierarchy

# Ver las conversaciones principales
Statistics > Conversations > IPv4

Paso 2: Identificar conexiones externas

!(ip.addr == 10.0.0.0/8) && !(ip.addr == 172.16.0.0/12) && !(ip.addr == 192.168.0.0/16)

Paso 3: Revisar DNS

dns

Busca dominios sospechosos, NXDOMAIN masivos, queries TXT inusuales.

Paso 4: Analizar HTTP/HTTPS

http.request
tls.handshake.type == 1

Revisa User-Agents, URIs, hosts y certificados.

Paso 5: Buscar patron C2

tcp.flags.syn == 1 && ip.dst == <IP_sospechosa>

Exporta timestamps y analiza periodicidad.

Paso 6: Extraer ficheros

File > Export Objects > HTTP
File > Export Objects > SMB

Wireshark puede reconstruir ficheros transferidos para analisis posterior.

Conclusion

Wireshark es una herramienta fundamental para analisis de malware. Estos filtros cubren los escenarios mas comunes: deteccion de C2, exfiltracion, DNS anomalo, lateral movement y protocolos abusados por malware. Crea un perfil personalizado con estos filtros guardados como bookmarks y tendras una referencia rapida accesible con un click durante cualquier investigacion.

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.