Herramientas Forenses

Wireshark

Herramienta open source líder mundial para captura y análisis de paquetes de red (packet sniffer) utilizada en análisis forense digital para examinar tráfico de red, identificar comunicaciones maliciosas, reconstruir sesiones, extraer ficheros transferidos, y documentar evidencia de ciberataques.

12 min de lectura

El estándar de facto del análisis de red, y por qué importa en un peritaje

Wireshark es la herramienta de referencia para el análisis de tráfico de red, y su valor en sede judicial no viene de su cuota de mercado sino de dos propiedades que un perito puede defender ante un tribunal: es software libre —cualquiera puede auditar cómo interpreta un paquete, incluida la parte contraria— y trabaja sobre un fichero de captura que se preserva —el .pcap no es «inmutable» por naturaleza (puede editarse o filtrarse), pero preservando el original, restringiendo la escritura y anclándolo a su huella SHA-256 el análisis es reproducible byte a byte por otro perito.

Eso conecta con lo que exige el art. 478.2 LECrim al pedir en el informe pericial la «relación detallada de todas las operaciones practicadas por los peritos y de su resultado». El precepto no obliga a usar software abierto ni dice que una herramienta cerrada impida la contradicción; pero la apertura y la reproducibilidad facilitan cumplirlo, porque el contraperito puede repetir el análisis en lugar de creerse el informe.

En investigaciones forenses, Wireshark ha sido determinante en casos de exfiltración de datos, ataques APT, fraudes financieros online, y ciberespionaje, permitiendo a peritos documentar con precisión milimétrica las comunicaciones maliciosas, IPs de atacantes, y contenido exacto transferido.

Qué es Wireshark

Wireshark es un analizador de protocolos de red (network protocol analyzer) open source que captura y examina paquetes de red en tiempo real o desde ficheros de captura previamente guardados.

Funcionalidades principales:

  • Captura de paquetes: Intercepta todo el tráfico de red que pasa por una interfaz
  • Decodificación de protocolos: interpreta cientos de protocolos mediante dissectors (TCP, UDP, HTTP, TLS, DNS, SMB…). La FAQ oficial habla de «hundreds of supported protocols and media» y el número crece con cada versión, así que se cita como orden de magnitud, no como cifra cerrada.
  • Filtrado avanzado: Display filters y capture filters para localizar tráfico específico
  • Análisis profundo: Inspección detallada de cada campo de cada paquete
  • Reconstrucción de sesiones: Follow TCP/UDP/TLS stream para ver comunicaciones completas
  • Extracción de ficheros: Export objects (HTTP, SMB, TFTP, etc.)
  • Estadísticas: Endpoints, conversaciones, jerarquía de protocolos, gráficos IO
  • Exportación: Múltiples formatos para documentación forense

Historia:

  • 1997-1998: Gerald Combs empieza a escribir “Ethereal” a finales de 1997 y publica la primera versión en julio de 1998
  • 2006: Renombrado a “Wireshark” por problemas de marca registrada
  • Desarrollado y mantenido por un equipo global de expertos en protocolos; la Wireshark Foundation aporta la infraestructura del proyecto
  • Multiplataforma: Windows, macOS, Linux, BSD

Casos de uso forenses: Wireshark es esencial en análisis post-intrusión, investigación de malware con comunicación C2, casos de exfiltración de datos, análisis de ataques DDoS, fraudes electrónicos, y cualquier incidente donde necesites demostrar exactamente qué comunicaciones ocurrieron en la red.

Interfaz de Wireshark

Componentes principales

┌─────────────────────────────────────────────────────────────┐
│ [File] [Edit] [View] [Go] [Capture] [Analyze] [Statistics]  │ ← Menús
├─────────────────────────────────────────────────────────────┤
│ Filter: █ http.request.method == "POST" and ip.src == ...  │ ← Display filter
├─────────────────────────────────────────────────────────────┤
│ No. Time        Source          Dest            Protocol    │ ← Packet list
│ 1   0.000000    192.168.1.10    203.0.113.5     TCP         │   (todos los paquetes)
│ 2   0.000234    203.0.113.5     192.168.1.10    TCP         │
│ 3   0.001456    192.168.1.10    203.0.113.5     HTTP        │ ← Paquete seleccionado
├─────────────────────────────────────────────────────────────┤
│ ▼ Frame 3: 512 bytes on wire, 512 bytes captured           │ ← Packet details
│   ▼ Ethernet II, Src: 00:0c:29:xx:xx:xx, Dst: ...          │   (árbol expandible)
│     ▼ Internet Protocol Version 4, Src: 192.168.1.10       │
│       ▼ Transmission Control Protocol, Src Port: 49234     │
│         ▼ Hypertext Transfer Protocol                      │
│           POST /api/upload HTTP/1.1                         │
│           Host: malicious-server.com                        │
│           Content-Type: application/json                    │
├─────────────────────────────────────────────────────────────┤
│ 0000  00 0c 29 3a 4e 5f 00 50 56 c0 00 08 08 00 45 00    │ ← Packet bytes
│ 0010  01 f4 3f 2d 40 00 40 06 9c 5e c0 a8 01 0a cb 00    │   (hexadecimal + ASCII)
│ 0020  71 05 c0 52 00 50 4a 8f 26 19 00 00 00 00 a0 02    │
└─────────────────────────────────────────────────────────────┘

