Cómo identificar actividades de red sospechosas con Wireshark en Ciberseguridad

WiresharkAdvanced
Practicar Ahora

Introducción

En el campo de la Ciberseguridad, comprender e identificar actividades de red sospechosas es crucial para mantener una infraestructura de red segura y resiliente. Este tutorial le guiará a través del proceso de uso de Wireshark, un potente analizador de protocolos de red, para detectar y analizar posibles amenazas en su entorno de red.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel avanzado con una tasa de finalización del 15%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Instalación y Configuración de Wireshark

¿Qué es Wireshark?

Wireshark es un potente analizador de protocolos de red de código abierto que le permite capturar e inspeccionar datos que viajan de un lado a otro en una red en tiempo real. Los profesionales de la seguridad lo utilizan para:

  • Monitorear el tráfico de red
  • Solucionar problemas de red
  • Detectar actividades sospechosas
  • Analizar detalles del protocolo
  • Identificar posibles amenazas a la seguridad

Instalación de Wireshark

Comencemos instalando Wireshark en nuestro sistema Ubuntu. Abra una terminal y ejecute los siguientes comandos:

sudo apt update
sudo apt install -y wireshark

Durante la instalación, se le preguntará si los usuarios que no son superusuarios deberían poder capturar paquetes. Seleccione "Sí" para mayor comodidad en este entorno de laboratorio.

La instalación puede tardar unos minutos. Una vez completada, debería ver una salida que indica que Wireshark se ha instalado correctamente.

Configuración de los Permisos de Usuario

Para capturar paquetes sin ejecutar Wireshark como root, necesitamos agregar nuestro usuario al grupo wireshark:

sudo usermod -a -G wireshark $USER

Para que los cambios surtan efecto, necesitamos cerrar sesión y volver a iniciarla, pero para este laboratorio, podemos aplicar los cambios inmediatamente con el siguiente comando:

newgrp wireshark

Verificación de la Instalación

Verifiquemos que Wireshark se haya instalado correctamente:

wireshark --version

Debería ver una salida similar a:

Wireshark 3.6.2 (Git v3.6.2 packaged as 3.6.2-2)

Copyright 1998-2022 Gerald Combs <gerald@wireshark.org> and contributors.
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with Qt 5.15.3, with libpcap, with POSIX capabilities
(Linux), with libnl 3, with Lua 5.2.4, with GLib 2.72.1, with zlib 1.2.11,
with Snappy, with libpcap 1.10.1, with GNUTLS 3.7.3, with Gcrypt 1.9.4.

Iniciando Wireshark

Ahora, iniciemos Wireshark con la interfaz gráfica:

wireshark &

La aplicación Wireshark se abrirá en una nueva ventana. Verá la interfaz principal con una lista de interfaces de red disponibles para la captura de paquetes.

Tómese un momento para familiarizarse con la interfaz de usuario de Wireshark:

  1. La sección superior muestra las interfaces de red disponibles
  2. La sección central (actualmente vacía) mostrará los paquetes capturados
  3. La barra de filtro en la parte superior le permite filtrar los paquetes mostrados
  4. Varios menús y barras de herramientas proporcionan funcionalidad adicional

En el siguiente paso, aprenderemos a capturar tráfico de red utilizando Wireshark.

Capturando Tráfico de Red con Wireshark

Comprensión de las Interfaces de Red

Antes de que podamos capturar tráfico de red, necesitamos entender qué interfaz de red monitorear. En un sistema típico, podría tener varias interfaces:

  • eth0 o ens33: Conexión Ethernet (cableada)
  • wlan0: Conexión Wi-Fi
  • lo: Interfaz de bucle invertido (tráfico local)

Comprobemos las interfaces de red disponibles en nuestro sistema:

ip a

Este comando mostrará todas las interfaces de red. Busque interfaces como eth0, ens33 u otras interfaces de red (el nombre exacto depende de la configuración de su sistema).

Generando Tráfico de Red de Prueba

Para asegurarnos de que tenemos algo de tráfico de red para analizar, generemos algo de tráfico HTTP básico haciendo algunas solicitudes web:

## Crear un directorio para guardar nuestras capturas
mkdir -p ~/wireshark_lab

## Generar algo de tráfico HTTP
curl -s http://example.com > /dev/null
curl -s http://google.com > /dev/null

Capturando Tráfico en Wireshark

Ahora, capturemos algo de tráfico de red usando Wireshark:

  1. Si Wireshark aún no se está ejecutando, inícielo:
