comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Ataques DDos a través de XSS Persistente By @alvarodh5

  • 5 Respuestas
  • 3566 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1914
  • Actividad:
    0%
  • Reputación 15
    • Ver Perfil
« en: Marzo 24, 2015, 12:12:55 pm »

A lo largo del año pasado se han conocido diferentes noticias que confirman que muchos ataques DDoS están siendo generados desde páginas con vulnerabilidades de tipo Cross Site Scripting (XSS) Persistentes.

Esto es debido, a que los cibercriminales, inyectan código JavaScript en el interior de la vulnerabilidad XSS persistente que será ejecutado por todos los visitantes a través de su navegador. De esta manera se puede generar una gran cantidad de peticiones por segundo hacia el sitio atacado, incluido en el código JavaScript, y dependiendo del tráfico de visitas de la web que alberga el XSS persistente, generar el efecto de DDoS masivo.



Como se puede apreciar, este tipo de ataque puede ser muy dañino, ya que solo se necesita encontrar un sitio vulnerable a Cross Site Scripting (XSS) persistentes con bastante tráfico y visitantes que mantengan la página abierta, para mantener el código JavaScript ejecutándose en su navegador.

Los atacantes también tienen en cuenta, el tipo de petición que se realizará el código JavaScript insertado en a través del XSS, por ejemplo, una petición como:


Puede ser menos dañina que:




La segunda URL causaría una cantidad más considerable de trabajo a nivel de procesamiento en el servidor de la víctima, debido a que tiene que buscar la palabra "incibe" en la base de datos.

Las noticias publicadas, han señalado que los sitios de vídeo son un objetivo común para este tipo de ataques, ya que las víctimas pasan un largo periodo de tiempo visitando la página mientras se reproducen los videos. Esto los convierte en objetivo preferido de estos ataques, porque cuanto más tiempo esté abierta la página, más tiempo continúa el ataque.

En general, este tipo de ataque es simple y eficaz cuando los atacantes se toman su tiempo y ponen empeño en conseguirlo. También tienen una gran ventaja para el atacante, ya que no requieren ningún tipo de infección en un ordenador de los usuarios, sino tan sólo código JavaScript en sitios vulnerables.

¿Cómo podemos protegernos de este tipo de ataque?


Cómo cualquier ataque DDoS, lo primero que debemos de hacer es identificar el patrón utilizado por el atacante, por lo que podemos ejecutar el siguiente comando para visualizar los logs de acceso en nuestro servidor, en este caso Apache:


Una vez ejecutado, podremos visualizar en tiempo real las visitas de nuestro sitio, pudiendo así identificar la IP atacante.

- IPs y fecha de cada petición -

- Petición que recibe nuestro servidor web -

- User-Agent utilizado por los usuarios -

Como se puede observar, cada IP corresponde a los diferentes usuarios que están accediendo a la web infectada. Y es esta web la que se encarga de que los usuarios, sin ser conscientes de ello, lancen peticiones a nuestro servidor.

Puesto a que no han editado las cabeceras, podemos saber la página que se está utilizando para generar el ataque Ddos.

En este caso, es http://alvarodiaz.ovh/index.php?video=ID

Dado este punto, lo mejor sería avisar al administrador de esa página web, pues seguramente no sea consciente de lo que esté ocurriendo. Mientras los programadores del sitio arreglan la vulnerabilidad, podemos bloquear el acceso de las IPs atacantes para intentar frenar el ataque DDoS que estamos recibiendo.

Mientras tanto, podemos bloquear el acceso al servidor a las IPs atacantes, en este caso, bloquearemos las IPs con fail2ban. Fail2ban es un script programado en Python que monitoriza los logs de Apache en busca de patrones sospechosos, además es capaz de tomar medidas para bloquear a los atacantes ya sea con iptables o lanzando un comando de nuestra elección. Se distribuye bajo licencia GNU.

Fail2ban, nos permite filtrar las la peticiones por múltiples campos como por IPs, referer de la cabecera o por el número de conexión en un tiempo dado. En, nuestro ejemplo podríamos filtrar por el referer "http://alvarodiaz.ovh/index.php?video=ID" .

En caso de no disponer de este dato deberíamos tener en cuenta todas las peticiones, filtrando por las cadena "GET / HTTP/1.1", condición que es muy común y con la que podríamos banear visitas legitimas.

- Instalación de fail2ban -

Veamos como configurar Fail2ban. El directorio de configuración de Fail2ban se encuentra en: /etc/fail2ban/ en donde existen dos directorios más: action.d y filter.d
  • action.d: Encontraremos las acciones que Fail2ban realizará cuando alguno de nuestros filtros encuentre alguna IP haciendo maldades.
  • filter.d: Se almacenarán los filtros que utilizaremos para identificar a los atacantes.

Para evitar el ataque editaremos el archivo /etc/fail2ban/jail.conf para añadirle las siguientes líneas:

- Líneas de configuración que debemos añadir -

  • Maxretry: Especifica cuantos intentos vamos a dejar antes de banear la ip.
  • findtime: Es el período de tiempo en segundos que estamos contando los "reintentos" (300 segundos = 5 minutos).
  • bantime: Es el tiempo que debemos esperar para liberar las peticiones, ósea el tiempo que la IP estará baneada, en este caso se trata de 5 minutos.
  • logpath: La ruta de nuestro log de Apache.