Packet list pane: Lista de todos los paquetes capturados, con columnas configurables Packet details pane: Árbol expandible con todos los headers y campos de cada capa del protocolo Packet bytes pane: Representación hexadecimal y ASCII del paquete completo

Captura de tráfico con Wireshark

Selección de interfaz

1. Capture > Options (o Ctrl+K)
2. Seleccionar interfaz de red:
   - Ethernet (eth0, en0): Cable de red
   - WiFi (wlan0, en1): Red inalámbrica
   - Loopback (lo0, 127.0.0.1): Tráfico local mismo equipo
   - USB, Bluetooth, VPN interfaces

3. Opciones de captura:
   ☑ Use promiscuous mode  ← Captura todo tráfico (no solo dirigido a tu MAC)
   ☑ Capture packets in promiscuous mode
   Capture filter: [tcp port 80 or tcp port 443]  ← Filtro de captura (opcional)

Modo promiscuo: En redes switched modernas (switches, no hubs), el modo promiscuo solo captura tráfico dirigido a tu interfaz más broadcast/multicast. Para capturar todo el tráfico de la red necesitas: port mirroring (SPAN) en switch, network TAP, o ARP spoofing (en investigaciones autorizadas).

Capture filters vs Display filters

Dos tipos de filtros en Wireshark:

AspectoCapture FiltersDisplay Filters
Cuándo se aplicanDurante captura (antes de guardar)Después de captura (visualización)
SintaxisBPF (Berkeley Packet Filter)Wireshark display filter syntax
ModificableNo (una vez capturado, no se puede cambiar)Sí (cambia en tiempo real)
PerformanceReduce tamaño fichero PCAPNo afecta tamaño fichero
Uso típicoCapturar solo tráfico relevanteAnalizar y filtrar después

Ejemplos de capture filters (BPF):

host 192.168.1.100              # Solo tráfico desde/hacia esta IP
port 80 or port 443             # Solo HTTP y HTTPS
tcp and not port 22             # TCP excepto SSH
net 192.168.1.0/24              # Solo subnet específica
host 192.168.1.10 and port 443  # IP específica en puerto 443

Ejemplos de display filters (después de captura):

ip.addr == 192.168.1.100                # Cualquier paquete con esta IP (src o dst)
ip.src == 192.168.1.100                 # Solo como origen
tcp.port == 80                          # Puerto 80 en cualquier dirección
http.request.method == "POST"           # Solo peticiones POST HTTP
http.host contains "malicious"          # Host HTTP que contenga "malicious"
dns.qry.name == "example.com"           # Consultas DNS a dominio específico
tcp.flags.syn == 1 and tcp.flags.ack == 0  # Paquetes SYN (inicio conexión)
frame.time >= "2026-02-10 14:00:00"     # Paquetes después de hora específica

Guardado de capturas

File > Save As...

Formato recomendado: pcapng (Wireshark native)
- Soporta múltiples interfaces
- Metadatos (comentarios, info captura)
- Compatible con Wireshark 1.8+

Formato universal: pcap (tcpdump)
- Compatible con todas las herramientas (tcpdump, snort, etc)
- Sin metadatos avanzados

Organización forense:

caso_exfiltracion_2026/
├── captura_completa_20260210.pcapng        (fichero original completo)
├── captura_completa_20260210.pcapng.sha256 (hash integridad)
├── filtrado_ip_atacante.pcapng             (solo tráfico relevante filtrado)
├── sesion_maliciosa_tcp_stream_42.txt      (sesión TCP reconstruida)
└── ficheros_extraidos/                     (objetos HTTP extraídos)
    ├── malware.exe
    ├── datos_exfiltrados.zip
    └── ...

Display Filters: Búsqueda forense precisa

Los display filters son el poder de Wireshark para análisis forense. Sintaxis:

Operadores de comparación

==   Igual
!=   Distinto
>    Mayor que
<    Menor que
>=   Mayor o igual
<=   Menor o igual
contains     Contiene substring
matches      Expresión regular (regex)
in           En conjunto {val1, val2, val3}

Operadores lógicos

and  o &&    Y lógico
or   o ||    O lógico
not  o !     Negación
()           Agrupación

Filtros forenses comunes

Identificar tráfico a IPs sospechosas:

