Aprende a simular un ataque HTTP lento a tu propio servidor para verificar si estás protegido contra ataques HTTP lentos como Slowloris.


La mayoría de los administradores web que no se preocupan adecuadamente por la seguridad de los servidores, a menudo son blanco de ataques que muchos hackers de sombrero negro saben realizar en masa. Uno de esos ataques complicados son los ataques HTTP lentos que se dirigen a cualquier tipo de servidor web. Expliquemos rápidamente de forma gráfica cómo se ve el ataque:

Slowloris Example

Es bastante simple, ¿verdad? Sin embargo, para un servidor mal configurado, esto puede ser fatal, el hardware no se llevará al límite, sin embargo, se cuelga básicamente para la educación ... (mal ejemplo, lo sé). ¿No lo entendiste? Imagínate enviar a 100 abuelas a una tienda, y todas ellas tratando de contar una historia de su infancia al cajero para que ningún otro cliente pueda comprar nada. Por educación, el cajero no echará a las abuelas de la tienda hasta que terminen de contar la historia.

Entonces, ¿cómo puede realizar tal ataque fácilmente a un servidor y no morir en el intento? SlowHTTPTest es una herramienta altamente configurable que simula algunos ataques de denegación de servicio de la capa de aplicación al prolongar las conexiones HTTP de diferentes maneras. Úselo para probar su servidor web en busca de vulnerabilidades DoS, o simplemente para averiguar cuántas conexiones simultáneas puede manejar. SlowHTTPTest funciona en la mayoría de las plataformas Linux, OS X y Cygwin, un entorno similar a Unix y una interfaz de línea de comandos para Microsoft Windows, y viene con un Dockerfile para facilitar aún más las cosas.

Actualmente, los ataques admitidos por la biblioteca slowhttptest son:

  • Loris lento
  • POST HTTP lento
  • Encabezado de rango de Apache
  • Lectura lenta

En este artículo, le enseñaremos cómo instalar slowhttptest en su sistema Kali Linux y cómo usarlo para realizar este ataque en sus servidores.

1. Instalar slowhttptest

La biblioteca Slowhttptest está disponible en los repositorios, por lo que puede instalarla fácilmente desde la línea de comandos con el siguiente comando:

# actualizar repos
sudo apt-get update

# Instalar herramienta
sudo apt-get install slowhttptest

Para obtener más información sobre esta herramienta, visita el repositorio oficial en Github aquí.

2. Prueba de ejecución

Los ataques Slowloris y Slow HTTP POST DoS se basan en el hecho de que el protocolo HTTP, por diseño, requiere que el servidor reciba las solicitudes por completo antes de procesarlas. Si una solicitud HTTP no está completa o si la tasa de transferencia es muy baja, el servidor mantiene ocupados sus recursos esperando el resto de los datos. Si el servidor mantiene ocupados demasiados recursos, esto crea una denegación de servicio. Esta herramienta envía solicitudes HTTP parciales, tratando de obtener una denegación de servicio del servidor HTTP de destino.

El ataque DoS de lectura lenta  tiene como objetivo los mismos recursos que slowloris y POST lento, pero en lugar de prolongar la solicitud, envía una solicitud HTTP legítima y lee la respuesta lentamente. El comando para ejecutar el ataque para comprobar si el servidor es el siguiente:

Tenga en cuenta que esto hará que el servidor se cuelgue si no hay protección contra este ataque implementada en el servidor de destino.

slowhttptest -c 500 -H -g -o ./output_file -i 10 -r 200 -t GET -u http://yourwebsite-or-server-ip.com -x 24 -p 2

El comando se describe a continuación:

  • -c: Especifica el número objetivo de conexiones que se establecerán durante la prueba (en este ejemplo, 500, normalmente con 200 deberían ser suficientes para colgar un servidor que no tiene protección contra este ataque).
  • -H: Inicia slowhttptest en modo SlowLoris, enviando solicitudes HTTP sin terminar.
  • -g: Obliga a slowhttptest a generar archivos CSV y HTML cuando finaliza la prueba con la marca de tiempo en el nombre del archivo.
  • -o: Especifica el nombre del archivo personalizado, efectivo con -g.
  • -i: Especifica el intervalo entre los datos de seguimiento para las pruebas Slowrois y Slow POST (en segundos).
  • -r: Especifica la velocidad de conexión (por segundo).
  • -t: Especifica el verbo que se utilizará en la solicitud HTTP (POST, GET, etc.).
  • -u: Especifica la URL o IP del servidor que desea atacar.
  • -x: Inicia slowhttptest en modo de lectura lenta, leyendo las respuestas HTTP lentamente.
  • -p: Especifica el intervalo para esperar la respuesta HTTP en la conexión de prueba, antes de marcar el servidor como DoSed (en segundos).

Ahora, si ejecutamos el comando con el servidor de destino, obtenemos una salida similar en la terminal:

Kali Linux Terminal Output Slowloris Fail

Como puede ver, nuestro objetivo es nuestro propio sitio web, sin embargo, incluso con 500 conexiones, nuestro servidor no se bloquea en absoluto porque tenemos protección contra este tipo de ataques. El servicio disponible será siempre SÍ si se puede alcanzar el objetivo. Puede probar con otra computadora / red si el sitio web todavía está activo. La salida generada en HTML creada por nuestras opciones, será la siguiente:

Slowloris Status Output SlowHTTPTest

Pero, ¿qué pasa si desactivamos la protección contra ataques HTTP lentos en nuestro servidor? Bueno, la salida debería ser diferente y el sitio web en el servidor de destino no será accesible:

Slowloris Success Attack

No confíe siempre en el mensaje de servicio disponible, solo intente acceder al sitio web real desde un navegador y verá si funciona o no. La salida generada esta vez es diferente debido al sitio web inalcanzable:

Slowloris Success Attack Graphic

Ten en cuenta que la prueba de HTTP lento debe ejecutarse en uno de sus propios servidores, no ejecute este tipo de prueba en ningún servidor de terceros sin su consentimiento porque esto podría causarle muchos problemas (esto es algo ilegal). Esta herramienta está diseñada para probar sus propios servidores e implementar protección contra ella. Escribimos un artículo bastante bueno sobre cómo proteger tu servidor Apache contra este ataque aquí usando QoS.

Además, no intente sejecutar este ataque en nuestro sitio web (ourcodeworld.com) ya que, obviamente, tenemos protección contra este ataque y tu IP puede ser baneada si rastreamos una intención tuya. , ¡gracias!.

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores