La utilización de Internet como plataforma de ataque es una de las técnicas más observadas para la propagación de códigos maliciosos y ataques informáticos actualmente. La aparición de nuevas metodologías para llevar a cabo este tipo de ataques es parte de la constante evolución de las amenazas informáticas. Tal es el caso de las amenazas multi-stage.
Conceptos previos
Para comprender el concepto de multi-stage, es necesario conocer, previamente, algunas definiciones.
Un script es una porción de código en el sitio web, que permite ejecutar instrucciones mientras se carga la página.
Un exploit es una porción de código que permite aprovechar una vulnerabilidad en una aplicación. Si existe alguna vulnerabilidad en cualquier software, es a través de un exploit como ésta será aprovechada por los atacantes.
Definición
Se denomina amenaza multi-stage a la ejecución encadenada de scripts maliciosos en sitios web benignos, con el fin de infectar al usuario. Se caracteriza por involucrar múltiples dominios y exploits durante el progreso del ataque.
Este tipo de ataques deriva principalmente en:
• La exposición de los usuarios a la amenaza, quienes acceden a sitios benignos y, habitualmente, confiables
• La ejecución de múltiples exploits uno a continuación de otros, aumentando la probabilidad de infección
Además, al utilizar múltiples dominios y exploits, esta metodología permite a los atacantes mayor flexibilidad para la modificación y renovación de las características del ataque así como los códigos dañinos involucrados.
Funcionamiento
Para ejemplificar cómo funciona un ataque multi-stage, se presenta el siguiente gráfico:

El primer paso es la infección de un servidor web (1). Aquí, el atacante logra ingresar scripts no permitidos a través de, por ejemplo, una vulnerabilidad en el servidor web, ejecutando un exploit o bien, adquiriendo las contraseñas de acceso al servidor FTP para modificar los archivos.
Una vez que el servidor está infectado, el atacante logra que un sitio web, hasta el momento benigno, contenga código que puede infectar los sistemas de los usuarios. En la siguiente etapa, es cuando el usuario accede al sitio infectado (2) sin conocer los riesgos a los que se expone porque en realidad se trata de una página que solía no ser dañina. Como ya se mencionó, esta es una de las ventajas de este tipo de ataques.
Posteriormente, al cargarse el sitio web, se ejecutan las rutinas maliciosas a través de un script (por lo general ofuscado) o iframe.
Hasta aquí, el comportamiento refiere a un clásico ataque de ejecución de código en segundo plano. Sin embargo, a partir de este momento se desarrollan las principales características del ataque multi-stage: la ejecución de exploits a través de múltiples servidores.
Una vez que el usuario accedió a la página y el script direccionó en segundo plano a una nueva dirección web (Servidor1), comienza una cadena de enlaces en donde cada servidor, a través de diversos scripts, direccionará nuevas peticiones a otros servidores maliciosos. De esta forma, desde el primer salto (Servidor1) se enlaza a otro script (en Servidor 2) y así sucesivamente una cierta cantidad de pasos. Hasta el momento, los ataques más populares realizan entre 3 y 5 saltos.
En cada uno de los servidores, además de enlazar a nuevos sitios maliciosos, se intenta efectivizar una infección. En primer término, se ejecuta el script en el servidor malicioso (4). Posteriormente, éste incluye la explotación de alguna vulnerabilidad que finalmente habilitará la descarga de un código malicioso (5) y la consecuente infección del equipo de la víctima (6).
En los ataques multi-stage, estos pasos (4, 5 y 6) se ejecutan en cada servidor del proceso utilizando diversos exploits para diferentes vulnerabilidades, además del paso de direccionar a otro servidor (3), que ocurre salvo que sea el último del ataque.
Así, en el Servidor 1 se puede descargar un archivo PDF que explote una vulnerabilidad en Acrobat Reader; en el Servidor 2 se explota una vulnerabilidad en DirectX para ejecutar código remoto; y en el último Servidor se explota una vulnerabilidad del sistema operativo para descargar el código malicioso.
Conclusión
Las amenazas multi-stage se han observado con mayor frecuencia a partir de comienzos del 2009 y la tendencia marca que seguirán aumentando.
Si bien los usuarios que posean una solución de seguridad antivirus con capacidades proactivas de detección, estarán protegidos contra la instalación del código malicioso, este tipo de ataques refuerzan la importancia de maximizar el nivel de prevención de ataques informáticos con buenas prácticas como lo es, en este caso, la actualización de los sistemas operativos y todas las aplicaciones que estén instaladas en el sistema.




