- Descargador
- Descargas: programas de publicidad y clickers
- Dinero
- Propagación
- Dimensiones del problema
- Empaquetador
- Conclusión
La botnet Artro, cuyos bots son detectados por los productos de Kaspersky Lab como Trojan-Downloader.Win32.CodecPack, se conoce desde 2008. Sin embargo, hasta hoy no existe una descripción exhaustiva de sus funcionalidades. Para llenar este vacío, hemos decidido presentar a los lectores los resultados de la investigación llevada a cabo por nuestra compañía.
Descargador
El encargado de organizar la botnet Artro es un descargador, que detectamos como Trojan-Downloader.Win32.CodecPack. El troyano está protegido por un empaquetador, cuyo código está en extremo enmarañado. Por lo general, se usa empaquetadores para que sea muy difícil detectar el programa malicioso empaquetado, y no para evitar que se pueda analizar su código fuente. Este caso no es la excepción, porque el programa es bastante fácil de desempaquetar. Una vez desempaquetada, la función WinMain de las diferentes variantes del troyano tiene más o menos el mismo aspecto. Pero a pesar de todo, los delincuentes trataron de proteger su código contra el análisis mediante el enmarañamiento, agregando una gran cantidad de instrucciones innecesarias.
La función WinMain, después de desempaquetar el descargador
Trojan-Downloader.Win32.CodecPack
El código basura es polimorfo y está compuesto de bloques de código que ejecutan diferentes operaciones con las variables globales, que el código principal no usa, e incluye las llamadas de las funciones API, cuyos resultados no influyen en la marcha de la ejecución del programa.
Instrucciones-basura en un fragmento de código desensamblado del troyano
El enmarañamiento genera un código que es muy confuso para un simple descargador.
Entre las curiosas peculiaridades de Trojan-Downloader.Win32.CodecPack podemos mencionar que el troyano averigua si se lo está ejecutando en una máquina virtual o en un depurador. Sin embargo, a diferencia de otros casos, en que para dificultar su análisis dinámico el programa malicioso deja de ejecutarse si detecta un depurador o una máquina virtual, CodecPack simplemente envía los resultados de la verificación a su servidor de administración.
Todas las cadenas dentro del troyano están cifradas mediante el algoritmo RC4 y se van descifrando a medida que se las usa. El primer o los dos primeros bytes de la cadena contienen la llave de desciframiento. La longitud de la cadena se calcula agregando al valor de la llave una constante presente en el código del troyano y que es única para cada muestra.
Al iniciarse, lo primero que hace Trojan-Downloader.Win32.CodecPack es verificar la conexión a Internet enviando varias solicitudes DNS a sitios populares que están disponibles a casi cualquier hora, por ejemplo, wordpress.com, walmart.com, photobucket.com, etc. Si no hay conexión a Internet, CodecPack deja de ejecutarse. Si el equipo infectado está conectado a Internet, el descargador recopila información sobre el equipo infectado: el número de serie del volumen donde está el directorio de Windows, la versión del sistema operativo, si el usuario tiene o no derechos de administrador en el sistema y si se está ejecutando el troyano en un equipo virtual o bajo un depurador. Después, elabora una solicitud que contiene la información obtenida y la envía al C&C. A propósito, los dominios adónde se envían las solicitudes del descargador no son verdaderos C&C. Los servidores que sustentan estos dominios son sólo proxy inversos y sirven para ocultar el verdadero centro de administración de la botnet.
Solicitud POST enviada por el descargador y respuesta del servidor
De una vez, hacemos notar que todas las solicitudes del troyano a los servidores de administración se envían cifradas. El cifrado se realiza de la siguiente forma: primero, los datos se cifran mediante el algoritmo RC4, después se los codifica con la ayuda del algoritmo Base64. Las respuestas del servidor de administración también llegan cifradas. El desciframiento de las respuestas se lleva a cabo de forma inversa: primero la respuesta se descodifica mediante el algoritmo Base64 y después se la descifra con el algoritmo RC4. La llave con la que se cifran y descifran los datos es la misma para todos los ejemplares y se encuentra al final del cuerpo del troyano.
La solicitud al servidor de administración es un POST en cuyo ini está presente la secuencia de caracteres
v22MnmDnHYfxCWI06FcUQOE5OLPvIYg4OtcPHid3L0oHCw7U2
UWOm2rzU1rHIQqMgMqVv8JHeAiBMF4QB33zfYiRtufQpKX8MPtpuO7vlA==
y bajo la cual se oculta la cadena
a1=4ded23cdfec1eb7b512840cadb
35a169ddfc4eef&a2=00001920&cd=Fri 04 2011,22:16:41
Contiene un identificador único del troyano (parámetro a1), el identificador del afiliado a través del cual se descarga CodecPack en el equipo del usuario (parámetro a2) y una marca temporal presente en el fichero en forma de cadena (parámetro cd). El parámetro data contiene la cadena
qSrTzGL0RMCyDnY9+xJEQe5nNLundsMqfdgBGzUoJ0xVTU/DzQ
WC3DLbXB/UfETT1o6F2ZIbLEGVJ0MOJTSDP9PX4aSS/OagY6143bGp0y/uGVSLV
L0u+us+x5NraqI7DJaKGg7TCqXkTszGInUBxiK1/h
KL2oFYpjsSeY04x+zt2a9dO+UI5VhP0W45
que, antes de cifrarse, tenía la siguiente apariencia:
wvbffv=updpov&admin=yes&wloapl=gcpxsp&os=Microsoft
Windows XP Professional Service Pack 2 (build 2600)
&qymxsz=mkgflj&debug=none&oeuprp=cbvhox
En esta cadena se envía al servidor de administración la siguiente información:
- ¿tiene la cuenta de usuario bajo la cual se ejecuta el troyano privilegios de administrador de sistema? (el parámetro admin puede tener los valores “yes” o “no”),
- ¿se está ejecutando el troyano bajo un depurador o en una máquina virtual? (el parámetro debug, que puede tener los valores «none», «vmware», «vmware2», «vmware3», «msvpc», «msvpc2», «cvpc», «debugger1», «debugger2», «debugger3», «debugger4», «debugger5», «softice», «vm», «vm2»),
- la versión del sistema operativo (parámetro os).
El sentido de esta solicitud es recibir del servidor de administración un fichero de configuración que llega en forma de una combinación de símbolos inescrutable
4i7exXC8c4mxHmcg+QoZUPFieuWsasB4N5MJEyNjOltZTkONmky
DiDH+QQjWKRiTxI3M6pIRJgCLOkw1AGagIs7Cq+7Vre2vZ6c8v+a+ln7uRBC6U78
gvLoo3sN7YqxrG8beHgvNHe2vEYzQbC5cmybl8xnJj4Ze4D0aL4Nvk6m0juMfLaN
Rt1wK2jV1LMVonwYDZhQV9TCcLC8K/jaSl2iGyFsFOJqlI+v+lGTo8iCwjl9V63rlQ1
wdvDjgc9lvdhMXOK3bWNlwF8mkitR2ZMZ/sJ03lxw1AfJKjiNhuuDR1lVIseLFz7od7
42Zcy/PifsYkiiD2iSfnyGbl3c2hVH3kXKO3swayP+1QBLrc7kPxNAuYPBjwOexIGzm
vVIu7DxjAj1+PumU4TTpwpByVNtEpjkCu4bTqG8SE85NgTJX+/zhzpolGgDVPI2lx
x0OLx8MX2dQ9TO7l6GH7q6BOZ5kZAI7100GGEcPLEeIwgY1y9mawLoQVSiHoL//
E2MFZMW85b//lKxW6p2tSCwdScWkakghLoknwKdn/CMzvqWMjSFj0dlWqdjypa
eOQIdRUp/7fC4jnUI5pimM9vJ+7CM4OP84XsAVCUz9P/WRMVtQaAI4I3WFMtk/Kl
VTd5d4eyrH48XVCsscUrFuEedu65qcc6i/BmNDHdt/wC/3RSnbD3dG5OjrAjsJShe
GQHyBjhNz5koM1oxsqCIAsQVAh9RYl0/D0aJHkDHwGGX+wK0D785mxcU7oH35A
1S7U9POcJ3vae3Ive/zdZsQok4QJIFwB4VoCX2Ed4ipL5BtfyoiKRoHMlTn0E5Rvpd
E+AVYEDE33zE74KNALfcDmFkGh7dqXHgX/BQ4s6NpGNMwT+pE2IEyrDOBtBlN9j
nhyR5fcQpJQoSlyaylfY8oHJftstYeWqdAIkMgXxmeBtaSYMG7jewjKHAz1L8N2sc
PVwcHWa56EL5O0JyD1u9rXO3pMpRe4p4j7FfYwazDXV9TrnKRfGzw14nipxscdY
oV8cOVP6WW1XQ2TaGHyKjhFpYbibUiABWH8KDgxbZtYTMgNMq45eFTEYrMY9
8i7insKDyWS6ecEJqmRjXAwsqPNxX1gI3ZzKR7k5kYIs60gdTV8VbReidhBTPab8h
DGMvKbwROhJtSeIyUYqGdltIMlLtbLaNl6Tn9rrg8yjuLAdulravoMF1Tb/uJkYKRwF
760SJAaJT5eD+nlGLFed+QpUtZFf32Ww5UxdQQ0bo3efpE6V2dNRQGcc2uDwKp
YxLumd9Vf/JaragjDfT89MXC9YG7bb79+cjmsv91Ecy7CyyOD/WISJ0bjHHODo28
aRGO7iuYADfRXi8aMmXQklxnElDZ+YGcpf1fd5Dji4cBo4PVIChOR+9K++TVyJFuX
diEUsL9aLUMafmb76ZKTuFuisgiGnOVH8+P1vMM+8ze7w4bBvuEqGtxWmrxFDrg
px5rq0VDr+oT33TbRsJpAOgPmvzlewQDyyV31A+Ux2p9lRjpxURJsbmS+gpTiCgiu
fQnHf2X1BRZsbIjYlzJaPZRKHRB713LeG+FmwhQlsEFJRQMrTZLaRpj8yzbH6YRmf
MjNWu8p5C4Y30qKutNHRBXzFqrASBIjm4=
y después del desciframiento se convierte en un fichero de configuración en formato XML:
<root>
<start><url crypt=’gif’
post=’on’>http://tw***dn.in/cursors/948daefd12e38c8dafaefc612eab47b
b45719228e4f06c6aad1bd3a58a91c6292d6d1f3c44aebeff4/b6647362a/cursor
_upp.gif</url><url crypt=’gif’
post=’on’>http://web***ith.in/cursors/24ad2ecdd213bc3d7f6e5c410eebe
7cb050122284470cc0a7d1bc3d58a2186b9cdad7f9cb43ede3f9/267493126/cu
rsor_upp.gif</url></start>
<start><url crypt=’gif’
post=’on’>http://shu***edrive.in/werber/562473824/217.gif</url
><url crypt=’gif’
post=’on’>http://new***bridge.in/werber/b6
0413b27/217.gif</url></start>
<start><url crypt=’gif’
post=’on’>http://data***ykey.in/perce/247d5ebd92d36c6d7feefc311ecb
67abf5d1420844a02cba2d7b63259a21a6c99dfd7f3cc4ee9e4fc/8674d352d/q
werce.gif</url><url crypt=’gif’
post=’on’>http://filefo****online.in/perce/845dbecd62f37c9dbf9e0c11ce
ab377b65d162e80430cc9a8d8b23f56a81d6f9dd9dbf3c842ede3fc/d65493829/
qwerce.gif</url></start>
<start><url crypt=’gif’
post=’on’>http://tw***dn.in/papers/e46d7ecd62b39c0d4f1e3c318ebb177
b95a132d83460ac7a2d8bc3c50a51d6f9cd5dbf3c045e3e5f6/6684f322a/paper
.gif</url><url crypt=’gif’
post=’on’>http://web***ith.in/papers/64bd5e9d82830c2d0f3eacc1feab27
cb95f122582430ac5a8d1bc3151ae1b6799
d0d1f2c941e4e9f4/f66443a29/paper.gif</url></start>
</root>
El fichero de configuración tiene una estructura bastante simple. El elemento raíz root contiene los elementos start. Cada elemento start corresponde a un fichero que es necesario descargar y ejecutar. El elemento start a su vez contiene un elemento url que especifica las direcciones de descarga. En cada start, estos elementos pueden ser varios, y entonces, si el programa malicioso no ha podido descargar el fichero desde el enlace indicado en el primer elemento url, tratará de descargarlo del siguiente enlace.
Los ficheros se descargan al equipo en forma cifrada. El método de cifrado se especifica en el atributo crypt del elemento url, que puede tomar dos valores: gif o rc4. El último método, como es fácil de adivinar, consiste en cifrar el fichero mediante el algoritmo RC4. El valor “gif” significa que se descargará una imagen en formato gif, por ejemplo:
Por supuesto, no será una simple imagen, porque dentro de ella, además de los datos gráficos, habrá un fichero ejecutable cifrado con RC4.
Los ficheros descifrados se guardan en el disco y se ejecutan, después de lo cual el descargador borra su fichero del disco y termina su proceso. De esta manera, la tarea del descargador consiste en descargar los ficheros indicados en los enlaces del fichero de configuración y ejecutarlos en el equipo del usuario.
Durante el análisis de la botnet averiguamos que el fichero de configuración del descargador no lo descargan los usuarios de todos los países. Por ejemplo, hasta ahora no se descarga en los equipos de los usuarios de Rusia, Belorusia y Kazajtán, que visualizan un error 404 Not Found.
Descargas: programas de publicidad y clickers
En el fichero de configuración del descargador hay enlaces a, por lo general, 3-4 programas.
Los enlaces pueden apuntar a ficheros maliciosos que los dueños de las botnets descargan a petición de sus “colegas”. El listado de estos ficheros puede ser individual para cada país, pero también puede estar ausente en las tareas de descarga en determinados países. Pero hay programas que el descargador descarga siempre: programas bot que muestran publicidad (Adware) y que pulsan enlaces, banners publicitarios y ventanas emergentes. A diferencia de los ficheros descargados a petición de sus clientes, estos programas los ponen los mismos autores del descargador. Esta conclusión la sacamos por dos razones:
en primer lugar, los enlaces a estos ficheros están siempre presentes en el fichero de configuración del descargador, es decir, se trata del surtido mínimo de programas maliciosos que son la principal fuente de lucro de los dueños de la botnet;
en segundo lugar, el código de esta categoría de programas es muy semejante al código del descargador: usa los mismos métodos de enmarañamiento, el mismo algoritmo de cifrado de cadenas (pero con otras llaves), los ficheros están empaquetados por el mismo empaquetador, el protocolo de comunicación con el servidor es idéntico al del descargador.
Comunicación de HitBot con el servidor
Cada bot, de tiempo en tiempo pide al servidor de administración el fichero config cifrado con los parámetros específicos.
Los dominios de los servidores de administración con los cuales interactúan los bots se diferencian de los dominios del descargador y se cambian con relativamente poca frecuencia.
En este momento se conoce cinco programas que el descargador descarga en los equipos infectados de los usuarios.
BannerBot. En el fichero de configuración recibe enlaces directos a los banners de los servicios publicitarios, que pulsa para pasar a un sitio web, o enlaces a sitios web en los que la etiqueta div indica que hay un determinado banner y lo pulsa. El bot muestra parte de los banners al usuario. Entre los parámetros del fichero de configuración hay un campo refer que contiene un enlace a la fuente de la solicitud (desde donde llegó el usuario al sitio publicitado).
Ejemplo de fichero de configuración de BannerBot descifrado
New_bb. Tiene funcionalidades similares a BannerBot, pero envía al servidor algunos parámetros estadísticos adicionales sobre su funcionamiento y puede interactuar con el servidor sin recibir un fichero de configuración. En este caso el servidor al que el bot envía la solicitud POS lo remite a otro servidor, usando el código de respuesta 302. Del campo http Set-Cookie contenido en la respuesta recibida, el bot extrae los parámetros necesarios como el campo referer para los enlaces a banners solicitados y la cantidad de clicks en los banners hasta la siguiente solicitud al primer servidor.
Extracción de los parámetros para new_bb del campo Set-Cookie y redirección a otro servidor
A su vez, el segundo servidor devuelve un JavaScript con un enlace al banner que se usa en el navegador.
Recepción del JavaScript para New desde el segundo servidor
PopupBot. Recibe en el fichero de configuración enlaces a los scripts que abren ventanas emergentes, en las que hace click para pasar a una página web. Muestra algunas de las ventanas emergentes al usuario. En la captura de pantalla de abajo se puede ver un ejemplo de tarea para este bot, con la indicación del campo referer para enlaces que dirigen a scripts.
Tarea del servidor para PopupBot, descifrada
HitBot es un clicker que recibe del servidor la tarea de hacer solicitudes periódicas a los recursos de red con el campo referer indicado y a los intervalos de tiempo indicados.
Tarea del servidor para HitBot, descifrada
Si el parámetro ref está vacío en el fichero de configuración, HitBot sólo hace subir el rating de visitas del sitio indicado en el parámetro url.
Oms. Es el único bot implementado en forma de biblioteca dinámica y que se instala en el sistema como servicio. Cuenta con un sistema de soporte de expresiones regulares, intercepta las solicitudes de los navegadores a los sistemas de búsqueda Google, Bing y Yahoo, de los cuales extrae la solicitud escrita por el usuario.
Expresiones regulares usadas en el análisis de la solicitud de los usuarios
Después de extraer la solicitud del usuario, oms cifra los parámetros y los envía al servidor. Entre estos parámetros están la solicitud del usuario al sistema de búsqueda y la dirección del sitio del sistema de búsqueda.
Parámetros descifrados que oms envía al servidor
Dependiendo de la solicitud enviada por el usuario, el servidor puede enviar como respuesta: a) un fichero de configuración con un enlace al que el usuario llega si hace click en cualquiera de los sitios listados en los resultados arrojados por el sistema de búsqueda y b) el campo referer del enlace.
Tarea del servidor para Oms, descifrada
Por ejemplo, el enlace que llega en el fichero de configuración puede remitir al usuario a una página que simula ser la ventana de explorer.exe durante el análisis antivirus y que después propone descargar un antivirus falso.
Página web que simula el análisis antivirus del equipo
Los sitios web que oms y demás bots de CodecPack abren se caracterizan por poseer los contenidos más diversos. En la captura de pantalla de abajo tenemos uno de los ejemplos.
Ejemplo de sitio web abierto por un programa adware
Dinero
Como ya hemos dicho, los dueños de la botnet lucran descargando otros programas maliciosos, y también haciendo clicks falsos, generando tráfico y mostrando páginas web de diferentes contenidos a los usuarios. Nosotros no podemos estimar qué cantidad de dinero pueden ganar los delincuentes con las descargas, pero sí podemos hacer un cálculo aproximado de sus entradas por generar tráfico y clicks.
¿De qué manera ganan dinero los dueños de la botnet publicitaria?
Esquema del fraude causado a los anunciantes
Los dueños de muchos sitios que están interesados en que aumenten las visitas a sus páginas usan los servicios de las redes de publicidad. Para aumentar el flujo de visitantes al sitio web publicitado, se ponen los enlaces al sitio del anunciante en los sitios pertenecientes a los participantes de la red publicitaria. El anunciante paga a los dueños de la red una suma por cada visitante. Los dueños de los sitios que han puesto enlaces en el recurso publicitado reciben dinero por cada usuario que llega desde su sitio al sitio del anunciante.
Muchos servicios publicitarios usan programas de afiliados para incrementar la cantidad de sitios en los que se pueden poner enlaces publicitarios.
Para aumentar las ganancias por redirigir usuarios al sitio del anunciante algunos dueños de los sitios que albergan enlaces publicitarios recurren a los servicios de los dueños de la botnet. Los bots emulan el paso de los usuarios desde los sitios que contienen enlaces publicitarios a los sitios publicitados. Con este objetivo el bot pone en el parámetro refer (para recibir los enlaces al recurso final) la dirección del sitio del cliente o envía en los parámetros de la solicitud el ID del afiliado a la red publicitaria.
Con este esquema de estafa lucran los dueños de la botnet, los afiliados de mala fe y los dueños de sitios que albergan enlaces publicitarios. También crecen las ganancias de las redes publicitarias. El único que pierde es el anunciante: habiendo invertido dinero en la publicidad, no tuvieron visitantes que pudieran contratar los servicios publicitados.
Suponemos que muchos de los dueños de sitios y afiliados a las redes publicitarias no saben que es una botnet la que les ayuda a ganar dinero.
Durante la monitorización de la botnet desvelamos varios sistemas de compraventa de tráfico con los que actúan los diferentes bots de CodecPack. He aquí una parte de los servicios (información tomada de los ficheros de configuración):
En esta lista hay tanto servicios publicitarios muy conocidos y ampliamente usados, como servicios de dudosa reputación. Los enlaces que contienen los dominios indicados fueron recibidos por los bots con múltiples valores en el campo referer o los ID del afiliado. Más abajo enumeramos algunos sitios que encargaron servicios de aumento de tráfico ofrecidos por los dueños de la botnet y que se usaron como referer en febrero de 2011.
Por ejemplo, la dirección del sitio businessite.net se pone en el campo referer del bot oms. He aquí la valoración de este sitio en uno de los servicios que ofrecen información sobre la facturación y valor de los sitios:
Valoración del sitio businessite.net y su facturación según websiteworths.com
Durante la investigación esclarecimos cuantos clicks realiza cada módulo por día en los enlaces recibidos en el fichero de configuración. Sabiendo esta cifra y parámetros como el coste medio de los servicios publicitarios, la cantidad mínima de bots en las botnets y la probable participación de los dueños de la botnet en las ventas de tráfico podemos calcular las ganancias aproximadas de los delincuentes. Según nuestras apreciaciones, es de 1.000 a 2.000 dólares americanos por día.
Vale la pena destacar que en el cálculo no incluimos el bot oms, cuyos clicks dependen totalmente de las acciones que realice el usuario con los resultados de sus solicitudes en los sistemas de búsqueda. También es importante tomar en consideración que los delincuentes pueden hacer configuraciones flexibles de la frecuencia de clicks que realizan los bots. Esto permite emular el comportamiento de los usuarios reales: los clicks no se realizan con una frecuencia constante, sino en periodos determinados de tiempo con grandes pausas intermedias.
Por fortuna, algunos servicios publicitarios ya cuentan con tecnologías de reconocimiento de incremento artificial de tráfico. Y los anunciantes, por su parte, deben desarrollar una actitud más seria al escoger los servicios que lleven visitantes a sus sitios.
Propagación
CodecPack penetra en los equipos por diferentes vías, lo que evidencia que los dueños de Artro, para propagar su descargador, apelan a los servicios de sus colegas para instalar software malicioso en los ordenadores de sus usuarios. El descargador CodecPack se propaga mediante botnets y en este caso su instalación ocurre en un equipo ya infectado por un troyano-descargador. También puede propagarse por medio de paquetes de exploits: Basta que el usuario visite un sitio web infectado para que el exploit allí ubicado descargue y ejecute CodecPack. Un ejemplo bastante claro de la propagación del descargador mediante exploits fue el envío masivo de spam registrado por Kaspersky Lab en marzo de 2011, después del terremoto en Japón. El spam contenía un enlace a un sitio malicioso que usa exploits para instalar Trojan-Downloader.Win32.CodecPack en el ordenador de los usuarios.
En cambio, el principal método usado para infectar los equipos con CodecPack es banal: son los mismos usuarios quienes descargan y lanzan el fichero ejecutable malicioso. Por supuesto, en los tiempos que corren son pocos los usuarios que lanzan en su equipo un fichero desconocido por simple curiosidad. Los delincuentes toman en cuenta este hecho y hacen pasar el troyano por un códec, programa legítimo, generador de llaves o programa para “crackear” software en los así denominados “sitios de warez”. CodecPack también se propaga mediante sitios de hosting falsos, sitios pornográficos creados especialmente para infectar a los usuarios y blogs falsos. Teniendo en cuenta las peculiaridades de estos sitios, podemos suponer que las víctimas de los delincuentes son sobre todo los amantes de las cosas gratuitas, la pornografía y los usuarios distraídos.
Pero ¿cómo sucede todo? Supongamos que el usuario entró a un sitio falso de videohosting para ver un vídeo.
El texto a la izquierda de la ventana del reproductor advierte que para ver el video quizá se necesite descargar un codec. Por eso, cuando el usuario trata de ver el vídeo, aparece una ventana que le propone guardar o ejecutar un fichero ejecutable con un nombre que inspira confianza (por ejemplo, DivXcodec.exe), éste no vacila en ejecutarlo, suponiendo que es el códec necesario para ver el vídeo. Pero en realidad, está ejecutando el programa malicioso Trojan-Downloader.Win32.CodecPack, cuyo nombre indica la manera en que este software malicioso se instala en los equipos de los usuarios. De una forma similar se infectan los usuarios que decidieron ver pornografía en los sitios pornográficos falsos o en las entradas de blogs falsos.
Cuando el usuario trata de ver el vídeo publicado en el blog, se abre una página web con la imagen del reproductor de vídeo.
Página web con la imagen del reproductor de vídeo
En realidad, no es un reproductor de vídeo, sino sólo una imagen con un enlace a un fichero malicioso:
<A href=”http://mo***ilite.in/vimeoHDRviewer.40014.exe”>
<IMG src=”xplayer.gif” border=0></A>
Más adelante, como ya hemos descrito, el usuario hace click en la imagen del reproductor de vídeo, después de lo cual se le propone descargar un “códec”. No hay que mencionar que después de descargarlo el usuario no verá ningún vídeo y su equipo quedará infectado.
Cuando el usuario trata de descargar software, generadores de llaves o programas de cracking en los sitios de “warez”, todo tiene un aspecto aún más convincente, pues el usuario llega a estos sitios con la intención expresa de descargar programas. Pero la cuestión es que el software descargado no es otra cosa que un troyano.
Sitio que propaga el descargador Trojan-Downloader.Win32.CodecPack
haciéndolo pasar por software crackeado
Ahora pasemos a ver de qué manera llegan los usuarios a los sitios que contiene ficheros maliciosos. Para garantizar que haya un flujo de visitantes a estos sitios se usa el método de optimización de búsqueda llamado Black SEO. Por ejemplo, en el blog mencionado más arriba el blog falso aparece ya en la segunda página de los resultados del sistema de búsqueda bing.com como respuesta a ciertas palabras claves. Además, se pone enlaces a los sitios con enlaces maliciosos en los comentarios a los artículos de diferentes blogs populares y portales de noticias.
Los enlaces maliciosos que apuntan a varios sitos llevan al mismo dominio. Los dominios de los enlaces cambian varias veces al día.
Cantidad de dominios desde los cuales se descargaba CodecPack
Dimensiones del problema
Kaspersky Lab descubrió el primer ejemplar de CodecPack en verano de 2008. En dos años y medio la botnet Artro creció hasta alcanzar enormes dimensiones: en enero de 2011 CodecPack se detectó en los equipos de 140.000 usuarios de nuestros productos.
Cantidad de usuarios en cuyos equipos se detectó Trojan-Downloader.Win32.CodecPack
Es interesante cotejar esta cifra con los datos recibidos desde los servidores de los delincuentes. Tenemos a nuestra disposición los ficheros log de uno de los servidores back-end de la botnet, que contienen información como la dirección IP del equipo desde el cual se envió la solicitud al centro de administración, la fecha y hora de la solicitud y el país donde se encuentra el equipo infectado. En el gráfico de abajo se muestra la cantidad de direcciones IP únicas desde las cuales, entre el 24 de abril y 7 de agosto de 2010, llegaban solicitudes al centro de administración de la botnet (por día).
Cantidad de direcciones IP únicas en los ficheros log del centro de administración
En el gráfico se puede ver que la cantidad de direcciones IP únicas algunos días alcanzaba la cifra de 150.000. Cabe destacar que obtuvimos los ficheros log de sólo un servidor back-end, cuando estos servidores son por lo menos tres. Y al mismo tiempo, no sabemos a ciencia cierta si los ficheros log de todos los servidores se guardan centralizadamente en uno de estos servidores o si cada servidor tiene su propio fichero log. En el segundo caso las cifras reales podrían ser mucho mayores que las aducidas.
Según los datos de los ficheros log, el programa malicioso Trojan-Downloader.Win32.CodecPack infectó los equipos de los usuarios en 235 países del mundo. En la siguiente tabla está el TOP20 de los países más afectados:
País | % |
Estados Unidos | 14,46% |
Brasil | 6,45% |
India | 5,65% |
Alemania | 5,87% |
México | 4,08% |
Francia | 2,45% |
Italia | 2,28% |
Inglaterra | 2,26% |
España | 2,14% |
Colombia | 2,01% |
Vietnam | 1,78% |
Turquía | 1,53% |
Ucrania | 1,47% |
Canadá | 1,43% |
Irán | 1,43% |
Paquistán | 1,38% |
Indonesia | 1,35% |
Tailandia | 1,31% |
Perú | 1,27% |
Argentina | 1,25% |
Otros | 27,51% |
Distribución por países de equipos infectados por Trojan-Downloader.Win32.CodecPack (según la información de los ficheros log)
Esta lista guarda una cercana correlación con los datos obtenidos mediante KSN: los países del TOP20 son casi los mismos, la única diferencia está en las posiciones en la estadística.
País | % |
India | 10,64% |
Estados Unidos | 9,16% |
Alemania | 5,48% |
Federación Rusa | 4,61% |
Italia | 4,15% |
Vietnam | 3,64% |
Inglaterra | 3,63% |
Arabia Saudita | 2,92% |
Francia | 2,77% |
Malasia | 2,55% |
Brasil | 2,45% |
España | 2,34% |
Indonesia | 2,30% |
Canadá | 2,29% |
Tailandia | 2,20% |
Turquía | 1,99% |
México | 1,61% |
Polonia | 1,55% |
Emiratos Árabes Unidos | 1,50% |
Irán | 1,44% |
Otros | 30,78% |
Distribución de las detecciones de Trojan-Downloader.Win32.CodecPack en los ordenadores de los usuarios, (según la estadística de KSN):
Empaquetador
El crecimiento de la botnet está condicionado por el hecho de que, para evitar que el descargador CodecPack sea detectado por los antivirus, los escritores de virus usan un programa empaquetador. Como ya hemos mencionado más arriba, los ficheros publicitarios que descarga Trojan-Downloader.Win32.CodecPack, también están empaquetados por el mismo empaquetador que el descargador. El empaquetador es polimórfico y usa métodos de antiemulación.
El descargador y los ficheros que descarga se reempaquetan con bastante frecuencia, por lo menos una vez al día, lo que hace que sea difícil detectar este programa malicioso.
Cantidad de variantes reempaquetadas del descargador
Trojan-Downloader.Win32.CodecPack (por días)
Durante un pequeño experimento, se envió el empaquetador Trojan-Downloader.Win32.CodecPack distribuido dos días antes al servicio de análisis antivirus Virustotal. Los resultados del análisis resultaron bastante buenos: de 43 antivirus, 40 consideraban que el fichero era malicioso.
Resultado del análisis del fichero dos días después de su aparición
Ejecutamos las mismas acciones con el ejemplar propagado el mismo día por los delincuentes. Los resultados del análisis no fueron nada buenos: sólo 11 de 43 antivirus detectaron el fichero como malicioso:
Deprimente resultado del análisis de un ejemplar “fresco”
Quedó claro que los delincuentes realizan una monitorización activa de los programas reempaquetados. Así, en uno de los equipos estaba instalado uno de nuestros productos con Kaspersky Security Network activado. Durante cierto tiempo recibimos notificaciones de que una aplicación perl en este equipo estaba tratando de descargar, de determinados enlaces, ficheros que nuestros productos detectan como CodecPack. Estos enlaces tenían una apariencia muy interesante: dejaban al descubierto los nombres de los bots asignados por los mismos autores y mostraban la estructura de los directorios en el servidor web, revelando el propósito de este servidor.
Notificaciones de KSN sobre la activación del Anti-Virus Web durante los intentos de descargar un fichero detectado como malicioso.
De esta manera se descubrió el servidor en el cual se analiza si los nuevos bots reempaquetados y el descargador CodecPack pueden ser detectados por los antivirus.
Conclusión
La botnet Artro existe hace más de dos años y en este tiempo ha crecido hasta alcanzar dimensiones impresionantes. El programa que cumple la función clave en la construcción de la botnet es el descargador Trojan-Downloader.Win32.CodecPack, protegido por un empaquetador polimórfico, que los reempaqueta cada día.
La principal especialización de los dueños de la botnet es el negocio de incrementar artificialmente el tráfico. La gran cantidad de equipos infectados y la impecable organización del negocio les permite a los delincuentes engañar con éxito a los anunciantes y ganar grandes sumas de dinero. De forma adicional a este negocio, los delincuentes pueden lucrar descargando programas maliciosos de terceros. La cantidad de equipos infectados, junto con las dificultades que hay para detectar el descargador, convierte a la botnet CodecPack/Artro en un instrumento muy peligroso en manos de los delincuentes.
Por nuestra parte, seguiremos con atención las actividades de la botnet Artro.
La botnet “publicitaria”