wireshark &
  1. En la ventana principal de Wireshark, encuentre su interfaz de red principal (probablemente eth0 o ens33 - use la interfaz que identificó anteriormente con el comando ip a).

  2. Haga doble clic en la interfaz de red para comenzar a capturar paquetes.

  3. Verá que los paquetes comienzan a aparecer en la ventana principal a medida que se capturan:

    • El panel superior muestra la lista de paquetes
    • El panel central muestra los detalles del paquete seleccionado
    • El panel inferior muestra los datos sin procesar del paquete seleccionado en hexadecimal y ASCII
  4. Generemos más tráfico de red mientras Wireshark está capturando:

## Abra una nueva ventana de terminal y ejecute:
ping -c 5 google.com
  1. Vuelva a Wireshark y debería ver los paquetes ping ICMP apareciendo en la captura.

  2. Para detener la captura, haga clic en el botón del cuadrado rojo en la barra de herramientas o vaya a Capture > Stop.

Guardando el Tráfico Capturado

Ahora que hemos capturado algo de tráfico de red, guardémoslo para un análisis posterior:

  1. En Wireshark, vaya a File > Save o presione Ctrl+S.

  2. Navegue al directorio ~/wireshark_lab que creamos anteriormente.

  3. Nombre su archivo basic_capture.pcapng y haga clic en Save.

## Verifique que el archivo de captura se guardó
ls -la ~/wireshark_lab/

Debería ver su archivo basic_capture.pcapng en la salida.

Abriendo una Captura Guardada

Practiquemos la apertura de nuestro archivo de captura guardado:

  1. En Wireshark, vaya a File > Open o presione Ctrl+O.

  2. Navegue a ~/wireshark_lab/basic_capture.pcapng y ábralo.

Los paquetes capturados ahora deberían mostrarse en Wireshark, listos para su análisis.

En el siguiente paso, aprenderemos a filtrar y analizar este tráfico capturado para identificar tipos específicos de actividades de red.

Análisis del Tráfico de Red con Filtros Básicos

Comprensión de los Filtros de Visualización de Wireshark

Los filtros de visualización de Wireshark le permiten ver solo los paquetes que coinciden con criterios específicos. Esto es esencial al analizar grandes capturas de paquetes para encontrar información relevante.

La sintaxis básica para los filtros de visualización de Wireshark es:

protocolo.campo == valor

Por ejemplo:

  • ip.addr == 192.168.1.1 - Muestra los paquetes con esta dirección IP
  • tcp.port == 80 - Muestra los paquetes con el puerto TCP 80
  • http - Muestra todos los paquetes HTTP

Aplicación de Filtros de Visualización Básicos

Practiquemos la aplicación de algunos filtros básicos a nuestro tráfico capturado:

  1. Asegúrese de que Wireshark esté abierto con nuestro archivo de captura guardado previamente. Si no, ábralo:
wireshark ~/wireshark_lab/basic_capture.pcapng &
  1. Localice la barra de filtro en la parte superior de la lista de paquetes (dice "Apply a display filter..." cuando está vacía).

  2. Filtremos el tráfico DNS. Escriba lo siguiente en la barra de filtro:

dns
  1. Presione Enter o haga clic en el botón de la flecha azul para aplicar el filtro.

Ahora debería ver solo paquetes DNS en la visualización. Estas son solicitudes y respuestas de resolución de nombres de dominio.

  1. Ahora intentemos filtrar el tráfico HTTP:
http

Aplique el filtro y observe los paquetes HTTP.

  1. Filtremos por una dirección IP específica. Primero, identifique una dirección IP en su captura mirando las columnas de origen o destino. Luego, aplique un filtro como:
ip.addr == [reemplace_con_una_ip_de_su_captura]

Por ejemplo: ip.addr == 93.184.216.34 (si ve tráfico a example.com)

Combinación de Filtros

Puede combinar filtros usando operadores lógicos:

  • && o and para la operación AND (Y)
  • || o or para la operación OR (O)
  • ! o not para la operación NOT (NO)

Intentemos un filtro combinado:

http && ip.addr == [reemplace_con_una_ip_de_su_captura]

Esto mostrará el tráfico HTTP solo desde/hacia la dirección IP especificada.

Creación de un Filtro Simple para Tráfico TCP

Creemos y guardemos un filtro para el tráfico TCP:

  1. En la barra de filtro, escriba:
