
Motivación:
Mejoras técnicas:
Más mejoras:
Reto forense: Mayor opacidad si no se tiene visibilidad sobre el enrutamiento IPv6 interno
Propósito:
Casos de uso:
Habitual bloquearlo en redes corporativas:
Forense:
Los mensajes de error ICMP incluyen parte del paquete original que causó el error → revelan información de sesiones internas
Estructura:
Uso malicioso:
Detección en Wireshark:
Filtro: icmp.type == 8 (request)
Payload ICMP anormalmente grande = sospechoso
¿Por qué importa al forense?
Filtros clave:
# Solo paquetes SYN (inicio de conexión)
tcp.flags.syn == 1 && tcp.flags.ack == 0
# Detectar SYN scan (Nmap)
tcp.flags == 0x002
# Handshakes con problemas
tcp.analysis.flags
Muchos SYN hacia distintos puertos desde la misma IP = reconocimiento activo
Muchos SYN hacia el mismo puerto en la misma IP = DoS
¿Por qué importa al forense?
Filtros clave:
# Resets anómalos
tcp.flags.reset == 1
# RST en lugar de FIN
tcp.flags == 0x004
# Sesiones de larga duración
tcp.time_relative > 300
Muchos RST hacia el mismo host = escaneo activo o herramienta de ataque detectada
Protocolo ligero y rápido:
Protocolos basados en UDP:
Cabecera UDP (8 bytes):
Puerto origen | Puerto destino
Longitud total | Checksum
Diseñados en una era sin modelo de seguridad → son vectores de ataque habituales
¿Qué hace DNS?


Secciones de la respuesta DNS:
Forense DNS:
DNS es el protocolo de exfiltración y C2 más usado — todo el tráfico interno pasa por el DNS corporativo
| Tipo | Función | Relevancia Forense |
|---|---|---|
| A | IPv4 del dominio | Resolución C2, phishing |
| AAAA | IPv6 del dominio | C2 sobre IPv6 |
| CNAME | Alias | Redirección encubierta |
| MX | Servidor de correo | SPAM, phishing |
| TXT | Texto libre | Exfiltración, verificación |
| PTR | Reverse DNS (IP→nombre) | Atribución |
| NS | Servidor autoritativo | Takeover de dominio |
DNS clásico (UDP/53):
DNS sobre TLS (DoT / puerto 853):
DNS sobre HTTPS (DoH / puerto 443):
Reto forense 2025:
Malware usa DoH (Cloudflare, Google) para ocultar resoluciones de C2
Algunos ataques C2 usan consultas DNS periódicas hacia dominios controlados por el atacante.
Señales de alarma:
Filtro Wireshark:
dns.qry.name contains "<nombre_del_dominio>"
Regla práctica: si un dominio aparece con periodicidad fija, es C2 hasta que se demuestre lo contrario
4 pasos: DISCOVER → OFFER → REQUEST → ACK
Cliente Servidor DHCP
│ │
│── DHCPDISCOVER (broadcast) ─►│
│ │
│◄─── DHCPOFFER (unicast) ─────│
│ │
│── DHCPREQUEST (broadcast) ──►│
│ │
│◄───── DHCPACK (unicast) ─────│
Transporte: UDP puerto 67 (servidor) / 68 (cliente)
Wireshark: bootp (v1.x) o dhcp (v2.6+)
Campos clave del paquete:
chaddr — MAC del cliente (hardware address)xid — Transaction ID: vincula DISCOVER ↔ ACKyiaddr — IP ofrecida/asignada al clientesiaddr — IP del servidor DHCPoptions — Opciones extendidas (hostname, lease, fingerprint…)El xid permite reconstruir toda la negociación DORA como una única transacción en el PCAP
| Opción | Nombre | Valor forense |
|---|---|---|
| 12 | Hostname | Nombre del equipo en la red |
| 50 | Requested IP | IP que el cliente quiere conservar |
| 51 | Lease Time | Duración de la asignación |
| 53 | Message Type | DISCOVER / OFFER / REQUEST / ACK |
| 55 | Parameter Request List | Fingerprint del OS/dispositivo |
| 60 | Vendor Class ID | Tipo de cliente (MSFT 5.0, android-dhcp-13) |
| 61 | Client Identifier | UUID del cliente (alternativa a la MAC) |
Extracción con tshark:
# Todas las asignaciones (DHCPACK)
tshark -r cap.pcap -Y "dhcp.option.dhcp == 5" \
-T fields \
-e dhcp.ip.your \
-e dhcp.hw.mac_addr \
-e dhcp.option.hostname
# Vendor Class + fingerprint (Option 55 y 60)
tshark -r cap.pcap -Y "dhcp" \
-T fields \
-e dhcp.hw.mac_addr \
-e dhcp.option.vendor_class_id \
-e dhcp.option.param_request_list
El problema central del forense de red:
Cadena de atribución completa:
IP + timestamp exacto
↓ DHCP logs (lease activo en ese momento)
MAC address
↓ DHCP Option 12 / DNS inverso
Hostname
↓ Active Directory (dNSHostName → samAccountName)
Cuenta de usuario
↓ RRHH / inventario HW
Persona física
Puntos críticos:
Sin logs DHCP históricos con timestamps, la atribución IP→usuario es imposible
¿Qué es el DHCP fingerprinting?
Ejemplos de PRL (Option 55) conocidas:
| PRL | OS identificado |
|---|---|
1,3,6,15,31,33,43,44,46,47,119,121,249,252 |
Windows 10/11 |
1,121,3,6,15,119,252 |
macOS |
1,3,6,15,119,121 |
Linux (Ubuntu/NetworkManager) |
1,3,6,15,26,28,51,58,59,43 |
Android |
1,121,3,6,15,119,252,95,44 |
iOS |
Herramientas: fingerbank.org · Zeek (dhcp.log) · Arkime · nmap --script dhcp-discover
Indicador: dos DHCPOFFER con siaddr distintos respondiendo al mismo xid
Indicador: cientos de DHCPDISCOVER con chaddr distintos en pocos segundos
# Ver todos los servidores que responden (Rogue DHCP)
bootp.option.dhcp == 2 # filtra DHCPOFFER
# Agrupar por dhcp.ip.server → ¿más de uno?
# DHCP Starvation: muchos DISCOVER rápidos
bootp.option.dhcp == 1 # DHCPDISCOVER
# Statistics → Conversations → ver ratio MACs/tiempo
# DHCPNAK: servidor rechaza la petición
bootp.option.dhcp == 6 # DHCPNAK
Regla de detección:
Un equipo legítimo hace DORA una sola vez al conectarse. Ver decenas de DISCOVER desde la misma IP en segundos es indicador de herramienta de ataque activa (yersinia, DHCPig)
Vector muy común y difícil de bloquear:
Casi todos los campos HTTP son manipulables por el atacante
| Rango | Significado | Ejemplo forense |
|---|---|---|
| 1xx | Informativo | Poco común, ignorable |
| 2xx | Éxito | 200 OK — contenido servido |
| 3xx | Redirección | 302 → redirección a C2 |
| 4xx | Error cliente | 404 fichero no existe, 403 acceso denegado |
| 5xx | Error servidor | 500 = posible explotación |
Truco forense: Una ráfaga de 404 desde una IP = reconocimiento (fuzzing de rutas)
Una serie de 200 hacia URLs aleatorias = posible DGA / C2
Métodos comunes:
Relevancia forense:
STOR = upload hacia el servidor · RETR = descarga# Filtros Wireshark
ftp # canal de control
ftp-data # transferencia de ficheros
ftp.request.command == "STOR" # uploads (exfiltración)
C$, admin$, IPC$) = movimiento lateral + exfil# Write hacia un share = upload
smb2.cmd == 9 # SMB2 Write
smb2.filename contains "C$"
smb2.filename contains "admin$"
FTP a IPs externas desconocidas · SMB fuera de horario · Volumen bytes_dst >> normal
El problema con TLS 1.3:
Solución: SSLKEYLOGFILE
# Linux / Mac
export SSLKEYLOGFILE=~/tls_keys.log
# Windows (permanente)
setx SSLKEYLOGFILE C:\tls_keys.log
# Wireshark:
# Edit → Preferences → Protocols
# → TLS → Pre-Master-Secret log file
Solo funciona si controlas el endpoint que genera el tráfico
La ciencia de reconstruir lo que ocurrió en la red
¿Qué es?
Características:
Objetivo final:
Reconstruir las acciones del atacante con suficiente detalle para:
Capturar tráfico de red sin autorización es ilegal en la mayoría de jurisdicciones, incluso siendo el administrador de la red
¿Cuándo es legal?
¿Por qué importa la cadena de custodia?
Elementos mínimos al documentar un PCAP:
sha256sum captura.pcap)Regla práctica:
Antes de tocar cualquier evidencia, haz un hash y guárdalo en un lugar separado. Es el equivalente digital de los guantes en una escena del crimen.
En el caso de LogiCorp:
Antes de abrir el PCAP, documentamos: hash SHA-256, hora de descarga, nombre del analista. El fichero original queda en modo solo lectura.
El forense de red examina el tráfico que ha atravesado la red y lo correlaciona con actividad anómala para responder:
| Pregunta | Ejemplo |
|---|---|
| Quién | IP origen, MAC, usuario autenticado |
| Qué | Protocolo, payload, acción realizada |
| Dónde | IP/hostname destino, segmento de red |
| Cuándo | Timestamp, duración, frecuencia |
| Cómo | Técnica de ataque, herramienta usada |
| Por qué | Motivación inferida, objetivo |
Sin captura no hay análisis
Permite buscar en TB de datos en segundos
La inteligencia del analista es el factor clave
Empresa pequeña:
A medida que crece:
Implicaciones forenses:
Cuanto mayor es la red, más complejo el análisis:
En un análisis forense de red, los orígenes de información posibles son:


