En la actualidad, una de las técnicas de ataque desde el lado del
cliente (client side attacks) más utilizadas, es a través del
envío de algún archivo PDF con un exploit para luego
poder tomar control sobre el sistema. En esta instancia, a veces es necesario
conocer algunas técnicas para poder analizarlos e identificarlos.
Anteriormente, explicamos cómo realizar una cirugía
a un PDF malicioso. Esta es una de las tantas formas de realizar un
análisis. Sin embargo existen otras formas. En esta ocasión veremos cómo
analizar un PDF que contiene el exploit (CVE 2009-0927) específico para
Adobe Reader 9, entre otras versiones. En primera instancia probamos el
exploit para comprobar que sea funcional. El payload utilizado
en este caso no es malicioso, ejecutando únicamente la calculadora de Microsoft
Windows:
Tal como puede observarse, el código correspondiente al
exploit y al payload se encuentra ofuscado. Una de
las herramientas de Didier
Stevens permite directamente obtener este código sin ofuscar,
teniendo acceso al shellcode del exploit directamente.
Utilizando pdf-parser.py, se obtiene el resultado de la sección
Stream donde se encuentra el exploit luego de aplicar los
filtros correspondientes, como se puede observar a continuación:
Una vez que el exploit se ha extraído del archivo PDF, es posible
construir un ejecutable que contenga el mencionado
exploit. De esa manera, podrá analizarse de forma tradicional a través
de, por ejemplo, ingeniería inversa utilizando un debugger. Para llevar
a cabo este proceso existen diferentes formas. Una de ellas es a través de un
sitio online llamada shellcode2exe, el cual construye un
binario funcional a partir del código del exploit, en
este caso en código JavaScript.
Cabe destacar que existen otras alternativas, como por ejemplo, analizar
directamente el shellcode en JavaScript. De esta manera, y
para verificar que el ejecutable no está corrupto, se precede a ejecutar el
archivo para verificar que realmente esté funcionando pero ahora sin ejecutar
Adobe Reader. Ahora que se tiene el archivo, se procede a analizarlo con
un debugger en búsqueda de donde llama al
payload. La sección correspondiente de código a la llamada del
payload puede visualizarse en la siguiente captura:
El punto interesante de este método es la sencillez con que puede
analizarse el exploit, ya que al extraerlo
del PDF, no es necesario ejecutarlo en el entorno de Adobe Reader. Obviamente,
este método sirve para analizar el alcance del payload y no para
estudiar el comportamiento del exploit debido a que ha sido
transportado a un ejecutable. Anteriormente planteamos el análisis de otros
exploits que involucraban archivos PDF tal como el Análisis
del exploit PDF/CVE-2010-0188. En este caso recurrimos a otro método
utilizando herramientas y combinándolo con un portal en línea.
Finalmente, cabe destacar la importancia de realizar los análisis de este
tipo de archivos con la seriedad que merece, debido a que actualmente hemos
estado observando que este tipo de archivos es uno de los vectores de
propagación de exploits y malware en
la actualidad. Desde ESET Latinoamérica recomendamos fuertemente
analizar archivos PDF previo a su ejecución, sobre todo si estos
son recibidos por correo de fuentes no conocidas
0 comentarios:
Publicar un comentario