Vulnerabilidades de TCP y UDP
Resumen
Se explicar cómo los actores de amenazas explotan las vulnerabilidades de TCP y UDP. ¡¡Empieza a aprender CCNA 200-301 gratis!!
Tabla de Contenido
1. Encabezado de Segmento TCP
While some attacks target IP, this topic discusses attacks that target TCP and UDP.
La información del segmento TCP aparece inmediatamente después del encabezado IP. En la figura se muestran los campos del segmento TCP y los indicadores del campo Bits de control.
Los siguientes son los seis bits de control del segmento TCP:
- URG – Campo indicador de urgencia significativo
- ACK – Campo de reconocimiento significativo
- PSH – Función de empuje
- RST- Reiniciar la conexión
- SYN – Sincronizar los números de secuencia
- FIN – No hay más datos del remitente
2. Servicios TCP
El TCP ofrece los siguientes servicios:
- Entrega confiable – TCP incorpora acuses de recibo para garantizar la entrega, en lugar de confiar en protocolos de capa superior para detectar y resolver errores. Si no se recibe un acuse de recibo oportuno, el remitente retransmite los datos. Requerir acuses de recibo de los datos recibidos puede causar retrasos considerables. Algunos ejemplos de protocolos de capa de aplicación que utilizan la fiabilidad del TCP son HTTP, SSL/TLS, FTP, transferencias de zona DNS y otros.
- Control de flujo – El TCP implementa el control de flujo para abordar este problema. En lugar de reconocer un segmento a la vez, se pueden reconocer múltiples segmentos con un solo segmento de reconocimiento.
- Comunicación con estado -La comunicación de estado del TCP entre dos partes se produce durante el apretón de manos de tres vías del TCP. Antes de que se puedan transferir los datos mediante el TCP, un apretón de manos de tres vías abre la conexión TCP, como se muestra en la figura. Si ambas partes están de acuerdo con la conexión TCP, los datos pueden ser enviados y recibidos por ambas partes utilizando el TCP.
Protocolo TCP de enlace de tres vías (TCP Three-Way Handshake)
Una conexión TCP se establece en tres pasos:
- El cliente iniciador solicita una sesión de comunicación cliente-servidor con el servidor.
- El servidor reconoce la sesión de comunicación cliente-servidor y solicita una sesión de comunicación servidor-cliente.
- El cliente iniciador reconoce la sesión de comunicación de servidor a cliente.
3. Ataques de TCP
Las aplicaciones de red utilizan puertos TCP o UDP. Los actores de amenaza llevan a cabo análisis de puertos de los dispositivos objetivo para detectar qué servicios ofrecen.
Ataque de Inundación SYN TCP
El ataque Inundación TCP SYN explota el apretón de manos de tres vías del TCP. La figura muestra a un actor de la amenaza enviando continuamente paquetes de solicitud de sesión TCP SYN con una dirección IP de origen falsificada al azar a un objetivo. El dispositivo objetivo responde con un paquete TCP SYN-ACK a la dirección IP simulada y espera un paquete TCP ACK. Esas respuestas nunca llegan. Eventualmente el host objetivo se ve abrumado con conexiones TCP semiabiertas, y los servicios TCP son negados a los usuarios legítimos.
- El actor de amenaza envía múltiples solicitudes SYN a un servidor web.
- El servidor web responde con SYN-ACKs para cada solicitud SYN y espera para completar el apretón de manos de tres vías. El actor de amenaza no responde a los SYN-ACKs.
- Un usuario válido no puede acceder al servidor web porque éste tiene demasiadas conexiones TCP medio abiertas.
Ataque de Restablecimiento TCP
Un ataque de restablecimiento de TCP puede ser usado para terminar las comunicaciones TCP entre dos hosts. TCP puede terminar una conexión de forma civilizada (es decir, normal) y no civilizada (es decir, abrupta).
La figura muestra la manera civilizada en que TCP utiliza un intercambio de cuatro direcciones que consiste en un par de segmentos FIN y ACK de cada punto final de TCP para cerrar la conexión TCP.
La manera incivilizada es cuando un host recibe un segmento TCP con el conjunto de bits RST. Esta es una forma abrupta de romper la conexión TCP e informar al host receptor de que deje de usar la conexión TCP inmediatamente.
Un actor de amenaza podría hacer un ataque de reinicio de TCP y enviar un paquete falso que contenga un TCP RST a uno o ambos puntos finales.
Terminar una Conexión TCP
La terminación de una sesión del 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 la indicación FIN establecida.
- 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 acusar recibo del FIN del servidor.
Secuestro (Hijacking) de sesión TCP
Otra vulnerabilidad es el secuestro de sesiones de TCP. Aunque es difícil de realizar, permite que un actor de amenaza tome el control de un host ya autenticado mientras se comunica con el destino. El actor de amenaza 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 actor de amenaza puede enviar datos desde el dispositivo de destino, aunque no puede recibirlos.
4. Encabezado y Operación del Segmento UDP
DNS, TFTP, NFS y SNMP utilizan comúnmente UDP. También lo utilizan aplicaciones en tiempo real, como la transmisión multimedia o VoIP. UDP es un protocolo de capa de transporte sin conexión. Tiene una sobrecarga mucho 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 de segmento de UDP es mucho menor que la estructura de segmento de TCP, como se ve en la figura.
Aunque normalmente se dice que el UPD es poco fiable, en contraste con la fiabilidad del TCP, esto no significa que las aplicaciones que utilizan el UDP sean siempre poco fiables, ni tampoco que el UDP sea un protocolo inferior. Significa que estas funciones no las proporciona el protocolo de la capa de transporte y que deben implementarse en otro lugar si es necesario.
La baja sobrecarga de UDP hace que sea muy conveniente para los protocolos que realizan transacciones sencillas de solicitud y respuesta. Por ejemplo, el uso de TCP para DHCP introduciría un tráfico de red innecesario. Si no se recibe respuesta, el dispositivo reenvía la solicitud.
5. Ataques UDP
El UDP no está protegido por ninguna encriptación. Puedes añadir encriptación a UDP, pero no está disponible por defecto. La falta de encriptación significa que cualquiera puede ver el tráfico, cambiarlo y enviarlo a su destino. Cambiar los datos del tráfico alterará la suma de comprobación de 16 bits, pero la suma de comprobación es opcional y no siempre se utiliza. Cuando se utiliza la suma de comprobación, el actor de la amenaza puede crear una nueva suma de comprobación basada en la nueva carga de datos, y luego registrarla en el encabezamiento como una nueva suma de comprobación. El dispositivo de destino encontrará que la suma de comprobación coincide con los datos sin saber que los datos han sido alterados. Este tipo de ataque no es muy utilizado.
Ataques de Inundaciones UDP
Es más probable que veas un ataque de inundación UDP. En un ataque de inundación UDP, se consumen todos los recursos de una red. El actor de la amenaza debe usar una herramienta como el UDP Unicorn o Low Orbit Ion Cannon. Estas herramientas envían una inundación de paquetes UDP, a menudo desde un host falso, a un servidor en la subred. El programa barre todos los puertos conocidos tratando de encontrar puertos cerrados. Esto hará que el servidor responda con un mensaje de puerto ICMP inalcanzable. Debido a que hay muchos puertos cerrados en el servidor, esto crea mucho tráfico en el segmento, que utiliza la mayor parte del ancho de banda. El resultado es muy similar a un ataque DoS.
¡Listo! Sigue visitando nuestro blog de curso de redes, dale Me Gusta a nuestra fanpage; y encontrarás más herramientas y conceptos que te convertirán en todo un profesional de redes.