Todo el contenido de la red: cabeceras + payload completo

Un intercambio temporal entre dos o más equipos — metadatos de la conversación
Retos técnicos:
Retos organizativos:
El mayor reto de 2025:
El 80%+ del tráfico corporativo está cifrado — capturar no es suficiente
Técnicos:
Contextuales:
Sin conocer qué es normal, no se puede detectar lo anómalo
La metodología depende de:
Propiedades:
Ciclo básico:
1. HIPÓTESIS
¿Qué comportamiento anómalo busco?
→ Ejemplo: Beaconing C2 cada 60 segundos hacia IP externa
2. BÚSQUEDA
Aplicar filtros y análisis estadístico
→ Ejemplo: dns.qry.name + análisis de intervalos temporales
3. VALIDACIÓN
¿Es malicioso o es tráfico legítimo?
→ Ejemplo: Correlación con VirusTotal, ThreatFox, contexto IOCs
4. REMEDIACIÓN
Bloquear, aislar, documentar el incidente
→ Ejemplo: Regla de firewall + ticket de incidente + notificación
5. RETROSPECCIÓN
¿Cuándo comenzó realmente? ¿Afectó a otros hosts?
→ Buscar en datos históricos con los nuevos IOCs
# Wireshark
frame contains "password"
http.user_agent contains "curl"
# BPF en tcpdump
tcp and host 10.0.0.1 and port 443
# tshark - extraer campos
tshark -r cap.pcap \
-T fields \
-e ip.src -e dns.qry.name
Regla de oro:
El PCAP es el "ground truth" — cuando el SIEM duda, el PCAP tiene la respuesta
Cada dispositivo de red es un testigo potencial
IP → MAC → hostname → usuario (vía AD)
Muchos ataques (C2, exfiltración) se delatan en los logs DNS antes que en cualquier otra fuente
| Fuente | Dato clave forense |
|---|---|
| WiFi / Switches | MACs autenticadas, tabla CAM → ubicación física del equipo |
| Routers | NetFlow/IPFIX, ACLs — puede ser la única evidencia sin PCAP |
| Auth (AD/RADIUS) | Intentos fallidos, accesos en horario anómalo, escalada de privilegios |
| NIDS/NIPS | Alertas de C2 conocidos, fugas de datos, IOCs en tiempo real |
| Firewalls (NGFW) | Log granular permitido/denegado, identificación de aplicaciones L7 |
| Proxies web | Historial de navegación, phishing exitoso, contenido cacheado |
| SIEM | Correlación multi-fuente, retención histórica cuando el equipo es comprometido |
Ver Apéndice H para el detalle de cada fuente
La cadena de explotación:
.gif a través de iMessage
Lección forense:
El payload malicioso estaba en el PDF — un análisis de la extensión del fichero no habría detectado nada
De la teoría a la investigación activa
No confiar ciegamente en timestamps:
NTP drift puede causar desfases entre equipos
Solución: Verificar: ntpq -p o fuente autoritativa
No validar integridad del PCAP:
PCAP corrupto = análisis inválido
Solución: Siempre: capinfos archivo.pcap
Ignorar MTU y fragmentación:
Payloads >1500 bytes se fragmentan
Solución: ip.flags.mf == 1 o tcp.analysis.retransmission
Buscar contraseñas sin considerar cifrado:
95% del tráfico web es HTTPS hoy en día
Solución: Busca en HTTP, FTP, Telnet, SMTP (legacy)
No documentar la cadena de custodia:
PCAP sin hash = inadmisible en juicio
Solución: md5sum *.pcap > checksums.txt al capturar
Analizar sin conocer la red:
¿Qué es normal? ¿Cuánto DNS es esperado?
Solución: Establece un baseline antes del incidente
Escenario:
IT de LogiCorp detecta actividad sospechosa en la red WiFi corporativa. Un portátil externo apareció brevemente en el parking y se conectó a la red.
El equipo de Ana (192.168.1.158), empleada con acceso al activo más crítico de la empresa — la receta secreta — intercambió mensajes instantáneos con ese portátil y transfirió un archivo. El portátil desapareció minutos después.
PCAP: Evidencia01.pcap
Preguntas a responder:
Cómo encontrarlo:
tcp.port == 5190PK... = ZIP/DOCX extraíble directamenteIP de Ana: 192.168.1.158
¿Cuál es el primer mensaje?
Ana lo envía al servidor AOL — el stream pasa por la infraestructura de AIM
Buscar: "Here's the secret recipe..."

