Founder of MalwareIntelligence, a site dedicated to research on all matters relating to anti-malware security, criminology computing and information security in general, always from a perspective closely related to the field of intelligence.

domingo, 4 de octubre de 2009

Automatización en la creación de exploits

En la mayoría de los casos, una de las piezas más comunes que se utilizan en cualquier ataque son los exploits, y en el mundo de los códigos maliciosos también. Todos los ataques utilizando malware y que se llevan a cabo aprovechando la infraestructura que ofrece Internet, involucran como componente esencial el aprovechamiento de vulnerabilidades.

Independientemente de las vulnerabilidades públicas que día a día aparecen (y sin incluir las del tipo 0-Day) las más relevantes, por ser las más explotadas, son las que aprovechan debilidades en aplicaciones diseñadas para visualizar archivos .pdf, .swf y, por supuesto, las de Windows.

En este sentido, el hecho de que estén de "moda" es un atributo que creo, se basa principalmente en la prematura conciencia sobre los riesgos de seguridad que todavía pareceríamos tener. Que aún hoy se estén explotando vulnerabilidades solucionadas hace más de tres años es la evidencia más clara; y que además, conforman una de las estrategias fundamentales que utilizan los botmasters para reclutar zombis a gran escala.

Incluso, en la actualidad, ya nadie se sorprende de que las aplicaciones web diseñadas para controlar y administrar botnets a través del protocolo http, se vendan con módulos de exploits pre-configurados, como en el caso de YES Exploit System o Liberty Exploit System, entre tantas otras.

Por otro lado, el negocio del crimeware busca constantemente diseñar "recursos" automatizados que permitan optimizar sus "servicios" y comienzan a aparecer en el mercado clandestino, recursos pensados no solo para automatizar el desarrollo de amenazas sino que también para hacer de esas amenazas lo más complejas posibles.

Cifrado de malware, técnicas anti-debugger, técnicas anti-analisis como la detección de entornos controlados (VirtualBox, VMWare, Virtual PC, SandBox, etc.) y la automatización en la creación de exploits son pruebas fieles que a granel existen en el mercado clandestino de crimeware.

Este último punto en particular, la producción automatizada de exploits, ha generado importantes problemas en los últimos años. Sin irnos demasiado lejos, recordemos el grave problema de seguridad que representó conficker a finales del año pasado al propagarse a través de una vulnerabilidad en la familia de sistemas operativos de Microsoft. Sin embargo, su origen estuvo marcado antes de su aparición.

El proceso de explotación se generó en base a una vulnerabilidad critica sobre el servicio RPC publicada el 23 de octubre de 2008 (MS08-067), que forzó a Microsoft ha lanzar el parche rompiendo su ciclo habitual (el segundo martes de cada mes). Inmediatamente después comenzó a ser explotada por el troyano Gimmiv y la vulnerabilidad aprovechada por un exploit creado por "ph4nt0m".

Desde allí, la vulnerabilidad fue aprovechada por varios códigos maliciosos. En noviembre, aparece una aplicación que permite automatizar el proceso de creación de exploits para esta debilidad de seguridad, y que además incorpora un escáner de puertos cuyo objetivo es encontrar equipos vulnerables. La aplicación tiene su origen en China.

Un dato curioso es que la versión original de este programa no contiene "sorpresas". Sin embargo, versiones posteriores manipuladas de forma intencionalmente maliciosa ofician a modo de "trampa cazabobo" incorporando un backdoor que se instala de forma silenciosa en el equipo de quien pretende utilizar la aplicación. Es decir, cazador cazado...

También durante noviembre de 2008 aparece la primera versión de conficker, un gusano que de manera efectiva explota esta vulnerabilidad provocando un gran malestar en muchas compañías que sufrieron sus consecuencias en sus redes, y sin lugar a dudas, uno de los códigos maliciosos más mediáticos de la historia.

Durante este año 2009, se conoce otra vulnerabilidad (MS09-002), pero esta vez en Internet Explorer 7, que permite la ejecución de código al momento de acceder a una página web, y comienza a ser incorporada en las aplicaciones web para el control y administración de botnets, explotado los equipos a través de archivos pdf, archivos .doc, ataques Drive-by-Download y ataques Multi-Stage.

Entre ellas, Phoenix Exploit’s Kit, Fragus, Liberty Exploit System, Eleonore Exploits Pack, Unique Sploits Pack, entre otros.

Pero también aparece una herramienta que permite explotar la vulnerabilidad a través de un proceso de creación de exploits específicos para la misma, que comienza a circular por foros de origen Israelí.

El programa genera un script ofuscado en JS que esconde el exploit.

De esta forma, se propaga el exploit a través de páginas web que explotan en los sistemas Windows por medio del navegador IE7 vulnerable.

Estos exploits son utilizados activamente por los ciberdelincuentes para iniciar los procesos de diseminación e infección, y las aplicaciones que lo generan de forma automática se encuentran In-the-Wild, con el agravente de que su desarrollo no se encuentra limitado a profundos conocimientos de programación.

Como podemos deducir, la gestión e implementación de actualizaciones de seguridad, tanto de los sistemas operativos como de las aplicaciones, no posee una fundamentación trivial, sino que es un aspecto muy importante para mantener la salud de los equipos.

Información relacionada
Conficker IV. Dominios relacionados... y controversiales
Conficker III. Campaña de propagación de falsas herramientas de limpieza
Conficker II. Infección distribuida del gusano mediático
Conficker. Cuando lo mediático se hace eco (...) problema de fondo
Anatomía del exploit MS08-078 by FireEye

Jorge Mieres

Ver más