Hace un tiempo atrás compartimos con ustedes de qué manera se debe proceder si su sitio web se encuentra infectado. Hoy queremos mostrarles algunas de las las técnicas utilizadas por los atacantes para propagar malware a través de vulnerabilidades en un sitio web, es decir, que en lugar de alojar el código malicioso en el servidor afectado, directamente utilizan a este como medio para infectar y atacar al usuario. En esta ocasión, hablaremos sobre los ataques de XSS (Cross-Site Scripting), que son ampliamente utilizados por los atacantes.
Un ataque de XSS se basa en lograr la inyección de código dentro de un sitio web, con la finalidad de realizar el robo de información, propagar amenazas, obtener las cookies de acceso o hasta realizar un ataque de phishing. El desarrollo de estas amenazas se encuentra normalmente en lenguajes como JavaScript, HTML, VBScript, ActiveX o Flash.
Como se mencionó anteriormente, este tipo de vulnerabilidades permiten atacar al cliente y no al servidor. En otras palabras, un ataque XSS busca cambiar la entrada de una aplicación o sitio web con el fin de obtener una salida no habitual al funcionamiento del sistema.
A grandes rasgos se identifican dos categorías, los ataques XSS No persistentes y los ataques XSS persistentes. Veremos cada uno de ellos con un poco más de detalle.
XSS No persistente
Este tipo de ataques no se ejecuta con la aplicación web, sino que es una de inyección de código que se inicia en el momento que el usuario accede a una página web desde el navegador. En otras palabras se crea un enlace que contiene el código malicioso y se lo envía a las víctimas utilizando técnicas de Ingeniería Social para disfrazar la amenaza.
Los usos más comunes de este tipo de ataques involucran el robo de cookies, modificación del sitio web como así también ataques de phishing. Por ejemplo se le hace creer a la víctima que está accediendo a su sitio de home banking cuando en realidad se trata de una página falsa. Actualmente la mayoría de los navegadores contienen filtros contra este tipo de ataques.
XSS Persistente
A diferencia de los ataques no persistentes, en esta modalidad se busca inyectar código en el sitio web, esto lo hace más peligroso debido a que no afecta a un solo usuario sino a todas las personas que visiten el sitio web.
Estos tipos de ataques se encuentran principalmente en sitios que permiten alguna clase de entrada de datos como por ejemplo blogs y formularios.
La manera de actuar de esta amenaza se inicia cuando el atacante almacena el código maliciosos en el sitio web, cuando el usuario accede a la página el script es ejecutado por el navegador.
¿En dónde se pueden encontrar este tipo de ataques? La respuesta es en muchos lugares, incluidas las redes sociales. Twitter ha sido utilizado para propagar códigos maliciosos mediante la explotación de una vulnerabilidad de XSS.
Los ataques de XSS persistentes permiten tomar el control del navegador, capturar información de las aplicaciones y hasta incluso la ejecución de exploits basados en el navegador.
Finalmente, vimos en grandes rasgos cómo es que se realizan este tipo de ataques, la manera en la que se propagan y sus principales categorías. Para proteger los equipos y servidores de este tipo de amenazas es necesario contar con una solución antivirus con capacidad de detección proactiva en conjunto con las buenas prácticas para navegar en Internet.
Pablo Ramos
Especialista de Awareness & Research