## IP específica maliciosa
ip.addr == 203.0.113.47

## Rango de IPs sospechoso (subnet)
ip.addr == 203.0.113.0/24
## Rango de documentación (RFC 5737). Cuidado con usar 185.220.101.0/24 como
## ejemplo de «rango sospechoso»: son nodos de salida de Tor, y filtrar por ahí
## no identifica a un atacante, identifica a quien pasó por Tor.

## Lista de múltiples IPs (IOCs)
ip.addr in {203.0.113.47, 203.0.113.67, 198.51.100.89}

## Tráfico a países específicos (requiere GeoIP database)
ip.geoip.country_iso == "RU" or ip.geoip.country_iso == "CN"

Detectar exfiltración de datos HTTP/HTTPS:

## POST requests (frecuentemente usados para exfiltrar)
http.request.method == "POST"

## Upload de ficheros (multipart/form-data)
http.content_type contains "multipart/form-data"

## Volumen por conversación (posible exfiltración).
## OJO: tcp.len es la longitud de UN segmento, no de la transferencia
## completa. Para medir el volumen real usa Statistics > Conversations
## (contador de bytes por flujo), no un filtro de tcp.len — una
## exfiltración fragmentada en segmentos pequeños se te escaparía.
tcp.len > 5000

## Conexiones a un dominio por su SNI. El SNI clásico viaja en claro
## en el ClientHello, así que este filtro NO requiere descifrar el TLS.
## Salvedad: con Encrypted Client Hello (ECH) el SNI real va cifrado y
## este filtro no lo verá.
tls.handshake.extensions_server_name contains "suspicious-domain.com"

Analizar ataques de red:

## Escaneo de puertos (SYN scan)
tcp.flags.syn == 1 and tcp.flags.ack == 0

## Paquetes con flags anómalos
tcp.flags == 0x00  # NULL scan
tcp.flags == 0x29  # Xmas scan

## ICMP flood (posible DDoS)
icmp and frame.len > 1000

## DNS queries masivas (posible DNS tunneling)
dns.qry.name and frame.len > 512

Extraer credenciales y sesiones:

## HTTP Basic Authentication (credenciales base64)
http.authbasic

## FTP login
ftp.request.command == "USER" or ftp.request.command == "PASS"

## Telnet sessions (texto plano)
telnet

## SMTP authentication
smtp.req.parameter contains "AUTH"

Malware C2 communication:

## User-Agent sospechosos (malware conocido)
http.user_agent contains "python-requests" or http.user_agent contains "curl"

## Beaconing (conexiones periódicas regulares a mismo destino)
## Requiere análisis manual de Statistics > Conversations

## Tráfico a puertos no estándar
tcp.port > 49152 and tcp.port < 65535  # Dynamic ports

Combinaciones avanzadas

## Tráfico HTTP POST a IP extranjera en horario nocturno
http.request.method == "POST" and ip.dst == 203.0.113.47 and frame.time >= "2026-02-10 02:00:00" and frame.time <= "2026-02-10 05:00:00"

## POST a IP no corporativa. tcp.len mide el segmento, no el cuerpo
## de la petición: para el tamaño real del POST, sigue el flujo HTTP
## (Follow > HTTP Stream) o mira Conversations, no tcp.len.
http.request.method == "POST" and ip.dst != 192.168.0.0/16 and tcp.len > 10000

## Conexiones que omiten proxy (posible malware evading proxy)
tcp.port == 443 and ip.dst != 192.168.1.1  # Si proxy es 192.168.1.1

Análisis forense con Wireshark

Reconstrucción de sesiones (Follow Stream)

Wireshark permite reconstruir sesiones completas de comunicación:

  1. Seleccionar paquete de interés en la lista

  2. Right click > Follow > TCP Stream (o UDP/TLS/HTTP)

  3. Ventana de sesión muestra comunicación completa:

    • Texto en rojo: Cliente → Servidor
    • Texto en azul: Servidor → Cliente
    • ASCII o hexadecimal
  4. Guardar sesión: Save As… (para documentación forense)

  5. Navegación: Botones para moverse entre múltiples streams

Ejemplo forense - Sesión FTP con credenciales:

Follow TCP Stream del puerto 21 (FTP):

USER administrator
331 Password required for administrator
PASS P@ssw0rd123!
230 User administrator logged in
CWD /confidential
250 Directory successfully changed
RETR financial_report_2025.xlsx
150 Opening BINARY mode data connection
226 Transfer complete
QUIT
221 Goodbye

= Credenciales capturadas: administrator / P@ssw0rd123!
= Fichero descargado: financial_report_2025.xlsx
= Directorio accedido: /confidential