Es importante configurar correctamente este archivo, ya que, si lo hacemos mal, fail2ban baneará visitas legitimas.

Ahora creamos el archivo de filtrado en /etc/fail2ban/filters.d/http-get-dos.conf y dentro de este, colocamos las siguientes líneas:

- Líneas de configuración que debemos añadir -

Por último, debemos reiniciar Fail2ban para que coja la nueva configuración.

- Comando para reiniciar fail2ban -

Una vez reiniciado, solo debemos esperar a que fail2ban banee automáticamente a las IPs atacantes, podremos ver los baneos que realiza desde su fichero de logs /var/log/fail2ban.log

- Baneo de la IP 1.20.10.1 -

Cuando esta IP intente acceder a nuestro servidor, fail2ban se lo impedirá.


¿Por qué baneamos las IPs con fail2ban y no desde Apache o htaccess?


Esto es debido, a que si bloqueamos las IPs desde el nivel de aplicación es ineficaz, ya que, el servidor, en este caso Apache, recibe la petición igualmente. Si utilizamos algún firewall como iptables, bloqueamos las conexiones a nivel de red y de este modo Apache nunca procesa la petición.

Por ultimo comentar que aunque Fail2ban limita el impacto de un ataque de este tipo no es una solución definitiva, ya que el servidor sigue recibiendo las peticiones. En caso de que un ataque genere un gran volumen podría provocar igualmente una denegación de servicio en nuestro servidor.

Fuente: https://www.incibe.es/blogs/post/Seguridad/BlogSeguridad/Articulo_y_comentarios/DDoS_VSS_persistente
Autor: @alvarodh5 (Blackdrake)

« Última modificación: Diciembre 10, 2015, 11:25:00 pm por EPSILON »



Desconectado D3ivid

  • *
  • Underc0der
  • Mensajes: 288
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email
  • Twitter: @deividventas
« Respuesta #1 en: Marzo 24, 2015, 12:23:02 pm »
Genial aporte blackdrake :) y muy bien explicado, me he enterado hasta yo xD

Conectado Gabriela

  • *
  • Co Admin
  • Mensajes: 878
  • Actividad:
    5%
  • Reputación 15
    • Ver Perfil
    • Email
« Respuesta #2 en: Marzo 24, 2015, 12:30:05 pm »
Excelente aporte y trabajo, Blackdrake.

La información actual es indispensable, más cuando se construye una un paper descriptivo, didáctico, y que permit, amplificar conocimientos.

Las distintas perspectivas de abordaje, habilitan hacerse una idea global del tema que seleccionaste.

Gracias, por compartir y dejar que podamos disfrutarlo.

Gabi.
« Última modificación: Marzo 24, 2015, 12:33:10 pm por Gabriela »

Desconectado RandomSoft

  • *
  • Underc0der
  • Mensajes: 127
  • Actividad:
    0%
  • Reputación 0
  • using Underc0de;
    • Ver Perfil
    • Marketing Online | Diseño Web | Hosting Profesional - GlobalPer
    • Email
  • Skype: randomsofthack
« Respuesta #3 en: Marzo 24, 2015, 12:40:22 pm »
Buen aporte mi brother, me paso lo mismo hace un año, cuando realizaba pruebas de vulnerabilidades en mi web junto a un gran amigo  :D me suspendieron el hosting, debido a que consumia muchos recursos en el servidor principal, el cual afectaba a los demas usuarios, pero tuve que hablar con el proveedor y decirles que solo realizaba modificaciones en el codigo fuente de la web, más no mencione las pruebas de vulnerabilidades que estaba realizando, para asi evitar ser el responsable del problema  8)  :D
El Lenguaje es la Ciudad para cuya Edificación cada Ser Humano ha Aportado una Piedra

Desconectado svsmart

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Marzo 24, 2015, 08:16:51 pm »
Buen aporte

Desconectado NikoMdq

  • *
  • Underc0der
  • Mensajes: 7
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #5 en: Noviembre 27, 2015, 11:36:26 am »
Muy bueno el aporte blackdrak! Gracias por la info

 

¿Te gustó el post? COMPARTILO!



Script para automatizar 2 grados de ataques efectivos en sqlmap

Iniciado por VulN3T

Respuestas: 0
Vistas: 1284
Último mensaje Diciembre 16, 2017, 01:33:12 am
por VulN3T
XSStrike v1.2 – realiza ataques XSS de manera automatizada

Iniciado por ANTRAX

Respuestas: 1
Vistas: 2577
Último mensaje Enero 23, 2018, 11:16:33 am
por NSA17
Proteger nuestro server web de ataques con .htaccess

Iniciado por july

Respuestas: 10
Vistas: 5263
Último mensaje Julio 21, 2013, 09:46:43 pm
por CodePunisher
Diferencias entre DoS y DDoS

Iniciado por ANTRAX

Respuestas: 13
Vistas: 7055
Último mensaje Julio 09, 2015, 03:09:01 pm
por Decode
JavaPipe Ddos Protection & WAF

Iniciado por ZanGetsu

Respuestas: 1
Vistas: 1521
Último mensaje Septiembre 29, 2017, 07:50:18 pm
por KiddArabic