tcp
  1. Aplique el filtro. Debería ver solo paquetes TCP.

  2. Guardemos este filtro para uso futuro. Haga clic en el botón "+" en el lado derecho de la barra de filtro.

  3. En el diálogo que aparece, ingrese:

    • Nombre del filtro: TCP Traffic (Tráfico TCP)
    • Cadena de filtro: tcp
  4. Haga clic en "Save" (Guardar) para guardar este filtro.

Análisis de la Jerarquía de Protocolos

Wireshark proporciona una visualización útil de los protocolos en su captura:

  1. Vaya a Statistics > Protocol Hierarchy (Estadísticas > Jerarquía de Protocolos).

  2. Esto muestra un desglose de los protocolos por porcentaje y recuento de paquetes.

  3. Cierre esta ventana cuando termine de revisar.

Guardando Resultados Filtrados

Guardemos una vista filtrada de nuestra captura:

  1. Aplique un filtro de su elección (por ejemplo, http o dns).

  2. Vaya a File > Export Specified Packets (Archivo > Exportar Paquetes Especificados).

  3. Asegúrese de que "Displayed" (Mostrados) esté seleccionado en la sección "Packet Range" (Rango de Paquetes).

  4. Navegue a ~/wireshark_lab/ y guarde como filtered_capture.pcapng.

  5. Verifique que el archivo se guardó:

ls -la ~/wireshark_lab/

Debería ver tanto sus archivos de captura originales como los filtrados.

En el siguiente paso, usaremos estas técnicas de filtrado para identificar actividades de red sospechosas.

Identificación de Actividades de Red Sospechosas

Indicadores Comunes de Actividades de Red Sospechosas

Al analizar el tráfico de red con fines de seguridad, ciertos patrones y comportamientos pueden indicar actividades sospechosas o maliciosas:

  1. Uso Inusual de Puertos: Tráfico en puertos poco comunes o puertos de malware conocidos
  2. Consultas DNS Excesivas: Puede indicar tunelización DNS o exfiltración de datos
  3. Credenciales No Cifradas: Contraseñas enviadas en texto claro
  4. Escaneo de Puertos (Port Scanning): Múltiples intentos de conexión a diferentes puertos
  5. Patrones de Datos Inusuales: Cargas útiles codificadas en Base64 o tráfico cifrado donde no se espera
  6. Intentos de Conexión a IPs Maliciosas Conocidas: Tráfico hacia/desde direcciones en listas negras

Simulación de Actividades Sospechosas

Para fines de aprendizaje, simulemos algunas actividades de red sospechosas que podemos detectar con Wireshark:

## Crear un directorio para nuestro análisis de seguridad
mkdir -p ~/wireshark_lab/security_analysis

## Simular un escaneo de puertos (limitado a algunos puertos para demostración)
nmap -p 80,443,22,21,25 scanme.nmap.org > ~/wireshark_lab/security_analysis/scan_results.txt 2>&1

Nota: El comando nmap anterior realiza un escaneo en los puertos comunes del servidor scanme.nmap.org, que está configurado específicamente para probar nmap.

Captura y Análisis de Tráfico Sospechoso

  1. Inicie una nueva captura de Wireshark en su interfaz de red principal:
wireshark &
  1. En Wireshark, haga doble clic en su interfaz de red principal para comenzar a capturar.

  2. En una terminal separada, ejecute el comando de simulación:

## Simular otro escaneo de puertos mientras se captura
nmap -p 80,443,22,21,25 scanme.nmap.org > /dev/null 2>&1
  1. Después de que se complete el comando, detenga la captura de Wireshark haciendo clic en el botón del cuadrado rojo.

  2. Guarde esta captura como suspicious_traffic.pcapng en el directorio ~/wireshark_lab/security_analysis/.

Detección de Escaneo de Puertos

El escaneo de puertos es una técnica de reconocimiento común utilizada por los atacantes para descubrir los servicios que se ejecutan en un sistema. Identifiquemos la actividad de escaneo de puertos en nuestra captura:

  1. Aplique un filtro para ver los intentos de conexión a diferentes puertos:
tcp.flags.syn == 1 && tcp.flags.ack == 0

Este filtro muestra los paquetes TCP SYN, que se utilizan para iniciar conexiones. Un gran número de estos paquetes a diferentes puertos en el mismo host es indicativo de escaneo de puertos.

  1. Para enfocarse en el tráfico relacionado con nuestro escaneo nmap, puede agregar un filtro para el dominio objetivo:
tcp.flags.syn == 1 && tcp.flags.ack == 0 && ip.addr contains scanme.nmap.org

Creación de un Informe de Análisis de Seguridad

Documentemos nuestros hallazgos en un informe de análisis de seguridad simple:

## Crear un archivo de informe
nano ~/wireshark_lab/security_analysis/security_report.txt

Agregue el siguiente contenido al archivo:

Informe de Análisis de Seguridad
=======================

Fecha: [Fecha Actual]

Hallazgos:
1. Actividad de Escaneo de Puertos Detectada
   - Origen: [Su dirección IP]
   - Destino: scanme.nmap.org
   - Puertos Objetivo: 80, 443, 22, 21, 25
   - Evidencia: Paquetes TCP SYN a múltiples puertos

2. Método de Análisis:
   - Se utilizó Wireshark para capturar el tráfico de red
   - Se aplicó el filtro: tcp.flags.syn == 1 && tcp.flags.ack == 0
   - Se identificó un patrón de intentos de conexión sistemáticos

3. Acciones Recomendadas:
   - Monitorear las actividades de escaneo no autorizadas
   - Implementar reglas de firewall para limitar el escaneo saliente
   - Considerar la implementación de sistemas de detección de intrusiones de red

Guarde el archivo presionando Ctrl+O, luego Enter, y salga de nano con Ctrl+X.

Creación de un Filtro Personalizado para Actividades Sospechosas

Creemos un filtro personalizado para detectar posibles problemas de seguridad:

  1. En Wireshark, escriba el siguiente filtro:
(tcp.flags.syn == 1 && tcp.flags.ack == 0) || (dns.qry.type == 1 && dns.qry.name contains "suspicious") || (http.request && ip.addr == 192.168.0.1)

Este filtro complejo busca:

  • Actividad de escaneo de puertos (paquetes SYN sin ACK)
  • Consultas DNS para dominios que contienen "suspicious" (sospechoso)
  • Solicitudes HTTP desde/hacia la IP 192.168.0.1
  1. Guarde este filtro:

    • Haga clic en el botón "+" en el extremo derecho de la barra de filtro
    • Nombre: Security Monitoring (Monitoreo de Seguridad)
    • Cadena de filtro: (pegue el filtro anterior)
    • Haga clic en "Save" (Guardar)
  2. Exporte esta configuración de filtro para uso futuro:

## Primero, abra su directorio de perfil de Wireshark para encontrar los filtros guardados
ls -la ~/.config/wireshark/

Resumen de su Análisis de Seguridad

Verifiquemos nuestros artefactos de análisis de seguridad:

## Enumere todos los archivos que hemos creado
ls -la ~/wireshark_lab/security_analysis/

Debería ver:

  • scan_results.txt - Salida de nuestro escaneo nmap
  • suspicious_traffic.pcapng - Captura de Wireshark de actividades sospechosas
  • security_report.txt - Nuestro informe de análisis

Estos archivos representan un flujo de trabajo básico de análisis de ciberseguridad:

  1. Capturar tráfico sospechoso
  2. Analizar el tráfico utilizando filtros apropiados
  3. Documentar los hallazgos y recomendaciones

En un entorno de seguridad real, continuaría refinando sus técnicas de detección, creando filtros más sofisticados e integrando el análisis de Wireshark con otras herramientas de seguridad para una detección y respuesta de amenazas integrales.

Resumen

En este laboratorio, ha adquirido experiencia práctica con Wireshark, un potente analizador de protocolos de red ampliamente utilizado en ciberseguridad. Ha aprendido a:

  1. Instalar y configurar Wireshark en Ubuntu
  2. Capturar tráfico de red desde varias interfaces
  3. Aplicar filtros para analizar tipos específicos de tráfico de red
  4. Identificar posibles actividades sospechosas como el escaneo de puertos (port scanning)
  5. Documentar sus hallazgos en un informe de análisis de seguridad

Estas habilidades forman la base del análisis de tráfico de red para fines de ciberseguridad. Al comprender cómo usar Wireshark de manera efectiva, puede monitorear el tráfico de red, detectar anomalías e identificar posibles amenazas a la seguridad antes de que causen daños significativos.

A medida que continúa su viaje en ciberseguridad, puede construir sobre estas bases aprendiendo técnicas de filtrado más avanzadas, desarrollando reglas de detección personalizadas e integrando Wireshark con otras herramientas de seguridad para crear soluciones integrales de monitoreo de red.