Protocolos cifrados: TLS/SSL cifra el contenido. Follow TLS Stream solo mostrará texto claro si Wireshark dispone de los secretos de sesión (por ejemplo, un fichero SSLKEYLOGFILE capturado en el endpoint), o si se termina el TLS en un proxy instrumentado. Capturar el handshake no basta: no entrega los secretos. La clave privada RSA del servidor solo sirve en casos limitados de TLS ≤1.2 sin (EC)DHE, y no funciona con TLS 1.3.

Extracción de ficheros (Export Objects)

Wireshark puede extraer ficheros transferidos por protocolos específicos:

File > Export Objects > HTTP (o SMB, TFTP, DICOM)

Lista de todos los ficheros:
┌────────────────────────────────────────────────────────────┐
│ Packet  Hostname            Content Type         Filename  │
│ 4523    malware-c2.com      application/x-exe    update.exe│
│ 8934    192.168.1.100       image/jpeg           photo.jpg │
│ 12045   file-server.local   application/zip      backup.zip│
└────────────────────────────────────────────────────────────┘

Seleccionar fichero → Save → Ubicación forense

Casos de uso forenses:

  • Extraer malware descargado por víctima
  • Recuperar documentos exfiltrados por atacante
  • Obtener imágenes de phishing de sitios maliciosos
  • Análisis de ficheros transferidos en ataque

Post-extracción forense:

## Calcular hash del fichero extraído
sha256sum malware_extraido.exe > malware.sha256

## Verificar en VirusTotal — ⚠️ NO subir la evidencia al servicio estándar
## Subir un fichero a VirusTotal lo comparte con terceros (otros
## analistas y clientes premium). En un peritaje, ese objeto puede
## contener datos personales, secreto empresarial o material bajo
## custodia: subirlo puede vulnerar la confidencialidad y romper la
## cadena de custodia. Comprueba primero SOLO el hash (no revela el
## contenido); si necesitas subir el fichero, usa VirusTotal Private
## Scanning, que no lo comparte.
curl --request GET \
     --url https://www.virustotal.com/api/v3/files/$(cat malware.sha256 | cut -d" " -f1) \
     --header 'x-apikey: YOUR_API_KEY'

## Análisis con strings
strings malware_extraido.exe | grep -E "(http|https|ftp|\.exe|\.dll)"

## Output ejemplo:
## http://malicious-c2-server.com/beacon
## admin@example.com
## C:\Windows\System32\cmd.exe

Estadísticas y análisis agregado

Wireshark ofrece múltiples herramientas estadísticas para análisis forense:

Statistics > Conversations:

Lista de todas las conversaciones (flujos) entre endpoints:

IPv4 Conversations:
Address A          Port A    Address B          Port B    Packets  Bytes
192.168.1.10       49234  →  203.0.113.47     443       1.234    2.3 MB
192.168.1.10       49235  →  8.8.8.8            53        45       12 KB
...

= Identifica endpoints con más tráfico (posible exfiltración, C2)
= Filtra por conversación específica (Apply as Filter)

Statistics > Protocol Hierarchy:

Jerarquía de protocolos en captura:

Frame                        100%    15.234 packets   45.2 MB
  Ethernet                   100%    15.234 packets
    IPv4                     95.2%   14.501 packets
      TCP                    78.3%   11.345 packets
        HTTP                 45.1%   6.872 packets     ← Análisis: mucho HTTP
        HTTPS (TLS)          25.2%   3.845 packets
      UDP                    16.9%   2.567 packets
        DNS                  12.3%   1.876 packets
    IPv6                     4.8%    733 packets

= Vista rápida de distribución de protocolos
= Detectar protocolos anómalos o inusuales

Statistics > Endpoints:

Lista de todos los endpoints (IPs) que aparecen en captura:

IPv4 Endpoints:
Address            Packets   Bytes      Country
192.168.1.10       5.234     12.4 MB    Private
8.8.8.8            234       145 KB     US
203.0.113.47     1.456     8.9 MB     (IP de documentación, RFC 5737)  ← alto volumen: revisar el destino real
203.0.113.67       892       2.1 MB     Unknown

= Identifica IPs con tráfico anómalo
= Correlaciona con threat intelligence (GeoIP, reputación)

Statistics > I/O Graph:

Gráfico temporal de tráfico:

Packets/segundo o Bytes/segundo en eje Y
Tiempo en eje X

= Detecta picos de tráfico (posible ataque, exfiltración)
= Identifica patrones de beaconing (malware C2 periódico)
= Correlaciona con timeline de incidente

Análisis de handshake TCP/TLS

TCP Three-Way Handshake:

Filtro: tcp.flags.syn == 1

Paquete 1: SYN         [Cliente → Servidor]  tcp.flags == 0x02
Paquete 2: SYN-ACK     [Servidor → Cliente]  tcp.flags == 0x12
Paquete 3: ACK         [Cliente → Servidor]  tcp.flags == 0x10

= Conexión TCP establecida exitosamente