Proceso de extracción manual:
PK = 504B0304.docx → el documento interno de LogiCorp

Escenario:
Ademas de haber robado la información, Ana usa su cuenta personal AOL para coordinarse con su contacto externo. Afortunadamente el equipo de IT estaba monitorizando y tienen un PCAP que tenemos que analizar.
PCAP: Evidencia02.pcap
Buscamos:
Estrategia: Statistics → Conversations → TCP → 2 conversaciones
sec558@gmail.com, asunto "lunch next week" — tráfico normal, descartadoFollow TCP Stream → AUTH LOGIN:
c25lYWt5ZzMza0Bhb2wuY29t → sneakyg33k@aol.comNTU4cjAwbHo= → 558r00lzsecretrendezvous.docxLa ciudad no está en el cuerpo del email — está en el documento adjunto
File → Export Objects → IMF → guardamos el .eml
.eml y extraer el adjuntosecretrendezvous.docx contiene una imagen de Google Maps INTERNET FIREWALL EXT. DMZ FIREWALL INT. USUARIOS / DC
─────────────────────────────────────────────────────────────────────────────────────────
[1] Recon │ │ │ │
OSINT, scan │ │ │ │
│ │ │ │
[3] Delivery ──────┼─► Mail Relay ───►│ email malicioso │ │
│ Web Server │ drive-by │ │
│ │ │ │
[4][5] Exploit ───┼──────────────────┼─────────────────┼──► payload ◄──┤
Install │ │ │ │
│ │ │ persistence │
[6] C2 ◄─────────┼──────────────────┼─────────────────┼─── beacon out │
beaconing │ │ │ │
│ │ │ │
[7] Actions ───┼──────────────────┼─────────────────┼────────────────►│ DC / files
Lateral mvmt │ │ │ SMB, RDP │ exfil
─────────────────────────────────────────────────────────────────────────────────────────
[2] Weaponization — offline, sin traza de red
nmap fingerprintinghttp.request a dominios rarosssl.server_name ≠ dominio conocidosmb2 · grandes transfersLogiCorp: tenemos evidencias de las fases 3, 6 y 7
Escenario:
Se detecta un escaneo activo en el segmento 10.42.42.0/24 de LogiCorp. Uno de los equipos de la red está lanzando peticiones a todos los demás — búsqueda de hosts y puertos abiertos.
Tenemos el PCAP capturado en ese segmento durante la ventana temporal del escaneo.
PCAP: Evidencia03.pcap
Buscamos:
Statistics → Endpoints — varios equipos involucrados
Por el número de paquetes enviados, identificamos el equipo que escanea
Para el tipo de escaneo: filtrar SYN sin ACK de respuesta → TCP SYN (half-open)
tcp.flags.syn == 1 && tcp.flags.ack == 0
| Tipo | Flags TCP | Respuesta abierto | Detección |
|---|---|---|---|
| TCP Connect | SYN→SYN/ACK→ACK | Handshake completo | Fácil (logs) |
| SYN Stealth | SYN→SYN/ACK→RST | Solo SYN/ACK | Moderada |
| ACK | ACK | RST | Mapeo firewall |
| XMAS | FIN+PSH+URG | Silencio | Difícil |
| UDP | UDP vacío | Sin respuesta | Muy difícil |
| NULL | Sin flags | Silencio | Difícil |
IPs activas y su OS por TTL:
Puertos abiertos en el Windows:
tcp.flags == 0x12 (SYN-ACK = puerto abierto)Identificar el equipo Apple:
00:16:cb → Apple Inc. (buscar en Wireshark OUI lookup)Wireshark resuelve los OUI automáticamente en la columna de MACs
Escenario:
Revisando los logs de LogiCorp, hemos dado con un tráfico que es extraño.
Antes de cerrar la investigación, analiza este PCAP.
PCAP: Evidencia04.pcap — contraseña del ZIP: infected
Advertencia — hay malware real dentro
Buscamos:
1. Identificar el equipo afectado:
dhcp.option.hostname → aparece en el campo Option 122. Identificar el momento de la infección:
.exe, .dll, .zip, .js, .ps1Content-Type: application/x-msdownload = ejecutable3. Identificar el malware:
Si aparece dominio con caracteres aleatorios = DGA (Domain Generation Algorithm)
Aplicando la metodología anterior al caso LogiCorp:
1. Equipo afectado:
Stewie-PC172.16.4.1932. Momento de infección:
www.homeimprovement.com (sitio comprometido)application/x-msdownload194.87.234.129 a las 22:55 UTC3. Malware identificado:
spotsbill.comp27dokhpz2n7nvgr.1jw2lx.topTimeline: homeimprovement.com → exploit kit → EXE desde 194.87.234.129 → ransomware → C2 spotsbill.com
Telemetría de red a escala
¿Qué es un flow (flujo)?
Resumen de tráfico unidireccional que comparte la quíntupla:
Cada flujo contiene además:
Para qué sirve en forense:
Estándares: NetFlow (Cisco) · IPFIX (IETF) · sFlow (muestreo)
Un flujo ≠ una conexión TCP
Se puede aprender mucho de la "factura":
Quién → quién | protocolo | duración | velocidad | dirección de la transferencia
Los flows no tienen payload — pero el comportamiento traiciona la intención
Máxima visibilidad, máximo coste
¿Por qué FPC?
Casi todas las herramientas de seguridad usan un modelo de seguridad negativa:
Ventajas del FPC:
FPC detrás de un proxy → solo ve el tráfico del proxy, no del cliente real
Cuanto mayor el MTTD, mayor el almacenamiento necesario — y más cara la investigación
El problema no es técnico — es económico:
El cálculo:
0.75 Gbps × 75% uso × 72h retención
= 0.75 × 0.75 × 259200 / 8 / 1024³
≈ 24 TB por enlace
La realidad:
La mayoría de organizaciones tiene FPC solo en los puntos críticos, con retención de 3–7 días — insuficiente dado el MTTD medio de 194 días
Alternativa práctica:
FPC completo en perímetro (días) + Flows en toda la red (meses) + SIEM con logs (años)
Cada capa cubre lo que la anterior no puede retener
# Archivos ejecutables descargados
http.request.uri matches
"\.(exe|dll|ps1|bat|vbs)$"
# DGA - Dominios generados algorítmicamente
dns.qry.name matches
"^[a-z]{15,}\.(com|net|org)$"
# Credenciales en texto claro
frame matches
"(?i)(password|passwd|pwd)=.{3,}"
(?i) = Case Insensitive — úsalo siempre en user-agents
# Tráfico de bots automatizados
http.user_agent matches
"(?i)(bot|crawler|spider|scrapy)"
# SQL Injection en URLs
http.request.uri matches
"(?i)(union|select|from|where)"
# Exfiltración Base64 vía DNS
dns.qry.name matches
"^[A-Za-z0-9+/]{30,}="
¿Qué es JA3/JA4?
Malware conocido:
e7d705a3286e19ea42f587b344ee686551c64c77e60f3980eea90869b68c58a86734f37431670b3ab4292b8f60f29984Herramientas:
JA4 es la evolución de JA3 — más resistente a trivialidades como reordenar cipher suites
cloudflare.comdns.googleTodas estas técnicas abusan de protocolos legítimos — bloquear el protocolo bloquearía tráfico normal
Protocolos de movimiento lateral:
Red Flag clásico:
Servidor web → RDP → Domain Controller
Un servidor web nunca debería iniciar una sesión RDP hacia el DC
Detección en Wireshark:
tcp.port == 445 && smb2
tcp.port == 3389 && ip.src != [known admin IPs]
# NTLM: quién se autenticó y desde dónde
ntlmssp.auth.username
# Kerberos: ticket solicitado para qué servicio
kerberos.CNameString
kerberos.sname
# Pass-the-Hash: NTLM sin Kerberos en dominio AD
# → señal de credencial robada o herramienta tipo Mimikatz
# Un servidor web nunca inicia RDP
ip.src == 10.0.1.50 && tcp.dstport == 3389
# Acceso a shares de administración
smb2.filename contains "admin$"
smb2.filename contains "ADMIN$"
smb2.filename contains "C$"
smb2.filename contains "IPC$"
# WMI endpoint mapper → pivoting
tcp.dstport == 135 && ip.src != [admin_range]
# WinRM (PowerShell remoting)
tcp.dstport == 5985 || tcp.dstport == 5986
Patrón clásico de pivoting:
web_server (10.0.1.50) → SMB 445 → dc01 (10.0.0.10)
Un servidor de aplicación nunca accede a shares del DC
Técnicas de Machine Learning:
Herramientas:
ETA no reemplaza el descifrado, pero permite priorizar qué descifrar
¿Qué es HTTP/3?
Desafíos forenses:
Los filtros TCP clásicos no funcionan con QUIC:
tcp.port == 443 no captura QUIC
udp.port == 443 sí
Estrategia:
El poder de la correlación:
Cuando tenemos volcado de memoria Y PCAP, podemos:
Pipeline:
windows.netscanEjemplo real:
Memory: powershell.exe (PID:4832) → 185.220.101.45:443
PCAP confirma: HTTP POST a 185.220.101.45:443 con User-Agent de PowerShell
→ Conclusión: PowerShell fue el dropper
Sin correlación entre fuentes, un atacante con OPSEC puede confundir la atribución
¿Qué hace Zeek?
Analiza tráfico en tiempo real y genera logs estructurados — no es un IDS, es el motor que "escribe la historia" del tráfico.
PCAP vs Zeek logs:
PCAP = la grabación completa
Zeek logs = el índice estructurado de esa grabación
Para investigar, buscas primero en los logs; el PCAP es el "ground truth" al que pivoteas cuando necesitas el payload.
RITA (Real Intelligence Threat Analytics) lee logs Zeek y detecta automáticamente beaconing, DGA y conexiones largas de baja frecuencia
# Conexiones largas (C2 beaconing)
zeek-cut id.orig_h id.resp_h duration bytes \
< conn.log | sort -k3 -rn | head -20
# Volumen de datos hacia el exterior
zeek-cut id.orig_h id.resp_h orig_bytes \
< conn.log | sort -k3 -rn | head -20
# Ejecutables descargados con su hash
zeek-cut tx_hosts rx_hosts mime_type md5 sha256 \
< files.log | grep "application/x-dosexec"
# Consultas con hostname muy largo (posible DGA o tunelización)
zeek-cut query answers \
< dns.log | awk 'length($1) > 40'
# Top dominios consultados
zeek-cut query < dns.log | sort | uniq -c | sort -rn
# Certificados self-signed
zeek-cut id.orig_h id.resp_h validation_status \
< ssl.log | grep "self signed"
# JA3 fingerprint de cliente
zeek-cut id.orig_h ja3 ja3s < ssl.log
Sistema open-source para FPC masivo:
Tres componentes:
# Búsquedas en Arkime (ejemplos):
# TLS 1.3 a IPs rusas
protocols == tls &&
tls.version == "TLSv1.3" &&
country == "RU"
# DNS over HTTPS (DoH)
host == cloudflare-dns.com ||
host == dns.google
# Beaconing detectado
packets >= 50 &&
bytes < 10000 &&
duration > 3600
# Exfiltración ICMP
protocols == icmp &&
bytes.dst > 100000
Session Profile Information — metadatos extraídos de cada sesión:
1. Captura
2. Agregación
3. Detección
4. Investigación
5. Enriquecimiento
6. Respuesta
Clave: PCAP es el 'ground truth' cuando el SIEM duda
Ejemplo de búsqueda histórica:
Con un IOC identificado — por ejemplo spotsbill.com del Lab 4 — buscamos en Arkime cuándo empezó realmente la actividad del malware.
Query en Arkime:
host == "spotsbill.com"
Resultado hipotético:
Si tuviéramos EDR desplegado:
El valor de combinar fuentes:
PCAP + Arkime + EDR = atribución completa y timeline de 23 días que el SIEM solo no habría detectado
¿Qué encontramos en los PCAPs?
recipe.docx usando AIM sneakyg33k@aol.com para coordinar cita en Playa del Carmen con mistersecretx@aol.com10.42.42.253 — Windows en .50 (puertos 135, 139), Apple en .25Stewie-PC infectado vía www.homeimprovement.com → exploit kit → ransomwareHerramientas que usamos:
Conclusión forense:
Insider threat (Ana) filtró la receta secreta y coordinó un encuentro externo. Paralelamente, un equipo corporativo (Stewie-PC, 172.16.4.193) fue infectado con ransomware tras visitar un sitio comprometido.
Estos dos incidentes no tienen por qué estar relacionados.
IOCs del Lab 4:
194.87.234.129spotsbill.comp27dokhpz2n7nvgr.1jw2lx.topSHA-256 de cada PCAP documentado. Evidencia preservada para el equipo legal.
Cabecera e identificación
Resumen ejecutivo
Hallazgos técnicos
IOCs documentados
IP maliciosa: 194.87.234.129
Dominio C2: spotsbill.com
Hash ejecutable: 3a4f2b... (SHA-256)
Primer contacto: 2024-11-14 22:55:03 UTC
Conclusiones y atribución
Regla de oro:
Todo lo que afirmes en el informe debe poder referenciarse a una evidencia numerada. Si no tienes el PCAP que lo respalde, no lo afirmes.
El camino más corto: un PCAP real analizado y documentado en público vale más en una entrevista que cualquier curso sin práctica.
Lo que hemos aprendido:
El mejor analista de forense de red es el que:
Contacto: mhercol[@]gmail[.]com
Gracias — preguntas y contacto:
mhercol[@]gmail[.]com
A continuación: Material de referencia y módulo avanzado (bonus)
Glosario · Apéndices · Cloud & Kubernetes · eBPF
┌─────────────────────────────────────────────────────┐
│ │
│ BONUS TRACK — Infraestructuras Modernas │
│ │
│ Todo lo que hemos visto hasta ahora aplica │
│ a la infraestructura tradicional. Las empresas │
│ ahora mismo trabajan más en entornos cloud │
│ y basándose en contenedores y microservicios. │
│ │
│ │
└─────────────────────────────────────────────────────┘
La infraestructura moderna ha reescrito las reglas del forense de red
[!] Limitación crítica
Flow Logs NO contienen payload
(solo headers L3/L4)
"Trata a los contenedores como ganado, no como mascotas"
Los servidores tradicionales son mascotas: tienen nombre, historia y se reparan cuando fallan. Los contenedores son ganado: fungibles, numerados y reemplazados — nunca reparados. Esta filosofía tiene consecuencias directas en el forense: la evidencia es efímera por diseño.
Infraestructura tradicional (VMs)
Herramientas clásicas funcionan:
tcpdump, Wireshark, netstat, PCAP directo
Entornos contenerizados
Los retos forenses son nuevos:
visibilidad de red, namespaces, overlay, mTLS
Problema central: en Kubernetes, el tráfico entre pods viaja por redes virtuales superpuestas (overlay networks) — invisible a herramientas de captura convencionales sobre la NIC física
Capas de red involucradas:
[Pod A] ──veth──► [cbr0 bridge] ──VXLAN──► [Nodo B] ──veth──► [Pod B]
namespace red aislado encapsulado en UDP/8472
Problema 1: Namespaces de red
Cada pod tiene su propio namespace de red. tcpdump en el host no ve el tráfico interno entre pods del mismo nodo.
Problema 2: Ephemeral by design
Un kubectl delete pod destruye toda evidencia local. Los contenedores son inmutables — no se "parchean", se recrean.
Problema 3: IPs dinámicas
DHCP/IPAM asigna IPs al vuelo. La IP 10.0.1.42 que ves en logs puede pertenecer a 10 pods distintos en el mismo día.
Problema 4: Encapsulación
El tráfico Este-Oeste entre nodos viaja encapsulado en VXLAN (UDP/8472) o Geneve. Capturar en la NIC física muestra encapsulación, no el payload real.
Problema 5: Escala y velocidad
Miles de pods, decenas de nodos. Retención muy corta. Correlacionar un evento pasado con logs de pods ya destruidos es extremadamente difícil.
Problema 6: mTLS en service meshes
Istio/Linkerd cifran todo el tráfico Este-Oeste con mTLS. Sin gestión de claves, el tráfico es opaco.
VXLAN (Virtual eXtensible LAN): el tráfico entre pods de distintos nodos se encapsula en UDP/8472. Un tcpdump en la NIC física del nodo captura el wrapper, no el contenido real.
# Lo que ves capturando en eth0 del nodo:
IP nodo-1:47392 > nodo-2:8472: VXLAN, flags [I], vni 1
IP 10.0.1.5:54321 > 10.0.2.8:443: Flags [P.], ...
# ^pod-origen ^pod-destino ^payload dentro del VXLAN
# Para ver el tráfico real, necesitas capturar DENTRO del namespace del pod:
nsenter -t <PID_del_pod> -n -- tcpdump -i eth0 -w /tmp/captura.pcap
CNI plugins y sus implicaciones forenses:
Istio / Linkerd en modo mTLS
Cada pod tiene un sidecar proxy (Envoy) que intercepta todo el tráfico entrante y saliente y aplica mTLS automáticamente.
Consecuencia forense:
El tráfico entre servicio-A → servicio-B está cifrado aunque ambos servicios estén en la misma red interna.
A diferencia de TLS externo:
No hay un único punto de terminación TLS (como un proxy inverso). Las claves están distribuidas entre todos los sidecars.
Estrategias de visibilidad:
# Captura en el sidecar Envoy (tráfico pre-mTLS):
kubectl exec -it <pod> -c istio-proxy -- \
tcpdump -i lo -w /tmp/cap.pcap
nsenter: entra en los namespaces de Linux (red, PID, mount) de un proceso en ejecución. Permite ejecutar herramientas del host dentro del namespace de red de un pod sin modificar el pod.
# 1. Obtener el PID del proceso principal del contenedor en el nodo
CONTAINER_ID=$(kubectl get pod <pod-name> -o jsonpath='{.status.containerStatuses[0].containerID}' \
| cut -d'/' -f3)
PID=$(docker inspect --format '{{.State.Pid}}' $CONTAINER_ID)
# o con containerd:
PID=$(crictl inspect $CONTAINER_ID | jq '.info.pid')
# 2. Entrar en su namespace de red y capturar
nsenter -t $PID -n -- tcpdump -i eth0 -w /tmp/pod-capture.pcap
# 3. Copiar la captura al host
# (el archivo ya está en /tmp del sistema de archivos del host, no del pod)
Ventajas: no requiere modificar el pod, sin privilegios extra en el pod, funciona con contenedores sin shell
Limitación: el pod debe estar vivo en el momento de la captura
ksniff es un plugin de kubectl que automatiza la captura de tráfico en un pod remoto y lo redirige en tiempo real a Wireshark local — sin necesidad de SSH ni privilegios en el pod.
# Instalación
kubectl krew install sniff
# Captura en tiempo real (abre Wireshark localmente):
kubectl sniff <pod-name> -n <namespace>
# Captura a fichero PCAP:
kubectl sniff <pod-name> -n <namespace> -o /tmp/pod-traffic.pcap
# Filtro BPF para reducir ruido:
kubectl sniff <pod-name> -n <namespace> -f "port 8080"
# Pod sin privilegios (usa contenedor efímero):
kubectl sniff <pod-name> -n <namespace> --privileged=false
Casos de uso forenses:
¿Qué es eBPF?
Extended Berkeley Packet Filter permite ejecutar programas sandboxeados en el kernel de Linux sin modificar el código del kernel.
Para forense de contenedores:
Herramientas basadas en eBPF:
| Herramienta | Uso forense |
|---|---|
| Falco | Detección de anomalías en tiempo real |
| Tetragon | Trazado de procesos y red (Cilium) |
| Hubble | Observabilidad de red en Kubernetes |
| Pixie | Análisis de tráfico L7 sin instrumentación |
| Tracee | Forense de syscalls (Aqua Security) |
| bpftrace | Scripting eBPF ad-hoc |
# Ver conexiones TCP de todos los pods en tiempo real:
bpftrace -e 'kprobe:tcp_connect {
printf("%s -> %s\n", comm,
ntop(arg0->__sk_common.skc_daddr)); }'
Falco (CNCF) usa eBPF/kernel module para monitorizar llamadas al sistema en todos los contenedores del nodo. Define reglas declarativas para detectar comportamientos anómalos.
Reglas relevantes para forense de red:
# Detección: shell dentro de contenedor de producción
- rule: Terminal shell in container
desc: Container running an interactive shell
condition: spawned_process and container and shell_procs and proc.tty != 0
output: "Shell en contenedor (user=%user.name container=%container.name)"
priority: WARNING
# Detección: conexión saliente inesperada desde contenedor
- rule: Unexpected outbound connection
desc: Outbound connection on unexpected port
condition: outbound and container and not (fd.sport in (allowed_ports))
output: "Conexión no autorizada (pod=%k8s.pod.name dst=%fd.rip:%fd.rport)"
priority: CRITICAL
Exportación de alertas:
Hubble es el plano de observabilidad de Cilium. Usando eBPF proporciona visibilidad L3/L4/L7 del tráfico entre pods sin modificar aplicaciones ni añadir sidecars.
Capacidades:
# Instalar CLI de Hubble
hubble version
# Ver flujos en tiempo real (todos los namespaces):
hubble observe --all-namespaces
# Filtrar por pod concreto:
hubble observe --pod frontend/nginx-7d9f --follow
# Ver solo conexiones rechazadas (policy violations):
hubble observe --verdict DROPPED
# Flujos DNS para detectar C2:
hubble observe -t l7 --protocol DNS \
--namespace production
# Exportar a JSON para análisis forense:
hubble observe --output json > flujos-$(date +%Y%m%d).json
Los contenedores Docker/containerd usan OverlayFS: capas de imagen de solo lectura + capa de escritura efímera (upperdir). Al destruir el contenedor, la capa de escritura desaparece.
Estructura OverlayFS:
/var/lib/docker/overlay2/
<layer-id>/
diff/ ← cambios del contenedor (upperdir)
merged/ ← vista combinada (mountpoint)
work/ ← directorio interno OverlayFS
lower ← referencia a capas inferiores
Evidencia recuperable (si el contenedor aún existe):
# Extraer sistema de archivos de un contenedor vivo:
docker export <container-id> > container-fs.tar
# Inspeccionar la capa de escritura directamente:
LAYER=$(docker inspect <id> \
--format '{{.GraphDriver.Data.UpperDir}}')
ls -la $LAYER
# Copiar archivo específico del contenedor:
docker cp <container-id>:/tmp/malware.sh ./evidencia/
# Si ya está destruido — buscar en capas de imagen:
docker history <image>:tag
docker save <image> | tar -xv
Cadena de custodia:
# Hash antes de cualquier análisis:
sha256sum container-fs.tar > container-fs.tar.sha256
El API Server de Kubernetes registra todas las operaciones: kubectl exec, creación de pods, cambios de RBAC, acceso a secrets. Son la fuente de verdad del plano de control.
Configuración de política de auditoría:
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
# Registrar todos los exec y port-forward (indicadores de intrusión):
- level: Request
resources: [{group: "", resources: ["pods/exec", "pods/portforward"]}]
# Registrar acceso a secrets:
- level: Metadata
resources: [{group: "", resources: ["secrets"]}]
# Registrar cambios de RBAC:
- level: RequestResponse
resources: [{group: "rbac.authorization.k8s.io"}]
Indicadores de compromiso en audit logs:
Fuentes disponibles en entornos contenerizados:
Pipeline de correlación forense:
[Alerta SIEM / Detección Falco]
│
▼
[Kubernetes audit logs]
→ ¿Qué SA/usuario ejecutó el pod?
→ ¿Hubo kubectl exec sospechoso?
│
▼
[Hubble flows / NetFlow del CNI]
→ ¿A qué IPs se conectó el pod?
→ ¿Qué puertos y protocolos?
│
▼
[PCAP con nsenter/ksniff]
→ Contenido de las conexiones sospechosas
│
▼
[OverlayFS / docker export]
→ ¿Qué archivos dejó el atacante?
Escenario: Se detecta tráfico inusual desde un pod del namespace frontend. El pod contacta con la API de Kubernetes y con pods del namespace backend en puertos no autorizados.
Investigación paso a paso:
# 1. Identificar el pod y su service account:
kubectl get pod <pod-sospechoso> -o yaml | grep serviceAccount
# 2. Revisar qué permisos tiene esa SA:
kubectl auth can-i --list --as=system:serviceaccount:frontend:default
# 3. Ver audit logs del API server filtrando por esa SA:
grep '"serviceAccount":"default"' /var/log/kube-apiserver-audit.log \
| grep '"verb":"create\|exec\|list"' | jq .
# 4. Capturar tráfico del pod con ksniff:
kubectl sniff <pod-sospechoso> -n frontend -o /tmp/lateral.pcap
# 5. Consultar flujos en Hubble:
hubble observe --pod frontend/<pod-sospechoso> \
--verdict FORWARDED --output json | jq '.destination'
# 6. Extraer el sistema de archivos para análisis offline:
docker export <container-id> | tar -x -C /mnt/evidencia/
sha256sum /mnt/evidencia/**/* > /mnt/evidencia/hashes.txt
Captura de tráfico:
| Herramienta | Método | Nivel |
|---|---|---|
nsenter |
Network namespace | L2-L4 |
ksniff |
Plugin kubectl | L2-L7 |
| Hubble | eBPF (Cilium) | L3-L7 |
| Pixie | eBPF | L7 (HTTP/gRPC/DNS) |
Detección y alertas:
| Herramienta | Enfoque |
|---|---|
| Falco | Syscalls y comportamiento |
| Tetragon | Procesos y red (eBPF) |
| Tracee | Forense de syscalls |
Análisis de sistema de archivos:
| Comando | Uso |
|---|---|
docker export |
Extraer FS completo |
docker cp |
Copiar archivo concreto |
docker inspect |
Metadata del contenedor |
crictl inspect |
containerd runtime info |
Plano de control:
| Fuente | Información |
|---|---|
| K8s audit logs | Operaciones API server |
| RBAC audit | Escalada de privilegios |
| Envoy access logs | Tráfico mTLS en service mesh |
Regla de oro en contenedores:
La evidencia es efímera — capturar antes de que el pod desaparezca. Automatizar la respuesta con Falco + hooks de preservación de evidencia.
Ventaja: Simplificación del modelo sin perder funcionalidad forense


