CVE-2004-0230 — adivinando números de secuencia TCP e inyectando los primeros paquetes

CVE-2004-0230 — adivinando números de secuencia TCP e inyectando los primeros paquetes

30192
Created On 09/26/18 13:44 PM - Last Modified 06/01/23 07:13 AM


Resolution


TCP, cuando se utiliza un tamaño de ventana grande, hace que sea más fácil para los atacantes remotos para adivinar los números de secuencia y causar una denegación de servicio (pérdida de conexión) a las conexiones TCP persistentes mediante la inyección repetida de un paquete TCP RST, especialmente en los protocolos que utilizan de larga duración conexiones, como BGP.

 

Fuentes:

http://CVE.Mitre.org/cgi-bin/cvename.cgi?Name=CVE-2004-0230

http://www.RFC-base.org/txt/RFC-5961.txt

 

Para que el ataque tenga éxito, el RST debe estar en la ventana de recepción válida. El atacante intentaría forjar muchos segmentos RST para tratar de cubrir el espacio de posibles ventanas mediante la colocación de un paquete en cada ventana potencial. Para ello, el atacante debe tener o adivinar varias piezas de información:

 

  • 4-tupla (dirección IP y puerto TCP para ambos lados de la conexión).
  • Número de secuencia que se usará en el RST.
  • Tamaño de ventana que utilizan los dos extremos. Este valorno tiene que ser el tamaño exacto de la ventana, ya que un valor más pequeño usado en lugar del correcto sólo hará que el atacante genere más segmentos antes de tener éxito en esta travesura.   Con frecuencia, el atacante, con un grado de certeza razonable (conociendo la aplicación que está bajo ataque), puede llegar a una aproximación muy cercana en cuanto al tamaño real de la ventana en uso en la conexión.
  • La ventana de recepción es el número de bytes que un remitente puede transmitir sin recibir un acuse de recibo.

 

Después de ensamblar la información anterior, el atacante comienza a enviar segmentos TCP falsificados con el conjunto de bit RST y un número de secuencia TCP adivinado.  Cada vez que se envía un nuevo segmento RST, la estimación del número de secuencia se incrementa por el tamaño de la ventana.

 

Cada aplicación tiene el control de una serie de factores que afectan drásticamente la probabilidad de un ataque de suplantación exitoso.  Estos factores incluyen:

 

  • Tamaño de la ventana
  • Número de puerto del servidor
  • Número de puerto del cliente

 

En otras palabras, el número medio de intentos para inyectar un segmento RST es (2 ^ 31/Window) en lugar de 2 ^ 31 (2 ^ 31 = 2147483648/32.768 = 65536). Cuanto más grande sea la ventana, menos conjeturas tendrá.

 

Sustituyendo los números en esta fórmula, vemos que para un tamaño de ventana de 32.768, un promedio de 65.536 paquetes deben ser transmitidos para ' falsificar ' un segmento TCP que es aceptable para un receptor TCP.  Un tamaño de ventana de 65.535 reduce esto aún más a 32.768 paquetes.  En los anchos de acceso de hoy en día, un ataque de ese tamaño es factible.

 

Con aumentos en el ancho de banda para el hogar y la oficina, sólo se puede esperar que los valores de los tamaños de ventana por defecto seguirá aumentando para aprovechar mejor el ancho de banda recién disponible.

 

Una conexión TCP que sólo dura unos pocos paquetes breves, como suele ser el caso del tráfico web, no estaría sujeta a tal ataque ya que la conexión no puede establecerse lo suficiente para que un atacante genere suficiente tráfico. Sin embargo, algunas aplicaciones, como BGP, se consideran potencialmente más afectadas por esta vulnerabilidad. BGP se basa en una sesión TCP persistente entre pares BGP. La reconfiguración de la conexión puede resultar en cierta falta de disponibilidad debido a la necesidad de reconstruir las tablas de enrutamiento y el aleteo de ruta. Para las aplicaciones que pueden utilizar la opción TCP MD5, como BGP, esa opción hace que los ataques descritos en esta especificación sean imposibles de forma efectiva.

 

La mitigación de amenazas RFC 5961 se implementó en pan-os 6.0.0



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000CllyCAC&lang=es&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language