Archivo de la etiqueta: ataques

LOIC

Low Orbit Ion Cannon (LOIC) es una herramienta utilizada para realizar ataques de denegación de servicio (DoS y DDoS). Originalmente fue desarrollado como una aplicación de prueba de estrés de red , pero desde entonces se ha convertido en código abierto y ahora se usa principalmente con intenciones maliciosas. 

Es conocida por ser una herramienta muy fácil de usar y con una interfaz gráfica muy simple. Además ganó notoriedad por su uso por parte de miembros de grupos hacktivistas.

Funcionamiento de LOIC

LOIC fue desarrollado como una forma de comprobar la capacidad de los servidores web por lo que inunda al servidor de destino con paquetes TCP, UDP o HTTP con el objetivo de saturarlo e interrumpir el servicio.

Interfaz LOIC
Interfaz del programa LOIC. Fuente: SourceForge


En general, un atacante que usa la LOIC no puede generar suficiente tráfico basura para causar un impacto serio en un objetivo, por lo que se se suele utilizar como una herramienta para ataques coordinados buscando denegaciones de servicio distribuidas. Cabe indicar que para facilitar esta coordinación el programa permite ser controlado de forma centralizada desde canales IRC.

Protección frente a LOIC

Los ataques individuales usando LOIC son fáciles de detectar y bloquear por cualquier sistema IPS automatizado, aunque en caso de no tenerlo un administrador debería ser capaz de identificar las direcciones IP atacantes y bloquearlas manualmente.

Los problemas aparecen en cuanto el ataque se realiza de forma coordinada y simultánea desde múltiples fuentes. En estos casos de DDoS, los sistemas WAF ayudan a bloquear las peticiones HTTP maliciosas, mientras que el tráfico UDP y TCP debe ser gestionado por sistemas de protección anti-DDoS específicos.

Cabe indicar que los ataques que utilizan LOIC son relativamente fáciles de detectar y, como no puede funcionar a través de proxy web, dejan rastro de las direcciones IP origen de los atacantes.

Podcast – 42 – R U Dead Yet?

R U Dead Yet?o simplemente R.U.D.Y. es una herramienta que busca la denegación de un servicio web a la página web a reservar recursos para una conexión absurdamente lenta. Mientras la mayoría de ataques de denegación de servicio se basan en el envío de una gran cantidad de conexiones rápidas para conseguir la saturación, RUDY utiliza un enfoque opuesto: ‘relativamente’ pocas conexiones de gran duración que lleguen a agotar los recursos del servidor al no permitirle liberarlos por mucho tiempo.

Esta herramienta tiene un funcionamiento muy sencillo que permite que cualquiera la utilice sin requerir conocimiento alguno: simplemente hay que indicarle la dirección de la web que queremos atacar y darle al botón y lanzamos el ataque. Debido a su funcionamiento cualquier web que tenga un formulario es susceptible de ser atacada mediante esta técnica.

Funcionamiento

Fuente imagen: Riverbed

Veamos cómo funciona esta herramienta:

  1. El programa R.U.D.Y. revisa la web indicada en busca de un formulario. Sirve cualquier formulario: uno sencillo de contacto es suficiente.
  2. Ahora la herramienta establece una primera conexión con un mensaje HTTP POST, pero indicándole al servidor destino que el tamaño del mensaje es muy grande (10,100MB, 20GB.). Esto hará que el servidor reserve espacio de memoria suficiente para recibir esta información tan voluminosa.
  3. Una vez establecida la primera conexión, ahora la herramienta empieza a enviar datos a una velocidad exageradamente lenta. Piensa que puede enviar un único byte por paquete a intervalos de aproximadamente 10 segundos.
  4. La herramienta seguirá enviando información lentamente y el servidor, al ir recibiendo actualizaciones, no cerrará la sesión pues creerá que se trata simplemente de un usuario con una mala conexión.

Si combinas múltiples sesiones de R.U.D.Y. es posible agotar los recursos del servidor atacado al llegar a saturar el espacio de memoria disponible o bien, más probablemente, el número de sesiones simultáneas que el servidor puede manejar. Así pues, si se combina un ataque R.U.D.Y desde varios orígenes, se puede obtener una denegación de servicio distribuida (o DDoS).