Proceso de encapsulamiento:
1. Aplicación: Genera los datos de usuario
2. Transporte (TCP): Añade cabeceras
3. Red (IP): Añade cabeceras de enrutamiento
4. Enlace: Añade cabeceras y cola (FCS)
En destino: Se desencapsula en sentido inverso

Cada capa añade su propia información de control (PDU)

IMPORTANTE
Wireshark muestra su
interpretación de la trama.
¡Esta interpretación puede
no ser correcta!
Las capas están formadas
por bytes que aparecen de
forma secuencial en el paquete
Las capas aparecen encapsuladas y ordenadas por bytes dentro del paquete.
Estructura del paquete:



Base 10 (Decimal)
Base 2 (Binario)
Base 16 (Hexadecimal)
Conversión Binario → Hex
1100 0110
↓ ↓
C 6
Regla: Cada 4 bits (nibble) = 1 dígito hexadecimal
Fundamental para leer cabeceras de protocolos en bruto
Ejercicio práctico:
Sea la cabecera UDP 0x0401 0035 004c 1fd7
Calcular en decimal el puerto de origen y destino
Solución:

Puerto 53 = DNS
Las primeras 4 palabras de 2 bytes de la cabecera UDP son siempre puerto origen, puerto destino, longitud y checksum

Cabecera del archivo (24 bytes):
Cada registro de paquete incluye:
pcap (clásico)
pcapng (moderno, desde 2004)
Conversión rápida:
# pcapng → pcap
editcap -F pcap \
archivo.pcapng archivo.pcap
# pcap → pcapng
editcap -F pcapng \
archivo.pcap archivo.pcapng
Wireshark guarda en pcapng por defecto — convertir si hay problemas de compatibilidad
Bloques en pcapng:
Section Header Block (SHB)
Interface Description Block (IDB)
Enhanced Packet Block (EPB)
Simple Packet Block (SPB)
Name Resolution Block (NRB)
Interface Statistics Block (ISB)
La flexibilidad de bloques permite que una captura pcapng contenga tráfico de múltiples interfaces con diferentes link types en un único archivo
Editcap - Utilidad para editar archivos PCAP
▸ Dividir por rango de tiempo
editcap -A "2025-01-01 00:00:00" -B "2025-01-02 00:00:00" \
entrada.pcap salida.pcap
▸ Dividir por número de paquetes
editcap -c 1000 entrada.pcap salida.pcap
▸ Ajustar timestamps (útil para corregir desfases NTP)
editcap -t +3600 entrada.pcap salida.pcap
▸ Crear subsets de paquetes por índice
editcap entrada.pcap salida.pcap 1-100 200-300
▸ Cambiar formato pcap
pcapng
editcap -F pcap archivo.pcapng archivo.pcap
▸ Eliminar paquetes duplicados
editcap -d entrada.pcap salida.pcap
# Combinar múltiples archivos
mergecap -w salida.pcap \
archivo1.pcap archivo2.pcap
# Múltiples interfaces en pcapng
mergecap -w salida.pcapng \
eth0.pcap wlan0.pcap
# Ordenar por timestamp
mergecap -w salida.pcap \
-F pcap *.pcap
Útil para consolidar capturas de múltiples sensores
capinfos captura.pcap
capinfos -T captura.pcap # tabla
capinfos -l captura.pcap # largo
Muestra:
Siempre ejecutar capinfos al recibir un PCAP para validar su integridad
Conjunto de estándares del IEEE:
Ethernet II (el más común en redes corporativas):
0x0800 | IPv6: 0x86DD0x0806 | VLAN 802.1Q: 0x8100
Diseñado para:
Propiedades:
Cabecera IP + Payload = Paquete IP
Campos forenses clave:
Opción 2: Botón Expression — selección guiada por protocolo y campo


