Última actualización: abril 1, 2022
16.0. Introducción
16.0.1. ¿Por qué deberíamos tomar este módulo?
Los protocolos son el fundamento de las comunicaciones de datos. Por esta razón, han sido un objetivo de los atacantes desde hace mucho tiempo. Los analistas de ciberseguridad deben comprender cómo los atacantes utilizan las características de los protocolos comunes en los ciberataques.
Este módulo proporciona una visión general de los campos de paquetes IP de capa 3 y los campos de segmento TCP y UDP de capa 4, y analiza las vulnerabilidades de cada uno.
16.0.2. ¿Qué aprenderemos en este módulo?
Título del módulo: Fundamentos de los ataques
Objetivo del módulo: Explicar como las vulnerabilidades TCP/IP permiten que se ejecuten ataques a las redes.
Titulo del tema | Objetivo del tema |
---|---|
Detalles de la PDU de IP | Explique la estructura de encabezado IPv4 e IPv6. |
Vulnerabilidades IP | Explique cómo las vulnerabilidades del IP permiten los ataques a las redes. |
Vulnerabilidades de TCP y UDP | Explique cómo las vulnerabilidades del TCP y el UDP permiten los ataques a las redes. |
16.1. Detalles de la PDU de IP
16.1.1. IPv4 e IPv6
IP fue diseñado como un protocolo sin conexión de capa 3. Brinda las funciones necesarias para enviar un paquete de un host de origen a uno de destino mediante un sistema interconectado de redes. El protocolo no fue diseñado para rastrear ni administrar el flujo de paquetes. Si es necesario, TCP realiza principalmente estas funciones en la capa 4.
El protocolo IP no hace ningún esfuerzo para validar si la dirección IP de origen que figura en un paquete realmente proviene de ese origen. Por eso, los atacantes pueden enviar paquetes con una dirección IP de origen falsa o suplantada. Además, los atacantes pueden alterar los demás campos del encabezado de IP para llevar a cabo sus ataques. Por lo tanto, es importante que los analistas de seguridad entiendan los diferentes campos de los encabezados de IPv4 e IPv6.
16.1.2. Encabezado del paquete IPv4
Los campos acerca del encabezado IPv4 se muestran en la siguiente figura.
Encabezado del paquete IPv4
La tabla describe los campos del encabezado IPv4.
Campo del encabezado de IPv4 | Descripción |
---|---|
Versión |
|
Longitud del encabezado de Internet |
|
Servicios diferenciados o DiffServ (DS) |
|
Longitud total |
|
Identificación, Banderas y Desplazamiento de fragmentos. |
|
Tiempo de vida (TTL) |
|
Protocolo |
|
Checksum del encabezado |
|
Dirección IPv4 de origen |
|
Dirección IPv4 de destino |
|
Opciones y Relleno |
|
16.1.3. Video: ejemplos de encabezados IPv4 en Wireshark
Haga clic en Reproducir en la figura para ver una demostración de una revisión de encabezados IPv4 en una captura de Wireshark.
16.1.4. Encabezado del paquete IPv6
Existen ocho campos en el encabezado IPv6, tal como se muestra en la figura.
Encabezado del paquete IPv6
La tabla describe los campos del encabezado IPv6.
Campos del encabezado de IPv6 | Descripción |
---|---|
Versión |
|
Clase de tráfico |
|
Etiqueta de flujo |
|
Longitud de carga útil |
|
Siguiente encabezado |
|
Límite de saltos |
|
Dirección IPv6 de origen |
|
Dirección IPv6 de destino |
|
Un paquete IPv6 también contiene encabezados de extensión (EH) que proporcionan información opcional de la capa de red. Los encabezados de extensión son opcionales y están ubicados entre el encabezado de IPv6 y la payload (carga útil). Los encabezados de extensión (EH) se utilizan para fragmentar, dar seguridad, soportar movilidad, entre otras.
A diferencia de IPv4, los routers no fragmentan los paquetes IPv6 enrutados.
16.1.5. Video: Ejemplos de encabezados IPv6 en Wireshark
Haga clic en Reproducir en la figura para ver una demostración de una revisión de encabezados IPv6 en una captura de Wireshark.
16.2. Vulnerabilidades IP
16.2.1. Vulnerabilidades IP
Existen distintos tipos de ataques de IP. La siguiente tabla menciona algunos de los ataques comunes relacionados con IP:
Ataques de IP | Descripción |
---|---|
Ataques de ICMP | Los atacantes utilizan paquetes de echo (pings) del Protocolo de Mensajes de Control de Internet (ICMP) para detectar subredes y hosts en una red protegida, y luego generar ataques DoS de saturación y modificar las tablas de enrutamiento de los hosts. |
Ataques de Denegación de Servicios (DoS, siglas en inglés) | Los atacantes intentan impedir que usuarios legítimos tengan acceso a información o servicios. |
Ataques de Denegación de Servicios Distribuida (DDoS, siglas en inglés) | Similar a los ataques DoS, pero es llevado a cabo mediante un ataque simultáneo y coordinado desde varias máquinas de origen. |
Ataques de Suplantación de dirección | Los atacantes suplantan la dirección IP de origen en un intento por llevar a cabo blind spoofing o non-blind spoofing |
Ataques Man-in-the-middle (MiTM) | Los atacantes se posicionan entre un origen y un destino para monitorear, capturar y controlar la comunicación en forma transparente. Ellos simplemente pueden monitorear pasivamente (eavesdropping), inspeccionando paquetes capturados o alterarlos y reenviarlos a su destino original. |
Secuestros de sesiones | Los atacantes obtienen acceso a la red física y, luego, usan un ataque de tipo MiTM para secuestrar una sesión. |
16.2.2. Ataques de ICMP
El ICMP fue desarrollado para llevar mensajes de diagnóstico e informar condiciones de error cuando no están disponibles rutas, hosts y puertos. Los mensajes de ICMP son generados por los dispositivos cuando ocurre un error o un corte en en la red. El comando «ping» es un mensaje de ICMP generado por el usuario, es una «solicitud echo», y es utilizado para verificar la conectividad a un destino.
Los atacantes utilizan el ICMP para los ataques de reconocimiento y análisis. Esto les permite iniciar ataques de recopilación de información para mapear una topología de red, detectar qué hosts están activos (reachable), identificar el sistema operativo del host (OS fingerprinting) y determinar el estado de un Firewall.
Los atacantes también utilizan ICMP para realizar ataques DoS y DDoS, como se muestra en el ataque de saturación de ICMP en la imagen.
Saturación ICMP
Nota: ICMP para IPv4 (ICMPv4) e ICMP para IPv6 (ICMPv6) son susceptibles a ataques similares.
La siguiente tabla menciona algunos mensajes de interés ICMP para los atacantes.
Mensaje ICMP | Descripción |
---|---|
«Echo request» y «echo reply» de ICMP | Esto se utiliza para realizar la verificación del host y los ataques DoS. |
«Unreachable» de ICMP | Esto se utiliza para realizar ataques de reconocimiento y análisis de la red. |
«Mask reply» de ICMP | Se utiliza para mapear una red IP interna. |
«Redirects» de ICMP | Se utiliza para lograr que un host objetivo envíe todo el tráfico a través de un dispositivo comprometido y crear un ataque de MiTM. |
«Router discovery» de ICMP | Esto se utiliza para inyectar entradas de rutas falsas en la tabla de routing de un host objetivo. |
Las redes deben tener filtros estrictos de Lista de Control de Acceso (ACL, siglas en inglés) de ICMP en el perímetro de la red para evitar sondeos de ICMP desde Internet. Los analistas de seguridad deben ser capaces de detectar ataques relacionados con ICMP observando el tráfico capturado y los archivos de registro. En el caso de redes grandes, los dispositivos de seguridad (como Firewalls e IDS) deben detectar este tipo de ataques y generar alertas para los analistas de seguridad.
16.2.3. Ataques de Amplificación, Reflexión, y Suplantación (Spoofing)
Haga clic en el botón play de la figura para visualizar el video sobre ataques de amplificación, reflexión y suplantación (spoofing).
16.2.4. Ataques de reflexión y amplificación
Los atacantes suelen usar técnicas de amplificación y reflexión para crear ataques de DoS. La figura muestra como una técnica de amplificación y reflexión llamada «Smurf attack» es utilizada para abrumar o sobrecargar a un objetivo.
- Amplificación: El atacante reenvía mensajes de «echo request» de ICMP a muchos hosts. Estos mensajes contienen la dirección IP de origen de la víctima.
- Reflexión: Todos estos objetivos responden a la dirección IP suplantada de la víctima para saturarla (sobrecargarla).
Nota: Actualmente se han estado utilizando nuevas formas de ataques de amplificación y reflexión, como ataques de amplificación y reflexión basados en DNS y ataques de amplificación de Network Time Protocol (NTP).
Los atacantes también usan ataques de agotamiento de recursos. Estos ataques consumen los recursos de un host objetivo detener su funcionamiento o consumir los recursos de una red.
16.2.5. Ataques de suplantación de dirección
Los ataques de Suplantación de dirección IP se producen cuando un atacante crea paquetes con información suplantada de la dirección IP de origen, ya sea para ocultar la identidad del remitente o hacerse pasar por otro usuario legítimo. Entonces, el atacante puede obtener acceso a datos a los que, de otro modo, no podría acceder, o para eludir configuraciones de seguridad. La Suplantación de dirección IP suele formar parte de otro ataque denominado ataque Smurf.
Los ataques de Spoofing (suplantación) pueden ser «blind» (a ciegas) o «non-blind» (con visibilidad):
- Non-blind spoofing: El atacante puede observar el tráfico que está siendo enviado entre el host y el objetivo. El atacante usa este tipo de suplantación para inspeccionar el paquete de respuesta del objetivo. Esta técnica determina el estado de un Firewall y la predicción del número de secuencia. También puede secuestrar una sesión autorizada.
- Blind spoofing: El atacante no puede ver el tráfico que se envía entre el host y el objetivo. Este tipo de suplantación se utiliza en ataques DoS.
Los ataques de suplantación de dirección MAC se utilizan cuando los atacantes tienen acceso a la red interna. Los atacantes cambian la dirección MAC de su host para que coincida con otra dirección MAC conocida de un host objetivo, como se ve en la Figura 1. Luego, el host atacante envía una trama a través de la red con la dirección MAC recién configurada. Cuando el switch recibe la trama, examina la dirección MAC de origen.
El atacante simula ser la dirección MAC de un servidor
El switch sobrescribe la entrada actual en la tabla CAM y asigna la dirección MAC al puerto nuevo, como se ve en la Figura 2. Luego, reenvía las tramas destinadas al host objetivo, hacia el host atacante.
Un switch actualiza la tabla CAM con una dirección suplantada
La suplantación de aplicaciones o servicios es otro ejemplo de suplantación. Un atacante puede conectar un servidor DHCP malicioso para crear una condición MiTM.
16.3. Vulnerabilidades de TCP y UDP
16.3.1. Encabezado de segmento TCP
Si bien algunos ataques apuntan a IP, este tema trata los ataques que apuntan a TCP y UDP.
La información de segmento de TCP aparece inmediatamente después del encabezado de IP. En la figura se muestran los campos del segmento TCP y los Flags para el campo de bits de control.
Los siguientes son los seis bits de control del segmento TCP:
- URG : Campo indicador urgente significativo
- ACK : Campo de reconocimiento significativo
- PSH : Función de pulsación: Función de pulsación
- RST : Restablecer la conexión
- SYN : Sincronizar números de secuencia
- FIN : No hay más datos del emisor
16.3.2. Servicios TCP
El TCP ofrece los siguientes servicios:
- Entrega confiable -El TCP incorpora acuses de recibo para garantizar la entrega, en lugar de confiar en los protocolos de capa superior para detectar y resolver errores. Si no se recibe un acuse de recibo oportuno, el emisor retransmite los datos. Requerir acuses de recibo de los datos recibidos puede causar retrasos sustanciales. Algunos ejemplos de los protocolos de capa de aplicación que hacen uso de la confiabilidad de TCP incluyen HTTP, SSL/TLS, FTP y transferencias de zona DNS.
- Control de flujo : El TCP implementa el control de flujo para abordar este problema. En lugar de confirmar la recepción de un segmento a la vez, varios segmentos se pueden confirmar con un único acuse de recibo.
- Comunicación con estado : La comunicación TCP con estado entre 2 partes ocurre durante la comunicación de «intercambio de señales de tres vías» de TCP (three-way handshake.) Antes de que sea posible transferir datos utilizando el TCP, una comunicación de «intercambio de señales de tres vías» abre la conexión TCP, tal como se ve en la Figura. Si ambas partes aceptan la conexión TCP, pueden enviar y recibir datos utilizando TCP.
Intercambio de señales de tres vías de TCP
Una conexión TCP se establece en tres pasos:
- El cliente de origen solicita una sesión de comunicación con el servidor.
- El servidor acusa recibo de la sesión de comunicación de cliente a servidor y solicita una sesión de comunicación de servidor a cliente.
- El cliente de origen acusa recibo de la sesión de comunicación de servidor a cliente.
16.3.3. Ataques TCP
Las aplicaciones de red utilizan puertos TCP o UDP. Los atacantes llevan a cabo análisis de puertos de los dispositivos objetivo para detectar qué servicios ofrecen.
Ataque de saturación SYN a TCP
El ataque de saturación de SYN de TCP ataca la comunicación de «intercambio de señales de tres vías» de TCP. Como se observa en la Figura 1, el atacante envía constantemente a un objetivo paquetes de solicitud de sesión TCP SYN con una dirección IP de origen falsificada de manera aleatoria. El dispositivo objetivo responde con un paquete SYN-ACK de TCP a la dirección IP falsificada y espera un paquete ACK de TCP. Las respuestas nunca llegan. Finalmente, el host objetivo se ve sobrecargado por las conexiones TCP medio abiertas, y los servicios TCP se deniegan a los usuarios legítimos.
Ataque de saturación TCP SYN
- El atacante envía múltiples solicitudes SYN a un servidor web.
- El servidor web responde con SYN-ACK para cada solicitud SYN y espera para completar el intercambio de señales de tres vías. El atacante no responde a los SYN-ACK.
- Un usuario válido no puede acceder al servidor web porque el servidor tiene demasiadas conexiones TCP medio abiertas
Ataque de restablecimiento a TCP
Un ataque de restablecimiento de TCP puede utilizarse para terminar las comunicaciones de TCP entre dos hosts. La figura muestra como TCP utiliza un intercambio de cuatro vías para cerrar la conexión TCP con un par de segmentos FIN y ACK desde cada terminal de TCP. Una conexión TCP termina cuando recibe un bit RST. Esta es una manera abrupta de terminar la conexión TCP e informar al host receptor que deje de usar la conexión TCP de inmediato. Un atacante podría efectuar un ataque de restablecimiento de TCP y enviar un paquete falso que contenga un RST de TCP a uno o ambos terminales.
Terminar una conexión TCP
La finalización de una sesión TCP utiliza el siguiente proceso de intercambio de cuatro vías:
- Cuando el cliente no tiene más datos para enviar en la transmisión, envía un segmento con el Flag FIN establecido.
- El servidor envía un ACK para acusar recibo del FIN para terminar la sesión de cliente a servidor.
- El servidor envía un FIN al cliente para terminar la sesión de servidor a cliente.
- El cliente responde con un ACK para dar acuse de recibo del FIN desde el servidor.
Secuestro de sesiones TCP
Otra vulnerabilidad es el secuestro de sesiones de TCP. Aunque es difícil de realizar, permite que un atacante tome el control de un host autenticado mientras este se comunica con el objetivo El atacante tendría que suplantar la dirección IP de un host, predecir el siguiente número de secuencia y enviar un ACK al otro host. Si tiene éxito, el atacante puede enviar, pero no recibir, datos desde el dispositivo objetivo.
16.3.4. Encabezado y Funcionaiento del segmento UDP
UDP es comúnmente utilizado por DNS, DHCP, TFTP, NFS, y SNMP. También lo utilizan aplicaciones en tiempo real, como la transmisión multimedia o VoIP. UDP es un protocolo sin conexión, de capa de transporte Tiene un coste de redmucho menor que TCP ya que no está orientado a la conexión y no proporciona los mecanismos sofisticados de retransmisión, secuenciación y control del flujo que ofrecen confiabilidad. La estructura del segmento UDP (el cual se muestra en la imagen) es mucho menor que la estructura del segmento TCP.
Nota: UDP actualmente divide los datos en datagramas. Sin embargo, el término genérico «segmento» se utiliza comúnmente
Sin embargo aunque UDP es normalmente llamado «poco confiable», no significa que aplicaciones que utilizan UDP no sean confiables. Significa que estas funciones no las proporciona el protocolo de la capa de transporte, y se deben implementar aparte si es necesario.
El bajo coste del UDP es muy deseable para los protocolos que realizan transacciones simples de solicitud y respuesta. Por ejemplo, usar TCP para DHCP introduciría una cantidad innecesaria de tráfico de red. Si no se recibe respuesta, el dispositivo reenvía la solicitud.
16.3.5. Ataques de UDP
UDP no está protegido por ningún tipo de encriptación. Podemos agregar encriptación a UDP, pero no está disponible de forma predeterminada. La falta de encriptación permite que cualquiera vea el tráfico, lo modifique y lo envíe a su destino. Si se cambian los datos en el tráfico, se altera la checksum de 16 bits, pero esta es opcional y no siempre se usa. Cuando se utiliza checksum, el atacante puede crear una nueva suma basada en la nueva payload (carga útil) de los datos, y registrarla en el encabezado como una nueva checksum. El dispositivo de destino verificará que la suma de comprobación coincide con los datos sin saber que los datos se modificaron. Este tipo de ataque no es el más utilizado.
Ataque de saturación de UDP
Es más probable que veamos un ataque de saturación UDP. En un ataque de saturación UDP, se consumen todos los recursos en una red. El atacante debe usar una herramienta como UDP Unicorn o Low Orbit Ion Cannon. Estas herramientas envían una avalancha de paquetes UDP, a menudo desde un dispositivo suplantado, hacia un servidor en la subred. El programa analiza todos los puertos conocidos intentando encontrar puertos cerrados. Esto hace que el servidor responda con un mensaje de puerto ICMP inaccesible. Debido a que hay muchos puertos cerrados en el servidor, esto crea mucho tráfico en el segmento, el cual utiliza la mayor parte del ancho de banda. El resultado es muy similar al de un ataque de DoS.
16.4. Resumen de Ataque a los fundamentos
16.4.1. ¿Qué aprendimos en este módulo?
Detalles de la PDU de IP
IP fue diseñado como un protocolo sin conexión de capa 3. El encabezado IPv4 consta de varios campos, mientras que el encabezado IPv6 contiene menos campos. Es importante que los analistas de seguridad entiendan los diferentes campos de los encabezados de IPv4 e IPv6.
Vulnerabilidades IP
Existen distintos tipos de ataques de IP. Los ataques comunes relacionados con IP incluyen:
- Ataques de ICMP
- Ataques de Denegación de Servicios (DoS, siglas en inglés)
- Ataques de Denegación de Servicios Distribuida (DDoS, siglas en inglés)
- Ataques de suplantación de dirección.
- Ataques Man-in-the-middle (MiTM)
- Secuestros de sesiones
El ICMP se desarrolló para llevar mensajes de diagnóstico e informar condiciones de error cuando no están disponibles rutas, hosts y puertos. Los atacantes utilizan el ICMP para los ataques de reconocimiento y análisis. Los atacantes también utilizan ICMP para ataques DoS y DDoS Los atacantes suelen usar técnicas de amplificación y reflexión para crear ataques DoS. Los atacantes también utilizan ataques de agotamiento de recursos para consumir los recursos de un host objetivo, con el propósito de que deje de funcionar o para consumir los recursos de una red. Los ataques de Suplantación de dirección IP se producen cuando un atacante crea paquetes con información suplantada (o falsa) de la dirección IP de origen para ocultar la identidad del remitente o hacerse pasar por otro usuario legítimo. Los ataques de suplantación de dirección pueden ser una spoofing non-blind (a ciegas) para secuestrar una sesión o una spoofing blind (con visibilidad) para crear un ataque DoS. Los ataques de suplantación (spoofing) de dirección MAC se utilizan cuando los atacantes tienen acceso a la red interna.
Vulnerabilidades de TCP y UDP
La información de segmento TCP y del datagrama UDP, aparece inmediatamente después del encabezado de IP. Es importante comprender los encabezados de Capa 4 y sus funciones en la comunicación de datos. TCP proporciona entrega confiable, control de flujo y comunicación con estado. La comunicación TCP con estado entre 2 partes ocurre durante la comunicación de «intercambio de señales de tres vías» de TCP (three-way handshake). Los atacantes pueden llevar a cabo una variedad de ataques relacionados con TCP:
- Escaneo (análisis) de puertos TCP
- Ataque de saturación TCP SYN
- Ataque de restablecimiento TCP
- Ataque de secuestro de sesión TCP
El segmento UDP (es decir, datagrama) es mucho más pequeño que el segmento TCP, lo que hace que sea muy conveniente para su uso por protocolos que hacen transacciones simples de solicitud y respuesta como DNS, DHCP y SNMP. Los atacantes pueden llevar a cabo ataques de saturación UDP que analizan todos los puertos UDP conocidos en un servidor, intentando encontrar puertos cerrados. Esto puede crear una situación de DoS.