Análisis forense:
- Timestamp del primer SYN = momento de inicio de conexión
- IP origen del SYN = cliente que inició conexión
- IP destino = servidor contactado
- Ausencia de SYN-ACK = servidor no responde (filtrado, caído)

TLS Handshake (HTTPS):

Filtro: tls.handshake

Client Hello → Server Hello → Certificate → Server Key Exchange → ...

Información forense extraíble:
- Server Name Indication (SNI): tls.handshake.extensions_server_name
  = Dominio solicitado, visible en el ClientHello sin descifrar el TLS
    (salvo que se use Encrypted Client Hello, que lo oculta)
- Certificado del servidor: Issuer, Subject, Validity
  = Verificar legitimidad del certificado
- TLS version: tls.record.version
  = Detectar uso de versiones inseguras (TLS 1.0, SSL)

Ejemplo - Detectar phishing con certificado sospechoso:

Follow TLS Stream de conexión sospechosa
Expandir: Secure Sockets Layer > TLSv1.2 Record Layer > Handshake Protocol > Certificate

Subject: CN=paypal-secure-login.com  ← PHISHING (dominio incorrecto)
Issuer: CN=R11 (Let's Encrypt)     ← CA de emisión vigente
Not Before: Feb  9 12:00:00 2026 GMT  ← Certificado recién emitido
Not After: May 10 12:00:00 2026 GMT

Análisis: el certificado es válido, pero la señal NO es que sea
gratuito. Una validación DV (Let's Encrypt y otras) acredita el
control del dominio, no que el sitio sea benigno ni malicioso:
sitios legítimos y de phishing usan las mismas CA gratuitas. Lo
que sí es indicio es el DOMINIO:
- Dominio incorrecto (paypal-secure-login.com vs el legítimo)
- Emisión reciente, coherente con un dominio registrado hace poco
= Señal de phishing por el dominio, no por la CA

Casos de uso forenses con Wireshark

Escenarios ilustrativos

Los tres casos siguientes son escenarios construidos para explicar la metodología: las direcciones IP, los nombres de usuario, los ficheros y las marcas de tiempo son ficticios y no corresponden a ningún expediente ni persona identificable. Las técnicas y los filtros descritos sí son reales.

Caso 1: Exfiltración de datos corporativos

Contexto: Empleado sospechoso de filtrar documentos confidenciales a competidor.

Análisis con Wireshark:

## 1. Filtrar tráfico HTTP POST (método común exfiltración)
http.request.method == "POST"

## 2. Identificar POST a dominios externos
http.request.method == "POST" and !(ip.dst == 192.168.0.0/16)

## Resultado: 45 POST requests a upload.filehosting-suspicious.com

## 3. Follow HTTP Stream del primer POST
Right click > Follow > HTTP Stream

POST /upload HTTP/1.1
Host: upload.filehosting-suspicious.com
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Length: 2456789

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="Estrategia_Comercial_2026_CONFIDENCIAL.pdf"
Content-Type: application/pdf

%PDF-1.4
[... binary content ...]

## 4. Export Objects > HTTP > Save As > estrategia_exfiltrada.pdf

## 5. Documentación forense:
- Timestamp: 2026-02-08 18:34:56 (horario fuera de oficina)
- IP origen: 192.168.1.145 (ordenador del empleado sospechoso)
- IP destino: 203.0.113.89 (file hosting externo)
- Fichero: Estrategia_Comercial_2026_CONFIDENCIAL.pdf (2,4 MB)
- Nombre original conservado en header HTTP

## 6. Correlación con logs:
- Logs Active Directory: Usuario "jgarcia" autenticado en 192.168.1.145
- Logs DLP: No detectó exfiltración (tráfico HTTPS cifrado pasó bypass)
- Logs firewall: Confirmado tráfico saliente a 203.0.113.89 desde 192.168.1.145

Evidencia documentada:

  • Captura PCAP completa con hash SHA-256
  • Screenshot de Wireshark mostrando POST request
  • Fichero extraído con hash MD5/SHA-256
  • Timeline correlacionada con otros logs
  • Informe pericial con cadena de custodia

Caso 2: Identificación de malware C2 (Command & Control)

Contexto: Sospecha de infección con malware que comunica con servidor C2.

Análisis con Wireshark:

## 1. Analizar conexiones periódicas (beaconing pattern)
Statistics > Conversations > TCP

## Observación: Conexión cada 60 segundos exactos a 203.0.113.47:443
192.168.1.78  →  203.0.113.47:443  (conexión cada 60s durante 6 horas)

## 2. Filtrar tráfico a esa IP
ip.dst == 203.0.113.47

## 3. Analizar User-Agent HTTP
http.user_agent

## Resultado anómalo:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
                         └─ Obsoleto (IE6 de 2001, nadie lo usa)

## 4. Analizar contenido HTTP (si no está cifrado o con HTTPS interception)
Follow HTTP Stream

GET /update HTTP/1.1
Host: 203.0.113.47
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Cookie: session_id=a3f5c8e24d5b6a7f8c9d0e1f2a3b4c5d; beacon=infected_host_001

HTTP/1.1 200 OK
Content-Type: text/plain

CMD:execute:powershell.exe -enc WwBOAGUAdA[...]  ← Comando C2 codificado

## 5. Decodificar comando Base64
echo "WwBOAGUAdA[...]" | base64 -d

## Output: Comando para ejecutar script adicional

## 6. Análisis de IP con threat intelligence
whois <IP-del-servidor-real>
## En este ejemplo la IP 203.0.113.47 es de TEST-NET-3 (RFC 5737,
## reservada para documentación): NO tiene geolocalización, WHOIS
## ni reputación reales, así que aquí es solo un marcador ficticio.
## Con una IP real, el WHOIS devuelve el ASN, el país y el proveedor,
## y la reputación se consulta por el HASH del objeto, no por la IP.

## 7. Identificar proceso responsable (correlacionar con análisis de memoria RAM)
## Ver logs locales o captura simultánea de RAM para identificar proceso
## Resultado: svchost.exe anómalo (PID 4892) es responsable

Indicadores de compromiso (IOCs) identificados:

  • IP C2: 203.0.113.47
  • User-Agent malware: Mozilla/4.0 (compatible; MSIE 6.0…)
  • Patrón beaconing: Cada 60 segundos exactos
  • Cookie de identificación: beacon=infected_host_001

Caso 3: Ataque de fuerza bruta SSH

Contexto: Servidor Linux sufre múltiples intentos de login SSH.

## 1. Filtrar tráfico SSH
tcp.port == 22

## 2. Analizar intentos de conexión
Statistics > Conversations

## Observación: 5.432 conexiones desde 203.0.113.45 en 15 minutos

## 3. Analizar handshakes TCP
tcp.flags.syn == 1 and tcp.dstport == 22

## Resultado: 5.432 SYN packets desde misma IP (203.0.113.45)
## = 362 intentos por minuto = ataque automatizado de fuerza bruta

## 4. Ver distribución temporal
Statistics > I/O Graph
Filter: tcp.port == 22 and ip.src == 203.0.113.45

## Gráfico muestra picos de 400 conexiones/minuto sostenidos durante 15 min

## 5. Verificar si algún login fue exitoso
## OJO: tcp.time_delta NO es la duración de la conexión, sino el
## intervalo desde la trama anterior del mismo flujo. La duración se
## lee en Statistics > Conversations. Y aunque una sesión SSH dure
## más, eso NO prueba que la autenticación tuviera éxito: SSH va
## cifrado. Lo que sí lo probaría es el auth.log del servidor.
## Filtro (intervalo entre tramas): tcp.port == 22 and ip.src == 203.0.113.45 and tcp.time_delta > 5

## Una sesión larga es un indicio para investigar, no una prueba de login
## Timestamp: 2026-02-10 03:45:23

## 6. Correlacionar con logs SSH del servidor
## /var/log/auth.log confirma:
## Feb 10 03:45:23 Failed password for root from 203.0.113.45 (intentos 1-127)
## Feb 10 03:45:23 Accepted password for backup from 203.0.113.45
##                                                └─ Login exitoso (usuario débil)

Documentación forense:

  • IP atacante: 203.0.113.45
  • Total intentos: 5.432 en 15 minutos
  • Login exitoso: Usuario “backup” a las 03:45:23
  • Método: Fuerza bruta automatizada
  • Recomendación: Deshabilitar password auth, usar key-based auth únicamente

Legalidad de captura de tráfico

Artículo 197 CP (Interceptación de comunicaciones):

La interceptación de comunicaciones ajenas sin autorización constituye delito. Sin embargo:

Excepciones legales:

  1. Infraestructura propia corporativa: La empresa puede monitorizar su red si:

    • Existe política de uso notificada a empleados
    • Finalidad: Seguridad, prevención fraude, cumplimiento legal
    • Proporcionalidad: No monitorización indiscriminada de todo
  2. Investigación forense autorizada: Perito actúa bajo mandato de:

    • Empresa (como responsable legal de la infraestructura)
    • Juzgado (orden judicial en procedimiento penal)
    • Particular (análisis de su propia red)
  3. Respuesta a incidentes: Durante ciberataque activo, captura para:

    • Identificar atacante
    • Mitigar ataque
    • Preservar evidencia

Límites legales: Incluso en redes corporativas, interceptar comunicaciones personales de empleados (emails personales, mensajes privados) sin causa justificada y proporcional puede ser ilegal. La monitorización debe limitarse a tráfico profesional y existir transparencia con los empleados sobre políticas de uso.

RGPD y privacidad

Artículo 5 RGPD (Principios):

  • Licitud, lealtad, transparencia
  • Limitación de finalidad (seguridad, forense)
  • Minimización de datos (solo tráfico necesario)
  • Exactitud y limitación de plazo de conservación

Obligaciones del perito:

  • Documentar base legal de la captura
  • Limitar análisis a datos relevantes para investigación
  • Anonimizar datos no relevantes en informes
  • Conservar capturas PCAP con acceso restringido
  • Borrar evidencia tras finalización caso (salvo obligación legal de conservación)

Admisibilidad judicial de capturas PCAP

Requisitos para admisibilidad:

  1. Cadena de custodia documentada:

    • Quién capturó el tráfico, cuándo, dónde, con qué herramienta
    • Hash criptográfico del fichero PCAP original
    • Registro de accesos al fichero (quién, cuándo)
  2. Metodología reconocida:

    • Herramienta estándar (Wireshark es ampliamente aceptado)
    • Protocolo técnico documentado
    • ISO/IEC 27037, RFC 3227, NIST SP 800-86
  3. Integridad verificable:

    • PCAP original sin modificar
    • Hash matches (demostrar no alteración)
    • Metadata intacta (timestamps, interfaces)
  4. Informe pericial claro:

    • Explicación técnica comprensible para juez/jurado
    • Screenshots de Wireshark
    • Transcripciones de sesiones relevantes
    • Conclusiones fundamentadas en evidencia
  5. Perito cualificado:

    • Formación acreditada en análisis forense de red
    • Experiencia demostrable
    • Imparcialidad y objetividad

Jurisprudencia relevante:

El marco: el art. 588 ter LECrim regula la interceptación de comunicaciones ajenas por la autoridad dentro de una investigación penal, y no es una habilitación general para que un titular privado capture cuanto quiera. Que la empresa sea titular de la red no basta por sí solo: en el ámbito laboral siguen siendo exigibles finalidad legítima, necesidad, proporcionalidad, información previa a los trabajadores y respeto a su intimidad (art. 87 LOPDGDD, art. 20.3 ET). Cumplidos esos requisitos, la captura de la propia red se aporta en juicio por el art. 384 LEC y se valora por la sana crítica.

¿Tienes un caso con evidencia digital de por medio?

Una valoración previa dice qué evidencia existe, en qué estado está y si es técnicamente preservable, antes de invertir en el procedimiento.

Preguntas frecuentes

¿Qué es Wireshark y para qué sirve en análisis forense?

Wireshark es una herramienta open source de captura y análisis de paquetes de red (network protocol analyzer) utilizada por peritos informáticos para examinar tráfico de red en investigaciones forenses digitales. Captura el tráfico que la interfaz, el sistema y la topología entregan al equipo de captura (en una red conmutada, ver el tráfico entre otros equipos suele requerir port mirroring/SPAN o un TAP), disecciona cientos de protocolos (TCP, UDP, HTTP, TLS, DNS, SMB, FTP), aplica filtros avanzados para localizar tráfico específico, reconstruir sesiones completas de comunicación, extraer ficheros transferidos, y documentar evidencia de comunicaciones maliciosas, exfiltración de datos, ataques de red, o accesos no autorizados. Es la herramienta estándar global para análisis forense de red.

¿Cómo se usa Wireshark para detectar un ataque informático?

El perito captura el tráfico de red durante el incidente en tiempo real o analiza ficheros PCAP previamente guardados por sistemas de monitorización. Se aplican display filters para identificar anomalías características: conexiones a IPs sospechosas o países inusuales, protocolos no autorizados en la red, volúmenes de datos anómalos que sugieren exfiltración, patrones de ataque conocidos como escaneos de puertos o intentos de fuerza bruta, User-Agents automatizados típicos de malware, o tráfico de beaconing periódico hacia servidores C2. Se reconstruyen sesiones TCP completas con “Follow Stream” para ver el contenido exacto de comunicaciones, se extraen ficheros descargados o exfiltrados con “Export Objects”, se analizan headers HTTP y TLS para detectar malware o phishing, y se correlacionan IPs con bases de threat intelligence. Wireshark documenta evidencia digital con marcas temporales, IPs de origen y destino y el contenido de los paquetes, de modo que pueda aportarse a un procedimiento. Su admisión y su valoración corresponden al tribunal (art. 384 LEC).

Capturar el tráfico de la infraestructura propia de la empresa puede ser lícito para fines de seguridad, prevención de fraude y análisis forense, pero no por la sola titularidad: exige finalidad legítima, necesidad, proporcionalidad, información previa a los trabajadores y respeto a su intimidad (art. 87 LOPDGDD, art. 20.3 ET). Sin embargo, capturar comunicaciones ajenas sin autorización puede constituir un delito del artículo 197 del Código Penal cuando se hace para descubrir secretos o vulnerar la intimidad —esa finalidad forma parte del tipo—, con pena de uno a cuatro años de prisión y multa de doce a veinticuatro meses. En entornos corporativos, debe existir política de uso y monitorización notificada a empleados, y la captura debe ser proporcional (limitada a tráfico profesional relevante). Para investigaciones forenses encargadas por la empresa, el perito actúa bajo autorización del responsable legal de la infraestructura. En procedimientos judiciales penales, la policía puede capturar tráfico con autorización judicial previa. La captura durante la respuesta a un incidente activo es una medida habitual de preservación de evidencia sobre la propia red, que debe documentarse y limitarse a lo necesario. Conviene no invocar la «legítima defensa» del art. 20.4 CP como cobertura automática: es una eximente con requisitos propios (agresión ilegítima, necesidad racional del medio) que se aprecia caso por caso, no una autorización general.

Necesitas análisis forense de tráfico de red

Si tu empresa ha sufrido un ciberataque, sospecha de exfiltración de datos, necesita identificar comunicaciones maliciosas, o requiere documentar evidencia de accesos no autorizados, el análisis forense de red con Wireshark es fundamental para reconstruir exactamente qué ocurrió.

En Digital Perito realizamos análisis forenses especializados en tráfico de red:

  • Análisis completo de capturas PCAP con Wireshark y herramientas complementarias
  • Identificación de IPs atacantes, servidores C2, y comunicaciones maliciosas
  • Reconstrucción de sesiones completas (HTTP, FTP, SMTP, etc.)
  • Extracción de ficheros transferidos (malware, documentos exfiltrados)
  • Correlación de tráfico con threat intelligence y bases de IOCs
  • Detección de patrones de ataque (DDoS, fuerza bruta, escaneos, exfiltración)
  • Preservación de evidencia con cadena de custodia (ISO 27037)
  • Informe pericial técnico apto para aportarse a un procedimiento (su admisión la decide el tribunal)
  • Testimonio experto y ratificación judicial

Análisis de capturas existentes o captura en incidentes activos.

Consulta gratuita inicial de 30 minutos para evaluar tu caso.

Contacta ahora - Respuesta en menos de 24 horas

Preguntas Frecuentes

¿Qué es Wireshark y para qué sirve en análisis forense?

Wireshark es una herramienta open source de captura y análisis de paquetes de red utilizada por peritos informáticos para examinar tráfico de red en investigaciones forenses. Captura el tráfico que la interfaz, el sistema y la topología entregan al equipo (en una red conmutada, ver el tráfico entre otros equipos suele requerir port mirroring/SPAN o un TAP), disecciona cientos de protocolos, aplica filtros avanzados para localizar tráfico específico, reconstruir sesiones completas, extraer ficheros transferidos, y documentar evidencia de comunicaciones maliciosas, exfiltración de datos, o accesos no autorizados.

¿Cómo se usa Wireshark para detectar un ataque informático?

El perito captura el tráfico de red durante el incidente o analiza ficheros PCAP históricos. Se aplican filtros display para identificar anomalías: conexiones a IPs sospechosas, protocolos inusuales, volúmenes de datos anómalos, patrones de ataque conocidos. Se reconstruyen sesiones TCP para ver contenido completo de comunicaciones, se extraen ficheros descargados o exfiltrados, se analizan headers HTTP para detectar malware, y se correlacionan IPs con threat intelligence. Wireshark permite documentar la evidencia —marcas temporales, IPs de origen y destino y contenido de los paquetes— de forma que pueda sostenerse en un procedimiento. La admisión y la valoración las decide el tribunal (art. 384 LEC, sana crítica); ninguna herramienta las garantiza.

¿Es legal capturar tráfico de red con Wireshark en España?

Capturar tráfico de red en infraestructura propia de la empresa (con autorización) es legal para fines de seguridad y forenses. Sin embargo, capturar comunicaciones ajenas sin autorización puede constituir un delito del [art. 197 CP](https://www.boe.es/buscar/act.php?id=BOE-A-1995-25444#a197) cuando se hace «*para descubrir los secretos o vulnerar la intimidad de otro*» —esa finalidad es parte del tipo, no basta la mera captura—, con pena de uno a cuatro años de prisión y multa. En entornos corporativos, debe existir política de uso y monitorización informada a los empleados. Para investigaciones forenses encargadas por la empresa, el perito actúa bajo autorización del responsable legal. En procedimientos judiciales, la policía puede capturar tráfico con autorización judicial.

¿Necesitas un peritaje forense?

Si necesitas ayuda profesional con análisis forense digital, estoy aquí para ayudarte.

Solicitar Consulta Gratuita
Jonathan Izquierdo

Jonathan Izquierdo · Perito Forense

+15 años experiencia · AWS Certified

WhatsApp