Opción 3: Click derecho sobre un paquete o campo → Apply as Filter





Tamaño mínimo de trama: 14 + 46 + 4 bytes (mecanismo anti-colisiones)


Campos clave:
Tamaño y calidad de servicio:
Fragmentación e integridad:


Tamaño mínimo: 8 bytes (solo cabecera) — si vale 0 = jumbograma
show mac address-table | include [MAC]
Función:
Información forense:
Los routers son los IDS más desplegados (y más rudimentarios):
Los logs del router pueden ser la única fuente de evidencia cuando no hay PCAP
Guardan logs de sus aplicaciones — esenciales para descifrar qué ocurrió realmente a nivel de aplicación

Los flows son la forma de telemetría enviada por routers y switches
Fuentes:
Limitaciones:
| Fase | Indicadores en PCAP |
|---|---|
| Reconnaissance | DNS masivas, patrones Shodan, SYN a rangos de IP |
| Delivery | HTTP download .doc/.zip, User-Agent de herramienta |
| Exploitation | Payload anómalo, respuestas de error del servidor |
| C2 | HTTPS con JA3 malicioso, DGA domains, beaconing |
| Lateral Movement | SMB admin$, RDP, WMI entre hosts internos |
| Exfiltration | DNS tunneling, uploads grandes, ICMP con payload |
Regla práctica:
Cada fase deja huellas distintas — el PCAP es el registro completo de la actividad del atacante
APTs sofisticados operan durante meses antes de la detección — la retención de flows históricos es crítica
ARP (Address Resolution Protocol)
Protocolo que mapea una IP a su dirección MAC en la red local. Vulnerable a ARP spoofing.
Beaconing
Comunicación periódica de un malware con su servidor C2. Patrón: intervalos regulares, pocos bytes.
BPF (Berkeley Packet Filter)
Sintaxis de filtrado de paquetes usada por tcpdump y Wireshark. Opera a nivel de kernel.
C2 (Command & Control)
Infraestructura usada por el atacante para controlar el malware instalado en la víctima.
Cadena de custodia
Registro documental de quién ha tenido acceso a una evidencia desde su recogida hasta el juicio.
DGA (Domain Generation Algorithm)
Técnica de malware que genera dominios C2 automáticamente para dificultar el bloqueo.
ETA (Encrypted Traffic Analysis)
Análisis del tráfico cifrado sin descifrarlo, usando metadatos como tamaño y timing.
Flow / NetFlow
Resumen de una conversación de red: IPs, puertos, protocolo, bytes y paquetes. Menos detalle que PCAP pero mucho más ligero.
FPC (Full Packet Capture)
Captura completa de todos los paquetes, incluyendo payload. Máximo detalle forense.
Fragmentación IP
División de un paquete IP en trozos más pequeños cuando supera el MTU. Puede usarse para evadir IDS.
GDPR / RGPD
Reglamento General de Protección de Datos. Rige el tratamiento de datos personales en la UE, incluidos los capturados en tráfico de red.
Hash (SHA-256)
Huella digital de un fichero. Se usa para verificar que una evidencia no ha sido alterada.
IOC (Indicator of Compromise)
Señal de que un sistema ha sido comprometido: IP maliciosa, hash de malware, dominio C2.
JA3 / JA4
Huella digital del TLS ClientHello. Permite identificar el cliente TLS sin descifrar el tráfico.
Kill Chain
Modelo que describe las fases de un ataque: reconocimiento, entrega, explotación, instalación, C2, movimiento lateral, exfiltración.
Lateral Movement
Técnica del atacante para moverse de un sistema a otro dentro de la red comprometida.
Movimiento Norte-Sur
Tráfico entre la red interna y el exterior (Internet). Cruce del perímetro.
Movimiento Este-Oeste
Tráfico interno entre sistemas de la misma red. Más difícil de monitorizar que el Norte-Sur.
mTLS (Mutual TLS)
Variante de TLS donde tanto cliente como servidor se autentican con certificados.
PCAP (Packet Capture)
Fichero que contiene paquetes de red capturados. Formato más común: libpcap / pcapng.
Perfect Forward Secrecy (PFS)
Propiedad de TLS 1.3: cada sesión usa claves efímeras. Impide descifrar capturas pasadas si se compromete la clave privada.
Pivot
Movimiento del analista de una fuente de datos a otra siguiendo una pista: de alerta SIEM a PCAP en Arkime.
Proxy
Intermediario entre cliente e Internet. Puede ser punto de captura y control de tráfico.
QUIC / HTTP/3
Protocolo de transporte sobre UDP que reemplaza a TCP para HTTP/3. Dificulta el análisis forense clásico.
REGEX (Regular Expression)
Patrón de búsqueda de texto. En Wireshark se usan con matches para detectar patrones en el payload.
SPAN Port (Switch Port Analyzer)
Puerto de un switch configurado para recibir copias del tráfico de otros puertos. Alternativa económica al TAP.
SSLKEYLOGFILE
Variable de entorno que hace que el navegador exporte las claves de sesión TLS. Permite descifrar PCAPs en Wireshark.
SYN scan / Port scan
Técnica de reconocimiento que envía SYN a múltiples puertos para detectar servicios abiertos sin completar el handshake.
TAP (Test Access Point)
Dispositivo hardware que intercepta y copia el tráfico de red de forma pasiva e indetectable.
Threat Hunting
Búsqueda proactiva de amenazas usando hipótesis, antes de que se genere una alerta.
TLS (Transport Layer Security)
Protocolo de cifrado de la capa de transporte. La versión 1.3 es el estándar actual.
TTL (Time To Live)
Campo del paquete IP que indica cuántos saltos puede dar antes de descartarse. Útil para inferir el OS origen.
Wireshark
Herramienta gráfica de análisis de paquetes de red. Estándar de facto en forense de red.
Zeek (antes Bro)
Framework de análisis de red que genera logs estructurados por protocolo a partir de PCAP o tráfico en vivo.
Zero Trust
Modelo de seguridad que no confía en ningún nodo por defecto, incluso dentro de la red corporativa. Implica cifrado ubicuo y microsegmentación.