SecNot

ene 29, 2014

Ataques TCP comunes

Aviso: Este artículo asume conocimiento del protocolo TCP

Este es un listado de los ataques TCP más comunes que te puedes encontrar en un servidor en internet.

SYN Flood

Cuando un cliente inicia una conexión TCP con el servidor, lo hace en un intercambio de 3 paquetes llamado 3-way handshake:

  • 1 El cliente inicia la petición de conexión enviando un paquete SYN al servidor
  • 2 El servidor responde enviando un paquete SYN-ACK
  • 3 El cliente responde con un paquete ACK para estableces la conexión

El ataque consiste en iniciar la petición de conexión enviando un paquete SYN tras otro, al llegar al servidor cada petición abre una nueva entrada en la tabla de conexiones, y envía un paquete SYN/ACK que el atacante ignora. El servidor espera un tiempo antes de descartar un conexión que no fue exitosa, y con la llegada de cada vez más peticiones, la tabla de conexiones se va llenando hasta que no quedan recursos para gestionar el trafico legitimo.

Las ventajas desde el punto de vista del atacante, es que el ancho de banda necesario para este ataque es relativamente bajo, especialmente si se usa ip-spoofing para falsificar la dirección IP de origen de los paquetes SYN, de manera que la respuesta SYN/ACK se envían a un tercero.

SYN Flood (Wikipedia)

SYN Scan

Un escaneo no es un ataque per se, pero suele ser un precursor a un ataque en el que se escanean los puertos, para buscar servicios disponibles.

En un escaneo SYN en lugar de conectar al puerto para determinar si está abierto, un atacante envía un paquete SYN y espera a la respuesta, si es SYN/ACK indica que el puerto esta abierto, si no hay respuesta o es un paquete RST el puerto está cerrado. Si la respuesta es un paquete SYN/ACK, el atacante no envía el paquete ACK de respuesta, no finalizando la conexión lo que hace que sea más difícil de detectar.

XMAS/FIN/NULL Scan

Un escaneo XMAS envía un paquete tcp con los flags FIN, URG, y PSH activados. Si el puerto esta abierto no hay respuesta, pero si el puerto está cerrado el destinatario responde con un paquete RST/ACK. Este método sólo funciona en sistemas que siguen las especificaciones RFC793.

Un escaneo FIN es similar a un scan XMAS pero envía un paquete con el flag FIN activo, recibe las mismas respuestas que XMAS

NULL es similar a los otros dos pero envía un paquete con ningún flag activo.

Enlaces