El análisis de alertas como punto de partida: Una alerta de un IDS/IPS no debe ser considerada como una conclusión final, sino como un inicio para una investigación más profunda. Es esencial que un analista de tráfico examine los paquetes asociados, los registros y otros eventos relacionados para determinar la severidad real de la alerta. Por ejemplo, una alerta de "Zero length padN option" puede ser una señal de compromiso, un falso positivo o simplemente un mensaje informativo. El contexto es crucial.
-
Priorización de alertas:
- No todas las alertas tienen la misma importancia. Inicialmente, una alerta de "ICMP tunnel" puede parecer más grave que un "ICMP ping sweep", pero el análisis de paquetes podría revelar lo contrario.
- La prioridad debe ajustarse después de analizar los detalles de los paquetes, la actividad asociada, y la información de otras fuentes de datos. Por ejemplo, un simple "nmap SYN scan" podría ser menos preocupante que un "ICMP tunnel" si este último está exfiltrando datos.
-
La importancia de los paquetes:
- Los paquetes son la evidencia de lo que ocurre en la red. Permiten reconstruir la actividad asociada con una alerta, así como la actividad previa y posterior.
- El análisis de paquetes permite descubrir actividades que un IDS/IPS podría no detectar, como una sesión SSH encapsulada en un túnel ICMP.
- Incluso si los paquetes están encriptados, son valiosos para determinar el comportamiento de un atacante. Sin los paquetes, el análisis se basa en conjeturas.
-
Herramientas de análisis:
- tcpdump: Se utiliza para una visión general del tráfico. Muestra información de los paquetes como direcciones IP, puertos, y banderas TCP.
- Wireshark: Es más adecuado para la inspección de la carga útil y el análisis de sesiones. Especialmente útil para examinar protocolos como SSH dentro de ICMP.
- Ambas herramientas son esenciales para el análisis de paquetes y se usan de forma extensiva en este curso.
-
Análisis de anomalías en paquetes:
- Los patrones de tráfico inusuales pueden ser indicativos de actividad maliciosa.
- Ejemplos:
- Múltiples respuestas ICMP a una sola solicitud.
- Intervalos de tiempo muy rápidos entre paquetes.
- Valores de ID y números de secuencia de ICMP que no se incrementan de la forma esperada.
- Puertos de origen que se mantienen constantes en escaneos SYN.
- Carga útil en los paquetes ICMP que no es normal.
- El análisis detallado de estos elementos puede revelar el uso de herramientas de escaneo o tunneling.
-
Ejemplos específicos de análisis:
- ICMP Ping Sweep: Un análisis superficial puede mostrar pings a varios hosts. Un análisis detallado de la carga útil puede mostrar que no fue generado por una herramienta de "ping" normal, sino por un escáner como nmap. Por ejemplo, un escaneo usando nmap puede enviar pings a varios hosts en menos de un segundo, que no se corresponde a un uso normal de la utilidad ping. Esto puede indicar que es un escaneo para descubrir hosts activos.
- SYN Scan: Un escaneo SYN a varios puertos indica que el atacante intenta descubrir servicios activos. Si los números de secuencia TCP y puerto de origen no cambian, sugiere que el tráfico fue generado por una herramienta como nmap.
- ICMP Tunnel: El tráfico ICMP con carga útil inusual, como el inicio de una sesión SSH, sugiere que se está utilizando un túnel para encapsular tráfico TCP dentro de paquetes ICMP. Esto podría ser un canal encubierto para la exfiltración de datos o para comunicación C2. En este caso, se debe analizar el payload en más detalle.
-
Habilidades del atacante y herramientas:
- Identificar las herramientas que usa un atacante permite evaluar su nivel de habilidad.
- Atacantes menos hábiles pueden usar herramientas integradas del sistema, como "ping".
- Atacantes con más experiencia pueden usar herramientas conocidas como "nmap".
- Atacantes más avanzados utilizan herramientas nuevas, poco comunes, o incluso desarrolladas por ellos mismos.
- Por ejemplo, una herramienta personalizada para un ICMP Ping Sweep puede indicar un mayor nivel de habilidad.
-
Modelo TCP/IP:
- La comunicación en red se basa en el modelo TCP/IP, compuesto por capas de encapsulación/desencapsulación.
- Capas:
- Acceso a la red (Link layer).
- Internet (IP).
- Transporte (TCP, UDP).
- Aplicación (HTTP, SMTP, DNS, etc.).
- Cada capa añade información de cabecera a medida que la información desciende y la elimina cuando asciende.
- Es fundamental comprender este modelo para analizar cómo se forman los paquetes y detectar anomalías.
Formación de Cabeceras en el Modelo TCP/IP
El modelo TCP/IP se compone de varias capas, cada una con su propia cabecera que se añade al paquete a medida que este desciende en la pila (encapsulación) y se elimina cuando sube (desencapsulación).
- Capa de Aplicación: Esta capa genera los datos o payload que se enviarán a través de la red.
- No añade una cabecera específica. En su lugar, el mensaje generado por la aplicación es considerado como los datos para la siguiente capa.
- Capa de Transporte: Se encarga de la comunicación entre aplicaciones.
- TCP: Añade una cabecera que puede variar en longitud debido a las opciones.
- La cabecera incluye: puertos de origen y destino, números de secuencia y acuse de recibo, flags (bits que indican el estado de la conexión), longitud del encabezado, ventana y checksum.
- La longitud de la cabecera se especifica en un campo dentro de la propia cabecera TCP.
- Cada bit en los flags TCP tiene un significado específico, por ejemplo, SYN, ACK, FIN, RST, PSH, URG.
- UDP: Añade una cabecera simple de longitud fija que incluye los puertos de origen y destino, y la longitud del datagrama.
- Capa de Internet (IP): Se ocupa del enrutamiento de paquetes entre redes.
- La cabecera IP puede tener una longitud variable, entre 20 y 60 bytes, debido a las opciones.
- La cabecera IP incluye: versión, longitud del encabezado, tipo de servicio (TOS), longitud total del paquete, identificación, flags, tiempo de vida (TTL), protocolo, checksum, direcciones IP de origen y destino.
- Cada campo en la cabecera IP tiene un tamaño específico en bits. Por ejemplo, la longitud total del paquete es de 16 bits, y la versión IP es de 4 bits.
- Capa de Acceso a la Red: Transmite los datos en el medio físico, por ejemplo, Ethernet.
- La cabecera Ethernet tiene una longitud fija de 14 bytes para Ethernet 802.3, y contiene las direcciones MAC de origen y destino, y el EtherType que indica el protocolo de la capa superior.
- No hay un campo para especificar la longitud de la cabecera porque es de longitud fija.
- El campo EtherType indica el protocolo de capa superior (por ejemplo, IPv4 con un valor de 0x0800).
-
Hexadecimal:
- Los datos de red se suelen representar en formato hexadecimal.
- Cada dígito hexadecimal representa 4 bits (un nibble).
- Es esencial comprender las conversiones entre hexadecimal, decimal y binario para analizar los paquetes.
- El hexadecimal es una forma abreviada de representar binario. Se debe comprender como se hace la conversión entre ellas.
-
RFCs (Request for Comments):
- Los RFCs son documentos que describen el comportamiento esperado de los protocolos.
- RFCs importantes: TCP (RFC 793), UDP (RFC 768), IP (RFC 791), ICMP (RFC 792), IPv6 (RFC 2460).
- Las implementaciones pueden variar de las recomendaciones en los RFCs, por lo que es necesario entenderlos para analizar anomalías. Por ejemplo, algunos sistemas pueden manejar segmentos TCP superpuestos de forma distinta.
-
Monitoreo en la nube:
- El monitoreo de tráfico es posible en entornos de nube utilizando tecnologías como VXLAN.
- VXLAN permite duplicar el tráfico de redes virtuales a otros puntos para su análisis.
- El análisis y la captura de paquetes pueden realizarse en la nube, y solo se transfieren los paquetes de interés para un análisis adicional en la red corporativa.
-
Laboratorios:
- El entorno del laboratorio simula un entorno de monitoreo remoto, ya sea en la nube o un data center.
- Se debe aprender a analizar los datos directamente en el sistema remoto y transferir solo los paquetes importantes para el análisis local.
-
Normalidad vs. Anormalidad:
- El análisis de seguridad se centra en encontrar comportamientos inesperados o anormales.
- El conocimiento profundo de los protocolos, los RFCs y los comportamientos típicos es crucial para detectar anomalías y amenazas.
En resumen, esta guía enfatiza la importancia del análisis profundo de paquetes, el conocimiento de los protocolos y herramientas de análisis, para una detección efectiva de amenazas en la red. Es fundamental recordar que las alertas son un punto de inicio y se debe profundizar en el análisis para determinar la naturaleza y la severidad de los eventos.
Conversión entre datos Binarios, Decimales y Hexadecimales
Los datos en redes se representan en forma de bits (0 o 1), pero se utilizan los sistemas decimal y hexadecimal para facilitar la representación y el análisis.
- Binario: Sistema numérico base 2, utiliza solo 0 y 1.
- Cada dígito es un bit.
- Los bits se agrupan en nibbles (4 bits), bytes (8 bits), words (16 bits), double words (32 bits) y quad words (64 bits).
- Decimal: Sistema numérico base 10, utiliza 0-9.
- Cada columna representa una potencia de 10 (10^0, 10^1, 10^2, etc.).
- Hexadecimal: Sistema numérico base 16, utiliza 0-9 y A-F (10-15).
- Un dígito hexadecimal representa un nibble (4 bits).
- Los números hexadecimales se indican con el prefijo "0x".
Conversión entre Bases:
- Binario a Decimal: Multiplica cada bit por su correspondiente potencia de 2 y suma los resultados. Ejemplo: 1010₂ = (1 * 2³) + (0 * 2²) + (1 * 2¹) + (0 * 2⁰) = 8 + 0 + 2 + 0 = 10₁₀.
- Decimal a Binario: Divide el número decimal sucesivamente entre 2. Los restos forman el número binario de derecha a izquierda. Ejemplo: 10₁₀ se convierte en 1010₂.
- Binario a Hexadecimal: Agrupa los bits en nibbles (4 bits) y convierte cada nibble a su dígito hexadecimal correspondiente. Ejemplo: 1100 1010₂ = CA₁₆.
- Hexadecimal a Binario: Convierte cada dígito hexadecimal a su representación binaria de 4 bits. Ejemplo: CA₁₆ = 1100 1010₂.
- Hexadecimal a Decimal: Multiplica cada dígito hexadecimal por su correspondiente potencia de 16 y suma los resultados. Ejemplo: 0x32 = (3 * 16¹) + (2 * 16⁰) = 48 + 2 = 50₁₀.
- Decimal a Hexadecimal: Divide el número decimal sucesivamente entre 16. Los restos forman el número hexadecimal de derecha a izquierda. Ejemplo: 50₁₀ se convierte en 0x32.
Ejemplo de Conversión en Cabecera IP
- La longitud total del paquete IP está en los bytes 2 y 3 de la cabecera IP.
- Supongamos que estos dos bytes tienen el valor hexadecimal 0x0030.
- Para convertirlo a decimal, se calcula (0 * 16³) + (0 * 16²) + (3 * 16¹) + (0 * 16⁰) = 0 + 0 + 48 + 0 = 48 bytes.
Si analizamos la cabecera UDP los dos primeros (df f2) serian el puerto de origen y los dos siguiente (00 35) serían el de destino:
0*16^3 + 0*16^2 + 3*16^1 + 5*16^ = 0 + 0 + 48 + 5 = 53
Importancia en el Análisis de Redes
- El conocimiento de la estructura de las cabeceras es fundamental para el análisis de paquetes y la detección de anomalías.
- La conversión entre bases es esencial para interpretar los datos binarios en formatos más manejables.
- Entender el significado de cada bit y campo permite detectar comportamientos inesperados en la red.
- Las herramientas como tcpdump y Wireshark utilizan hexadecimal para mostrar los datos del paquete.
Esta explicación detallada proporciona una base sólida para comprender cómo se estructuran los datos en las redes y cómo analizarlos para detectar posibles anomalías.
No hay comentarios:
Publicar un comentario