Protecciones

Al contrario que otros tipos de ataques de denegación de servicio, un ataque tipo R.U.D.Y es mucho más silencioso y sutil, por lo que es más difícil de detectar.

En las primeras versiones de la herramienta los paquetes se enviaban de forma continua cada 10 segundos, por lo que los sistemas IDS podían detectarlos con relativa facilidad, pero ahora mismo este envío de información se realiza de forma semialeatoria: a estos 10 segundos fijos se le añaden o restan un número aleatorio de segundos para evitar ser detectado por esta regla estática.

La forma más habitual para evitar este tipo de ataques es simplemente cerrar este tipo de conexiones tan lentas. Aunque esto hará que usuarios legítimos con conexiones muy lentas se verán impedidos de acceder a nuestro servicio web.

Otra defensa es el uso de proxys inversos que controlen y gestionen del tráfico de datos de tal forma que sean estos los que realicen las reservas de recursos para gestionar las conexiones lentas y no los propios servidores web.

Descarga directa.

Ataques Man-in-the-middle

Se denominan ataques Man-in-the-middle (cuya traducción al español podría ser «Ataques de intermediario»), que suelen acortarse usando las siglas como MiM o mitm, a una categoría de ataques que lo que buscan es que el atacante tenga la capacidad de leer, modificar los mensajes entre los dos interlocutores e incluso insertar sus propios mensajes en la comunicación. El gran peligro de este tipo de situaciones es que los dos interlocutores originales no saben que hay un elemento intermedio en su comunicación y que puede alterar la información a voluntad.

Ejemplo de MiM

Fuente imagen: Wikimedia Commons

El hecho de simplemente cifrar las comunicaciones entre los dos interlocutores no tiene porqué solventar esta situación. En la Wikipedia tenéis un ejemplo muy claro de cómo una un elemento intermedio (Mallory) puede interceptar la comunicación entre Allice y Bob aunque ambos creen estar en un entorno seguro y cifrado.

Aunque este comportamiento puede parecer teórico, en realidad no es difícil de detectar en el mundo real. Uno de las principales consejos de seguridad informática es que nunca conectemos nuestros equipos (portátiles, teléfonos móviles, etc.) a redes desconocidas ya estén abiertas o no. No es técnicamente difícil para un usuario malintencionado montar una red «Free-Wifi» en un espacio público permitiendo que los usuarios se conecten a ella. Una vez los usuarios se han conectado a dicha web basta con hacer que todo el tráfico saliente a Internet pase por nuestro equipo y convertirnos en Mallory. En este momento el atacante tiene acceso completo a la información que circula por la red, salvo que ésta vaya cifrada.

Defensas ante ataques Man-in-the-Middle

Pirata montando MiM

Un pirata montado un ataque MiM 🙂 Fuente imagen:Simmone Tocco

En la actualidad existen protocolos de comunicaciones que permiten un intercambios de claves de cifrado seguras aún usando un medio inseguro y sin tener un conocimiento previo entre los interlocutores: probablemente el protocolo de claves más utilizado sea Diffie-Hellman. Si las comunicaciones utilizan cifrado de clave pública sería suficiente con confirmar la autenticidad y propiedad de las claves intercambiadas con los sistemas de Certificate pinning.

Algunos estudios muestran la posibilidad de detectar la existencia de un sistema intermedio calculando la latencia en las comunicaciones cifradas. Se basan en que el trabajo de cifrado y descifrado de Mallory hace que las comunicaciones tenga una latencia mayor pero que dicha latencia sea casi constante (generada por el trabajo de descifrado, análisis y recifrado del punto intermedio). EL problema de este enfoque es que presupone un alto grado de estabilidad en la red que haga que la latencia no sufra fluctuaciones por el comportamiento normal de la red, por loq ue no sería aplicable en una red tipo Internet pero sí en entornos cerrados (redes corporativas, etc.).