Documente Academic
Documente Profesional
Documente Cultură
ndice Autor: ............................................................................................................................................................................................................ 2 Co-autores: .................................................................................................................................................................................................... 2 Introduccin .................................................................................................................................................................................................. 3 Instalacin: Ingeniera Social y dropper ......................................................................................................................................................... 4 Archivo ejecutable ..................................................................................................................................................................................... 4 Mtodo Tempo_Tick ................................................................................................................................................................................. 6 Mtodo GetResourceFile ........................................................................................................................................................................... 7 Manifest.json: permisos del plugin .......................................................................................................................................................... 9 Service.js: el inicio del payload ............................................................................................................................................................... 10 Mtodo beforeNavigate ......................................................................................................................................................................... 11 Mtodo navigationCompleted ............................................................................................................................................................... 12 Robo de informacin del usuario ........................................................................................................................................................... 13 Servidor brasileo comprometido ............................................................................................................................................................... 15 Reportes ...................................................................................................................................................................................................... 17 Conclusin ................................................................................................................................................................................................... 18 Muestras analizadas .................................................................................................................................................................................... 19
Autor:
Fernando Catoira Security Analyst de ESET Latinoamrica
Co-autores:
Pablo Ramos Security Researcher de ESET Latinoamrica Sebastian Bortnik Gerente de Educacin y Servicios de ESET Latinoamrica
Introduccin
El malware ha evolucionado y, en la actualidad, busca robar informacin de la vctima con el mayor sigilo posible, de tal modo que el usuario no advierta que su equipo est infectado. En esta investigacin, hemos identificado una amenaza particular que apela a tcticas combinadas de spam para su propagacin, y la utilizacin de navegadores y plugins correspondientes para llevar a cabo las acciones maliciosas (metodologa ya conocida en amenazas como Theola). Finalmente, el malware bajo anlisis aprovecha un servidor benigno y legtimo para enviar la informacin robada. A principios de mayo, el Laboratorio de Investigacin de ESET Latinoamrica recibi una muestra que llam la atencin de nuestros investigadores, debido a que se estaba propagando a travs de spam con una caracterstica muy particular: utilizaba un servidor gubernamental de Brasil para enviar la informacin robada. Anteriormente, hemos destacado que una tendencia para 2013 iba a ser la utilizacin de servidores web legtimos para alojar cdigos maliciosos. En este caso, se utiliza un servidor sin la necesidad de comprometerlo, tomando un servicio que no posee los controles adecuados para que no sea manipulado por un tercero. De esta forma, el ciberdelincuente busca el anonimato e intenta disponer de todas las funcionalidades posibles a travs de servidores legtimos, con el fin de disipar cualquier tipo de sospecha a partir de la buena reputacin de los mismos. El presente artculo es el resultado de la investigacin de esta amenaza. En las siguientes pginas podrn conocer toda la informacin que hemos adquirido en el anlisis, lo que posibilit detectar una segunda caracterstica de valor: la amenaza utiliza como mtodo de ejecucin las extensiones del navegador, una caracterstica que probablemente veamos con mayor frecuencia en los cdigos maliciosos. Adems, se detallar cmo se instala la amenaza, a qu navegadores afecta y cmo utiliza un servidor gubernamental para su ejecucin, entre otras cuestiones.
Archivo ejecutable
Durante la carga de este archivo, se ejecuta el cdigo correspondiente al evento Load. Este proceso analiza los permisos de administrador, y en caso de que se est corriendo con los mximos privilegios del sistema, se verifica que el sistema operativo sea Microsoft Windows Vista o superior (esto debe verificarlo para que pueda ejecutarse el framework anteriormente mencionado). Si ambas comprobaciones resultan exitosas, se procede a la infeccin del sistema. Para poder realizar la elevacin de privilegios, el cdigo malicioso utiliza el comando runas (ejecutar como).
Adems, en el caso de que no exista una copia del cdigo malicioso sobre la carpeta temporal, se copia a s mismo en el mencionado directorio con el nombre svmb60.exe.
Imgen 2 Contenido de la carpeta temporal Asimismo, dentro del archivo existen diversos mtodos que llevan a cabo tareas especficas. Estos mtodos y sus funcionalidades sern tratados en detalle en las prximas secciones.
Mtodo Tempo_Tick
Este mtodo se encarga de modificar diversas claves de registro para permitir la correcta ejecucin del cdigo malicioso. Adems, tambin deshabilita ciertas protecciones del sistema operativo y chequea errores con la finalidad de lograr la ejecucin del malware sin problemas. En el registro, ingresa una nueva entrada correspondiente a una DLL nombrada Vaio.dll, otra tcnica de Ingeniera Social para pasar inadvertido y simular ser una librera legtima. El cdigo malicioso utiliza tambin nombres correspondientes a otros productos o marcas, a fin de confundir a la vctima. Especficamente, existen archivos con el nombre de Skype o Microsoft, entre otros. Finalmente, copia todos los archivos que proveen las diversas funcionalidades del cdigo malicioso en la carpeta Google dentro de la carpeta temporal del sistema, luego de validar la existencia de Google Chrome en la entrada de registro App Paths.
Imgen 3 Entrada del registro de App Paths Otro dato relevante, es la creacin de una entrada para la ejecucin de la amenaza ante el reinicio del sistema. Bsicamente, luego de realizar un reinicio, se instalan las extensiones que utilizarn Google Chrome para robar la informacin de la vctima. En la siguiente imagen, se visualiza la entrada en el registro correspondiente a la extensin maliciosa en la carpeta Google:
Si el archivo se ejecuta nuevamente y hay una instancia en memoria del mismo, se despliega una ventana que engaa a la vctima para que crea que se trata de un error en el extractor de WinZip, como se puede apreciar en la imagen a continuacin:
Imgen 5 Falsa ventana de error de WinZip En el anlisis del cdigo desensamblado se puede observar la utilizacin del mtodo Interaction.MsgBox(prompt, critical, tittle) para construir el falso mensaje de error en WinZip 7.0, y tambin se puede ver que no importa si el proceso se ejecuta por primera o segunda vez, siempre mostrar un mensaje de error para hacer creer al usuario que el programa se encuentra corrupto:
Mtodo GetResourceFile
Otro mtodo importante dentro del cdigo malicioso es GetResourceFile, que cumple un rol fundamental dentro del funcionamiento de la amenaza. Este mtodo es el encargado de escribir en el disco una serie de archivos que sern utilizados en una instancia posterior, para el completo funcionamiento del malware. Dichos archivos se encuentran dentro del propio archivo ejecutable que infecta al sistema como recursos del mismo. La rutina se encarga de escribirlos en el disco para que luego comience la etapa de recoleccin de informacin. Los archivos, que son almacenados en la carpeta C:\Windows\system32\Google\, son los siguientes: CtrlTab.js, Jquery-1.6.2.min.js, Manifest.json, Microsoft.js, Service.hml, Service.js, Skype.js y Chrome.png. Esta funcin es utilizada a lo largo de todo el proceso para llevar a cabo la extraccin de los diferentes recursos que posee el cdigo malicioso.
Imgen 8 Contenido de la carpeta Google Estos archivos en conjunto son los encargados de ejecutar las instrucciones maliciosas de la amenaza. Las soluciones de ESET detectan los componentes ms importantes como archivos maliciosos: Archivo MulheresPerdidas.exe Microsoft.js Service.js Skype.js Deteccin MSIL/Spy.Banker.AU JS/Spy.banker.G JS/Spy.banker.G JS/Spy.banker.G
Cada uno de los archivos posee una funcin especfica para que la amenaza opere en el sistema. Todas las extensiones de Google Chrome poseen una estructura que debe ser contemplada por los desarrolladores para su correcta ejecucin. Es por ello que el archivo Manifest.json es de gran importancia dentro del contexto de la ejecucin del cdigo malicioso, y es fundamental entender su operativa para comprender correctamente la amenaza.
Imgen 9 Contenido del archivo Manifest.json A travs del anlisis del archivo, puede notarse que requiere determinados permisos para acceder a toda la informacin y sitios web que visite la potencial vctima. Especficamente, en la seccin permissions puede observarse que, a travs de expresiones regulares, requiere acceso sobre peticiones HTTP, HTTPS, webNavigation y webRequest. Es decir, que este tipo de peticiones sern interceptadas por el plugin del cdigo malicioso. Por otro lado, cada vez que se abre el navegador Google Chrome, se ejecuta en segundo plano service.html. Este archivo HTML carga dos archivos JS (JavaScritpt) maliciosos, especficamente CtrlTab.js y Service.js. Para que los mencionados scripts puedan ser ejecutados en un segundo plano (background), es necesario que sean declarados dentro de las propiedades del archivo Manifest.json.
Imgen 20 Cdigo HTML de la pagina web background Asimismo, los dos archivos JavaScript son declarados dentro del atributo content_scripts, en el archivo manifest.json. De esta manera, se asegura la ejecucin dentro de todas las pestaas del navegador. Adems, a travs de la propiedad matches, establecida con el valor <all_urls>, se ordena su ejecucin sobre todos los sitios web por los que navegue la vctima.
Dentro de los permisos, existen diversas expresiones regulares con distintas funcionalidades: http://*/* - https://*/* - *://*/* Establecen que la extensin de Google Chrome tendr acceso a la lectura de todo el trfico en el sistema infectado que sea accedido a travs del navegador. tabs Permite al cdigo malicioso realizar cualquier operacin sobre una pestaa del navegador, como crear o modificar la misma, entre otras alternativas. webNavitagion - webRequest Son utilizados por el archivo Service.js para ejecutar el payload malicioso y de esa forma robar la informacin de la vctima.
Imgen 31 Contenido del archivo Service.js Tal como puede apreciarse en la captura, existen cuatro eventos que estn relacionados con los mdulos webRequest y webNavigation. El evento Chrome.webRequest.onBeforeRequest.addListener(registerRequest,urlFilter) se ejecutar cuando la vctima realice una peticin a un sitio web. Del mismo modo, previo a la peticin de una URL, se ejecuta el mtodo registerRequest que se encuentra definido en CtrlTab.js.
Imgen 12 Mtodo requestCompleted Este mtodo devuelve un una lista de las direcciones URL que fueron visitadas a travs de cualquiera de las pestaas de Google Chrome. El siguiente evento, Chrome.webRequest.onCompleted.addListener(requestCompleted,urlFilter,[responseHeaders]), ser ejecutado una vez que haya finalizado la peticin. Adems, recurre al mismo mtodo requestCompleted en CtrlTab.js para obtener informacin de la pestaa que est utilizando el usuario y calcula el totalResponseTime (tiempo total de respuesta). Los ltimos dos mtodos corresponden al mdulo webNavigation, que generan procesos correspondientes, uno previo a que la vctima navegue por el sitio web, y otro luego de que haya finalizado la navegacin con las rutinas beforeNavigate y navigationCompleted.
Mtodo beforeNavigate
Luego de la primera ejecucin del malware, se crea una cookie bajo el nombre de FirstRun. A continuacin, se ve el acceso a una direccin URL en un dominio de gobierno de Brasil y, al analizar en detalle los parmetros de la URL, se observa que se enva un correo electrnico a la direccin instacar@ymail.com que, cabe destacar, ya fue dada de baja:
Esta seccin tiene como finalidad avisarle al atacante que hay una nueva vctima, y as poder tener una estimacin de la cantidad de equipos infectados. En las prximas secciones, se analizar con ms detalle cmo y por qu se utiliza este servidor de gobierno para el envo de mensajes.
Mtodo navigationCompleted
Este mtodo es el comienzo del robo de datos propiamente dicho. Inicialmente, realiza una comprobacin para establecer si la vctima ingresa a diversas entidades financieras o bancarias.
Imgen 54 Mtodo navigationCompleted En el caso de que esto ocurra, se activa una funcin myTimer con un intervalo de 1000 milisegundos para cada ejecucin.
Imgen 65 Funcin myTimer Si el usuario ingresa a una determinada entidad bancaria muy conocida en Brasil, la funcin ejecuta el script Skype.js. Si en cambio intenta hacerlo a otro famoso banco de Brasil se ejecutar el script Microsoft.js.
Imgen 76 Cdigo correspondiente a la manipulacin de Cookies En primer lugar, se roban datos como el CPF o Registro de las Personas (Cadastro De Pessoas Fsicas), contraseas (Senha), el nmero de validacin o PIN de 4 dgitos de la tarjeta y el nmero de cuenta. Luego, se enva toda esta informacin a otra direccin de correo de Yahoo: informativoaurelio@ymail.com. Al igual que en el caso anterior, esta direccin tambin fue dada de baja. Asimismo, algunos datos son robados directamente a partir de la inyeccin de cdigo HTML (que se encuentra ofuscado):
Luego de que el cdigo ha sido procesado, es posible visualizarlo de una forma ms legible, donde el archivo HTML resultante es el siguiente:
Imgen 88 Cdigo HTML ASCII En la imagen puede distinguirse cmo se captura Senha04 (contrasea04) y Senha07 (contrasea07). La inyeccin de este cdigo solo se lleva a cabo con algunas entidades bancarias en particular.
Imgen 99 Cdigo HTML del formulario web Al observar el cdigo del sitio web, se ve que el formulario genera una peticin al archivo ASP antes mencionado:
Imgen 20 Peticin web para el envo del correo a travs del servidor gubernamental La peticin es del tipo GET y se utilizan diversos parmetros que fueron establecidos cuando se complet el formulario: emailpara: corresponde a la direccin de correo donde se enviar el e-mail. titulo: corresponde al asunto del mensaje. conteudo: corresponde al cuerpo del mensaje.
Adems, si se revisa nuevamente el cdigo HTML, puede observarse que los parmetros poseen el atributo del tipo hidden, es decir, ocultos. Evidentemente, el ciberdelincuente encontr esta funcionalidad en el servidor gubernamental y pudo explotarla con la finalidad de mantener el anonimato en sus operaciones no legtimas. El problema radica en que no existe ningn tipo de validacin por
parte del servidor, por lo que es posible enviar un correo desde el servidor legtimo (a travs de un mero acceso HTTP), tal como realiza el cdigo malicioso:
Imgen 21 Recepcin de correo enviado a travs del servidor gubernamental El mensaje proviene siempre del dominio correspondiente a la entidad gubernamental y de una misma direccin de correo. El anlisis de la cabecera de los correos enviados confirma que el malware est utilizando el servidor legtimo y no lo est falsificando:
La presencia del campo from comprueba que realmente se trata del servidor de la entidad. De la misma manera, la direccin IP del servidor corresponde a Brasil:
Reportes
ESET Latinoamrica ha reportado el incidente tanto a Yahoo como al Centro de Estudios, Respuesta y Tratamientos de Incidentes de Seguridad de Brasil (CERT.br) indicando los detalles de la amenaza. Las dos cuentas de correo utilizadas por el atacante ya han sido dadas de baja el 10 de mayo de 2013, por lo que las variantes analizadas ya no son funcionales para el atacante. Asimismo, el equipo de CERT Brasil ha trabajado en el incidente reportado y a fines de junio ha remediado la vulnerabilidad que permita al atacante enviar correos desde el servidor. De esta forma, la amenaza analizada y descrita en el presente artculo ya no es funcional, producto del trabajo conjunto entre el equipo de Investigacin de ESET Latinoamrica y las entidades antes mencionadas.
Conclusin
Una vez ms, nos encontramos con un cdigo malicioso que confirma el claro inters de los ciberdelincuentes en robar informacin del usuario a fin de lograr un rdito econmico y la preponderancia de los troyanos bancarios en Brasil. Adems, este caso se destaca por dos caractersticas particulares: el uso de extensiones de un navegador para el robo de los datos y el envo de informacin a travs de un servidor de correo gubernamental. El hecho que se utilice una extensin de Google Chrome para el robo de informacin produce un impacto directo sobre la vctima, ya que en este caso no se busca infectar el sistema operativo sino directamente el propio navegador. Adems, el malware utiliza diferentes lenguajes para poder llevar a cabo todas sus actividades maliciosas. La combinacin de los mismos, tales como HTML, JavaScript y .NET para el caso del ejecutable, demuestra que este cdigo malicioso posee una complejidad a nivel estructural muy importante. Con dicha heterogeneidad de lenguajes, el ciberdelincuente apela al aprovechamiento de las funcionalidades que cada uno ofrece, para lograr una mejor y ms amplia performance de su amenaza. A la diversidad en el desarrollo del cdigo, se le suma como caracterstica distintiva la utilizacin de un servidor gubernamental de Brasil para el envo de informacin. Esto provee mayor anonimato al atacante ya que utiliza un servidor legtimo para enviar los datos que han sido robados. Servidores web gubernamentales son usados frecuentemente para alojar malware aunque en esta ocasin se hace un uso particular y novedoso que es la utilizacin de un servidor de correo de gobierno. Estas investigaciones confirman que los cibercriminales estn en continuo movimiento, buscando la forma de poder infectar a la mayor cantidad de usuarios posibles, modificando las tcnicas que utilizan. La puesta en escena de nuevos mtodos de infeccin a travs de exploits que afectan a los navegadores y, en este caso en especial, la utilizacin de plugins maliciosos, son nuevas tcnicas de ataque y se ajustan a lo que venimos sealando como tendencia desde hace ms de dos aos.
Muestras analizadas
A continuacin, se adjunta la lista de los MD5 de las muestras analizadas: Archivo MD5 MulheresPerdidas.exe f7d63175ff8b4959c425ad945e8e596e Microsoft.js 6a944a7da3fc21b78f1a942ba96042a0 Service.js 6c1daaccd036cd602423f92af32cdc14 Skype.js 28174674f60ce4d3fb1ac8a74686b3ca Vaio.dll c9e20bdec9264bbb6de34c5dd7be0c79 Tabla 2 - MD5 de las muestras analizadas