EJEMPLO PRACTICO

Caso de un DoS “Ping of Death”
Se trata de un ataque muy basico pero se logra entender el concepto.

En este caso se utiliza el ping como metodo de ataque, enviandolo repetidas veces

Hacemos ping a la web deseada para saber el IP de la misma y luego con el comando “-t” lo podemos enviar de forma repetida y con el comando “-l” se elije el peso del paquete en cuestion


Ya teniendo la IP de la victima procedemos a escribir el comando que en este caso seria  “ping 173.194.41.223 -t -l 15000”  como se muestra a continuacion

En el caso de que el ping nos de una respuesta con un mensaje “Tiempo de espera agotado” significa que la cantidad de bytes es muy alta, se debe regular hasta saber la capacidad maxima soportada por ping.
Para que el ataque resulte exitoso nuestro ancho de banda debera ser mayor que el de la victima para poder enviar mas paquetes de los que puede responder.

SYN Flood Attack

Este tipo de ataque consiste en el envio de paquetes manipulados a la maquina objetivo, en el protocolo TCP/IP las banderas (flags) tienen diferentes funciones como marcar el inicio y final de una conexion, SYN, SYN-ACK, ACK, en este ultimo esla clave de este ataque o tecnica.

El SYN flood procede activando el SYN en la conexion TCP y alterando la IP objetivo (spoofing), la victima responde con un SYN/ACK considerando que se trata de una conexion legitima y espera po un ACK por parte del cliente.

El objetivo seria que este ultimo ACK nunca llegue logrando que la secuencia no se complete y asi ocasionar que la maquina objetivo se sature de conexiones sin dejar lugar a conexiones legitimas.

Eleji esta tecnica porque es la mas utilizada por el grupo hacktivista “Anonymous” y la aplican mediante sus dos conocidas herramientas llamadas “LOIC” (Low orbit ion cannon) y HOIC (High orbit ion cannon).
Estas pueden ser manejadas por el usuario directamente o utilizando un canal de IRC en un ataque distribuido enviando por ese medio ordenes a los demas puntos de ataque.

A continuacion sigo exponiendo este ataque mediante la herramienta HPING3, una herramienta de pruebas a reglas de firewall, stress testing, manipulacion de paquetes, etc.

En la herramienta se pueden saber todas las opciones utilizando el comando  “hping3 -h”
En este caso se utilizaran los siguientes parametros desde cada una de las maquinas atacantes:

-S         setea el flag SYN
–flood   Envia paquetes lo mas rápido posible. No se muestran respuestas.
–rand-source Simula diferentes orígenes aleatoriamente al enviar los paquetes.
-d    Establece el tamaño del cuerpo del paquete (expresado en bytes). Este valor puede variar.
-p     Indica el puerto de destino

Es necesario contar con privilegios de superusuario para poder utilizar el comando “SUDO”

Teniendo en cuenta que el target es 192.168.1.109, que se utiliza el flag SYN y que se hara de tipo “flooding” con cada request y al puerto HTTP el comando quedaria de la siguiente manera

Código:

sudo hping3 -S 192.168.1.109 –flood –rand-source -d 5000 -p 80

Se podrian utilizar diferentes valores pero con estos parametros es suficiente para lanzar un DDOS contra el puerto HTTP de la victima desde todas las maquinas simultaneamente

Al analizar el trafico en la maquina objetivo se veria algo asi:

El sitio se volvio inaccesible por la cantidad de requests que tiene que procesar el servidor

El ataque puede durar unos pocos minutos asi como el tiempo que uno desee.
En este caso el ataque se dio en un entorno de prueba dejando de lado intermediarios que podrian llegar a ayudar a tener una defensa, routers, proxies, firewalls, hardware/software dedicado a la defensa contra este ataque, etc.


¿Cómo puedo defenderme? 

No es tarea fácil mitigar este tipo de ataques, en cuanto a los  ataques  DOS/DDOS  indirectos, que son en los que se falsea la dirección  de origen,  pueden  solucionarse mediante técnicas de filtrado de entrada y salida.
En cambio los ataques directos siguen siendo inevitables debido a que no se los puede distinguir del trafico normal de la red.

Actualmente la detección de estos ataques esta bastante desarrollada principalmente por los sistemas de detección de intrusos (IDS) para los cuales existen tipos de filtros específicos, lo cual brinda una ayuda destacable pero no suficiente.
Organismos como CISCO recomiendan soluciones sencillas como modificar el tamaño de la pila de TCP o disminuir el tiempo de espera de establecimiento de las conexiones e incluso han desarrollado hardware especifico para la tarea de prevención de este tipo de ataques.

Algunas consideraciones a tener en cuenta por ejemplo seria limitar las conexiones entrantes, por ejemplo si una empresa solo hace negocios en argentina, permitir solo conexiones entrantes desde dicho país, es decir que si alguien intenta conectarse desde china, europa, EEUU, etc. las peticiones de conexión sean rechazadas.

En una empresa hay que tener contemplado el costo de estar offline determinada cantidad de tiempo e incluir este tipo de ataques y el costo que esto indica dentro de la política de recuperación de desastres.
Existen empresas que se dedican a la defensa contra ataques DDOS que llegan a ofrecer lo que se le dice “ingestión de trafico” que se consigue  redirigiendo el trafico por sus servidores, analizándolo y solo dejando pasar lo que parezca legitimo.

Asimismo existen soluciones como scripts que si detectan mas de “x” conexiones de cierta IP la banea automáticamente.
Al aplicar este tipo de medidas hay que tener muy en cuenta los falsos positivos ya que no queremos banear la ip de nuestros usuarios, por lo que debemos conocer y estudiar nuestro trafico habitual.

Podemos decir que nadie esta a salvo de este tipos de ataques por lo tanto lo mejor que se puede hacer es prevenir, analizar el trafico buscando irregularidades y en el peor de los casos estar preparados para responder antes de que sea “demasiado tarde”