martes, 1 de julio de 2014

BitGuard: un sistema de búsqueda forzosa

Este último año los usuarios se han encontrado con un sistema multicomponente extremadamente agresivo, difícil de eliminar por su propia cuenta, a pesar de que existen desinstaladores formales. Nos referimos a BitGuard, que se usa para suplantar la página de inicio y los resultados de las búsquedas.
El sistema BitGuard es nocivo, ya que modifica la configuración del navegador sin que el usuario se dé cuenta, tiene funciones de programa troyano de la familia Inject (incrustación de código en otros procesos) y StartPage (suplantación de las páginas de inicio de los navegadores y las páginas de búsqueda). Además, parte de sus funciones corresponden al comportamiento de los Trojan-Downloader (que descargan ficheros maliciosos desde Internet).
En este artículo y por comodidad usaremos el nombre común de BitGuard, uno de los módulos usados, para referirnos la familia completa de programas y módulos que tienen comportamientos similares.
BitGuard se propaga junto con las barras de búsqueda (MixiDJ, Delta Search, Iminent, Rubar etc.), cuyos dueños obtienen ganancias cuando los usuarios siguen los enlaces proporcionados en páginas de resultados de búsqueda irrelevantes. Suponemos que varios sistemas de afiliados usan BitGuard al mismo tiempo.

Barras de búsqueda

Uno de los métodos de promoción ilegítima de sitios web es presentar a los usuarios páginas de resultados de búsquedas con las direcciones de los sitios promovidos en los primeros puestos. Con este objetivo se usan sistemas de búsqueda propios y complementos especiales para navegadores: barras de búsqueda que remiten al usuario a páginas con resultados irrelevantes. Varios programas de afiliados usan este esquema.
Se aplica el siguiente plan:
  • Se desarrolla un sistema de búsqueda y un complemento para el navegador (barra de búsqueda) que tiene un campo de texto para introducir la búsqueda.
  • El instalador de la barra de búsqueda se pone en un hosting y queda disponible para que lo descarguen los instaladores del sistema de afiliados.
  • El usuario busca y trata de descargar música, software o videoclips de su interés, pero en realidad descarga el instalador intermediario del sistema de afiliados. Cuando lo lanza, instala una barra de búsqueda (en algunos casos con el consentimiento del usuario).
  • El usuario ingresa información en el campo de texto de la barra y esta lo remite a una página de resultados de búsqueda del sistema al que pertenece la barra.
  • En las páginas de los resultados de la búsqueda el sitio web promovido está en uno de los primeros lugares.
  • Los usuarios hacen clic en los enlaces pagados y llegan al sitio del anunciante.
  • El anunciante obtiene público.
  • Los dueños de la barra de búsqueda obtienen ganancias.
Además, en la página de los resultados de la búsqueda puede alquilarse lugar para publicidad, lo que les da ganancias adicionales a los desarrolladores del sistema de búsqueda.
Dependiendo de cuál sea el sistema de afiliados, las barras de búsqueda se difunden de diferentes maneras.
Lo más frecuente es que las barras de búsqueda se difundan en los sitios de software gratuito (pueden ir junto con instaladores “vacíos" o con programas freeware legales.
Por ejemplo, una organización desarrolla un sitio-plataforma donde los desarrolladores de freeware o shareware pueden poner sus aplicaciones. Como regla, el instalador es el mismo para todas las aplicaciones de este sitio. Contiene un complemento para el navegador que puede entrar al equipo del usuario cuando éste descarga una aplicación del sitio. Si esto pasa, los dueños de la plataforma reciben un porcentaje de los dueños de la red de afiliados.
Con este sistema de distribución, el usuario descarga el instalador de la aplicación que le interesa e inicia el proceso de instalación. En algunos casos el instalador puede descargar software legal, en otros, fingir que instala un programa útil. Durante la instalación se le ofrece al usuario instalar una barra de búsqueda.
La barra de búsqueda puede descargarse e instalarse intencionalmente, y no como complemento de un instalador de otro programa. Cualquier webmaster puede descargar un constructor de barras de búsqueda y agregarle funciones complementarias. La barra de búsqueda resultante se pone en un sitio para que la descarguen los usuarios, y el webmaster recibe su pago de los dueños del sistema de afiliados.
Como en este caso el usuario debe descargar la barra de búsqueda por su propia cuenta, los dueños de ésta tratan de interesar al "cliente” potencial con el bonito diseño de la página web desde donde se lo descarga, o con aventuradas promesas sobre sus funciones (comodidad de uso, fiabilidad, “búsqueda online óptima”, “lo mejor del mercado", etc.).

Instalación de las barras

Analicemos la instalación de las barras de búsqueda con los ejemplos de Delta Search Toolbar y Mixi.DJ. Ambas pertenecen a un programa de afiliados y con frecuencia usan un sistema de almacenamiento común (varios servidores) para sus componentes. Estas barras se difunden en diferentes sitios, en particular mixi.dj, deltasearchtoolbar.loyaltytoolbar.com


Descarga del instalador
Al lanzar el instalador se abre la ventana de instalación de la barra.

Ventana del instalador de Delta Search Toolbar
Para que el usuario no se sienta tentado a negarse a instalar software adicional, el botón “Skip” está diseñado de tal forma, que pasa inadvertido:

Ventana del instalador de Delta Search Toolbar
La interfaz del instalador de Mixi.DJ (proporción de los botones, tipos de letras, orden de instalación) es similar a la del instalador de Delta Search, lo que nos hace pensar que estos instaladores y barras tienen un solo dueño.

Ventana de instalación de Mixi DJ
Como podemos ver, los dueños de las barras recurren a diferentes trucos para conseguir que se instale su software en los equipos de los usuarios.
Pero cualquier software que lleve a sitios web que no son útiles se percibirá como indeseable y el usuario lo eliminará. Por eso, junto con la barra se usan módulos que impiden cambiar la configuración del navegador después de que la barra se ha instalado. De esta manera los dueños de las barras obligan a la víctima a visitar la páginas con los enlaces promovidos, incluso después de que se ha desinstalado la barra en cuestión.
Uno de estos módulos es BitGuard. Su tarea es modificar constantemente las direcciones configurables del navegador de Internet (incluyendo la página de inicio y la de búsqueda) para hacer que vuelvan a ser las de las páginas de resultados de búsqueda irrelevante con enlaces a los sitios promovidos por la barra.

Instalación de BitGuard

BitGuard puede descargarse junto con cualquier barra perteneciente a algún programa de afiliados. La instalación se realiza con un solo instalador. Al principio se instala la barra y después (en el mismo proceso) BitGuard.
El usuario no recibe ninguna advertencia sobre estos actos y la instalación y ejecución de BitGuard ocurre sin su consentimiento. La dirección y el nombre de la carpeta donde se instalan los componentes pueden ser diferentes en cada caso (por ejemplo, “BitGuard”, “Browser Defender”, “BitGuard”, “BProtect”, etc.).
El nombre del fichero ejecutable instalado depende del instalador y la versión de la barra. Por ejemplo, Delta Search Toolbar ejecuta la aplicación con el nombre de “browserprotect.exe”.
A continuación enumeramos ejemplos de direcciones de carpetas donde se instalan los componentes de BitGuard:
…\appdata\local\temp\nsv96a4.tmp\
…local settings\temp\nsi19.tmp\

Por lo general el paquete de componentes está conformado por:
  • el módulo ejecutable principal (puede tener uno de los siguientes nombres: browserprotect.exe, bprotect.exe, bitguard.exe, browserdefender.exe, etc.);
  • la biblioteca que se usa para incrustarse en otros procesos (browserprotect.dll, browserdefender.dll, bprotect.dll, bitguard.dll, etc.);
  • el fichero de configuración que contiene enlaces a las páginas de búsqueda y los ficheros de actualización cifrados (BitGuard recibe la configuración del instalador y por lo general ésta coincide con la configuración de la barra instalada por este mismo instalador)
  • Scripts de extensiones para Firefox o Chrome (dependiendo de sus versiones).
La biblioteca y el módulo ejecutable tienen la firma “Performer Soft LLC” expedida por ForwardTech Inc. La firma ya ha sido anulada y nuestro antivirus no la considera de confianza.
Después de la primera ejecución el módulo ejecutable se instala a sí mismo y a sus componentes relacionados en Application Data. El fichero EXE puede cambiarse de nombre a browserprotect.exe, browserdefender.exe u otro nombre dependiendo de su versión. Y hace lo mismo con los demás componentes:
\browserprotect\2.6.1249.132\{c16c1ccb-7046-4e5c-a2f3-533ad2fec8e8}\browserprotect.exe
\browserprotect\2.6.1249.132\{c16c1ccb-7046-4e5c-a2f3-533ad2fec8e8}\browserprotect.dll
\browserprotect\2.6.1339.144\{c16c1ccb-7046-4e5c-a2f3-533ad2fec8e8}\browserprotect.settings

Merece la pena destacar que las barras originales se desinstalan usando métodos estándar, pero BitGuard es muy difícil de eliminar sin usar instrumentos adicionales (por ejemplo, antivirus o utilidades para eliminar complementos adicionales para el navegador). Su funcionamiento no depende de la presencia de la barra en el sistema. Lo único que lo relaciona con su complemento de búsqueda original es su configuración. En la carpeta con el módulo «BitGuard» hay un desinstalador falso (uninstall.exe) que en realidad es una copia exacta de browserprotect.exe. Todo el proceso de desinstalación mediante este desinstalador en realidad se reduce a borrar BitGuard de la lista de programas instalados y no incluye la eliminación física de los objetos en el sistema.

Registro en el sistema y preparación para el funcionamiento

Después de copiar los ficheros, algunas versiones de browserprotect.exe pueden registrarse como servicio de Windows, lo que les permite cargarse antes que winlogon.
Más adelante browserprotect.exe crea una tarea para ejecutarse a sí mismo usando las posibilidades estándar del “Planeador de Tareas de Windows”.

\system32\schtasks.exe",""system32\schtasks.exe" /delete /f /tn "BrowserProtect" 
\system32\schtasks.exe" /delete /f /tn "BrowserProtect"

\system32\schtasks.exe" /create /tn "BrowserProtect" /ru "SYSTEM" /sc minute /mo 1 /tr 
"system32\sc.exe start BrowserProtect" /st 00:00:00
\system32\schtasks.exe",""$system32\schtasks.exe" /create /tn "BrowserProtect" /ru "SYSTEM" / sc minute /mo 1 /tr "system32\sc.exe start BrowserProtect" /st 00:00:00

El sistema BitGuard almacena las direcciones URL con las que suplantará las direcciones de la página de inicio y la de búsqueda cifradas en el fichero browserprotect.settings, y en sus propias llaves del registro.
"hkcu\software\5e2d9dce63abf47\2.6.1339.144" -> "iexplore homepages" -> home.mywebsearch.com/index.jhtml?n=77DE8857&p2=^Z7^xdm354^YY^in&ptb=F2FA09DD-6451-49C9-AF7B-B9E9D2D44840&si=124514_race_gcIND
"hkcu\software\5e2d9dce63abf47\2.6.1339.144" -> "firefox homepages" -> "home.mywebsearch.com/index.jhtml?ptb=F2FA09DD-6451-49C9-AF7B-B9E9D2D44840&n=77fcbc67&p2=^Z7^xdm354^YY^in&si=124514_race_gcIND", "home.mywebsearch.com/index.jhtml?ptb=F2FA09DD-6451-49C9-AF7B-B9E9D2D44840&n=77fd0772&p2=^Z7^xdm354^YY^in&si=124514_race_gcIND"
"hkcu\software\5e2d9dce63abf47\2.6.1339.144" -> "firefox keywords" -> "search.mywebsearch.com/mywebsearch/GGmain.jhtml?st=kwd&ptb=F2FA09DD-6451-49C9-AF7B-B9E9D2D44840&n=77fcbc67&ind=2013052007&p2=^Z7^xdm354^YY^in&si=124514_race_gcIND&searchfor="
"hkcu\software\5e2d9dce63abf47\2.6.1339.144" -> "firefox search engines" -> "My Web Search"

Seguimiento de operaciones

El módulo ejecutable (browserprotect.exe) inscribe la ruta a la biblioteca browserprotect.dll en la llave del registro AppInit_DLLs, permitiendo de esta forma incrustarla en todos los procesos que se inicien en el equipo del usuario. En el momento de su carga, la biblioteca determina qué proceso es el proceso raíz e intercepta algunas funciones, en particular las de lectura y escritura en ficheros. BitGuard hace un seguimiento de todas las operaciones con ficheros de todos los procesos, pero se interesa sólo por las que se refieren a los ficheros de configuración de los navegadores.
En el momento de lectura o escritura, la biblioteca verifica por lo general si se ha cambiado algo en las configuraciones de los navegadores instalados. Por ejemplo, cuando Chrome se cierra, guarda su configuración en un fichero. BitGuard hace un seguimiento de esta operación, abre de inmediato el fichero de configuración y escribe allí las direcciones de las páginas de búsqueda. Lo mismo sucede si el usuario trata de cambiar la configuración en un editor de textos.
La biblioteca sabe trabajar con varios navegadores populares (Internet Explorer, Chrome, Mozilla, Opera, etc.) y usa un método particular para cada uno. Por ejemplo, Chrome al cerrarse recuerda las últimas pestañas abiertas. BitGuard sabe escribir la página de búsqueda no sólo como página inicial, sino también como última pestaña abierta.

Actualización de la configuración

Con cierta periodicidad la función de intercepción verifica la presencia de componentes y configuraciones (el módulo ejecutable principal hace lo mismo de tiempo en tiempo). Todo el contenido se descarga desde el hosting “Amazon Web Services” o Cloudfront. La configuración se guarda en forma de ficheros cifrados dwl.bin, bl.bin. Los enlaces desde donde se hacen las descargas no se guardan de forma explícita, sino que se arman usando los fragmentos cifrados durante el proceso de trabajo.
Ejemplos de enlaces:
http://protectorlb-1556088852.us-east-1.elb.amazonaws.com/service/dwl.php
http://protectorlb-1556088852.us-east-1.elb.amazonaws.com/service/kbl.php

Expansión de las funciones, descarga de componentes adicionales

Para protegerse de la posible eliminación o corrupción y expandir el arsenal de métodos para trabajar con diferentes navegadores, el sistema puede descargar módulos adicionales.
Por ejemplo, como software adicional se pueden descargar módulos para Firefox. Veamos la forma exacta en que esto sucede.
Periódicamente BitGuard manda solicitudes al servidor y trata de descargar un fichero de texto con enlaces a los archivos con módulos adicionales. El enlace al fichero de texto se genera usando elementos de renglones que se encuentran en los recursos de la misma biblioteca: d1js21szq85hyn.cloudfront.net/ib/138/fflist.txt.
Para cada versión de BitGuard en lugar de ib y 138 en el renglón de URL habrá otros valores. Si la descarga del fichero de texto transcurre con éxito, cada versión de BitGuard recibirá su conjunto de enlaces de actualización. El contenido del fichero de texto luce así:
3;http://d1js21szq85hyn.cloudfront.net/ib/154/3.7z
5;http://d1js21szq85hyn.cloudfront.net/ib/154/5.7z
6;http://d1js21szq85hyn.cloudfront.net/ib/154/6.7z
7;http://d1js21szq85hyn.cloudfront.net/ib/154/7.7z
8;http://d1js21szq85hyn.cloudfront.net/ib/154/8.7z
9;http://d1js21szq85hyn.cloudfront.net/ib/154/9.7z
10;http://d1js21szq85hyn.cloudfront.net/ib/154/10.7z
11;http://d1js21szq85hyn.cloudfront.net/ib/154/11.7z
12;http://d1js21szq85hyn.cloudfront.net/ib/154/12.7z
13;http://d1js21szq85hyn.cloudfront.net/ib/154/13.7z
14;http://d1js21szq85hyn.cloudfront.net/ib/154/14.7z
15;http://d1js21szq85hyn.cloudfront.net/ib/154/15.7z
16;http://d1js21szq85hyn.cloudfront.net/ib/154/16.7z
18;http://d1js21szq85hyn.cloudfront.net/ib/154/18.7z

Cada uno de los archivos está numerado según el número del enlace en la lista y contiene la versión de la biblioteca que corresponde a la versión del navegador Firefox. Por ejemplo, el archivo número 16 contiene la biblioteca “bprotector-16.0.dll”.
BitGuard elige el enlace correspondiente del módulo adicional, lo descarga y lo registra. De esta manera el sistema BitGuard obtiene instrumentos adicionales para funcionar con Firefox.
También a veces se descargan componentes adicionales (si están disponibles) que permiten descargar actualizaciones desde otros dominios diferentes a AmazonAws y Cloudfront.

Comportamiento de la aplicación en el equipo del usuario

Ejemplo de módulo adicional

El troyano Trojan-Downloader.Win32.MultiDL.c, descubierto el 9 de julio de 2013 ejecuta la actualización de la biblioteca browserprotect.dll desde servidores alternativos. Este software se propagaba bastante activamente: sólo en julio de 2013 bloqueamos cerca de 500 000 intentos de infección en los equipos de los usuarios. Al pasar el tiempo su popularidad bajó: la cantidad de intentos bloqueados en enero de 2014 no superó los 26 000. En total, desde julio de 2013 hasta enero de 2014 se anularon intentos de infectar a 982 950 usuarios.
El fichero penetra al equipo del usuario junto con el instalador de NSIS (Nullsoft Scriptable Install System). BitGuard lo descarga desde el hosting AmazonAws (por ejemplo, protectorlb-1556088852.us-east-1.elb.amazonaws.com) y lo guarda en su directorio temporal con el nombre setup_fsu_cid.exe.
Después, BitGuard lanza el proceso de instalación en modo invisible (el usuario no visualiza ninguna ventana de diálogo):
"…\setup_fsu_cid.exe" /S
El instalador contiene dos programas. Como regla, uno no tiene ninguna relación con el esquema de actualización de la DLL descrito. En el caso de la modificación MultiDL.c, se trata de File Scout. Esta aplicación no se encuentra aparte del instalador y suponemos que los delincuentes la escribieron para crear la ilusión de ser una aplicación útil. El programa da detalles de los formatos de ficheros desconocidos, pero no tiene una base de datos offline de formatos de ficheros y envía al usuario a un sitio de terceros (suponemos que alguien paga por la misma).

Ventana de trabajo de File Scout
La segunda aplicación es una falsificación de Adobe Flash Player que realiza la descarga de la biblioteca relacionada con el sistema BitGuard. El troyano se disfraza de Adobe Flash Player Update Service versión 11.6 r602. Al principio el instalador setup_fsu_cid.exe descomprime el fichero ejecutable (.exe) del player falso en un directorio temporal, dándole un nombre corto, por ejemplo usvc.exe (C: \users\testwo~1\appdata\local\temp\nsy5f4f. tmp\usvc. exe).
Después se lanza el módulo ejecutable que se traslada a sí mismo a una carpeta con dirección C: \Windows\Syswow64\macromed\flash\flashplayer\flashplayerupdateservice.exe y registra la tarea de ejecución de sí mismo usando el servicio estándar de Windows “Tareas programadas” (es decir, usando el mismo método de BitGuard).
…\system32\schtasks.exe" /create /tn "AdobeFlashPlayerUpdate" /ru "SYSTEM" /sc hourly /mo 1 /tr "…\system32\flashplayerupdateservice.exe /w" /st 00:00:0
Después de esto, el troyano empieza a descargar la actualización de la DLL. Cada modificación de MultiDL ejecuta descargas desde diferentes dominios. Los enlaces de la actualización se diferencian de los que vemos en BitGuard (no se utilizan AmazonAws y Cloudfront). La lista de sitios cambia dependiendo de la modificación. Los enlaces se guardan de la misma manera que en la biblioteca browserprotect.dll, en forma de fragmentos cifrados. El enlace final se arma durante el funcionamiento del programa. He aquí algunos ejemplos de dominios desde donde se descargan bibliotecas:
autoavupd.net
autodbupd.net
srvupd.com
srvupd.net
updsvc.com
updsvc.net

La mayoría de los dominios está registrada en la Federación de Rusia, pero también hay dominios registrados en Ucrania e Inglaterra.
El contenido ubicado en los servidores puede no disponible estar periódicamente. Cuando escribíamos este artículo (marzo de 2014) no se descargaba nada desde estos sitios.
Estos módulos adicionales son una especie de seguro si se eliminan o borran las bibliotecas (browserprotect.dll / browserdefender.dll / bprotect.dll etc.) que son el principal instrumento del sistema BitGuard para controlar los navegadores. Si el usuario de alguna manera encuentra la forma de eliminar la biblioteca, los módulos de seguro la descargarán de nuevo y el proceso de suplantación de la configuración del navegador no cesará.

Conclusión

El sistema BitGuard modifica la configuración del navegador sin que el usuario se dé cuenta, incrusta su código en otros procesos, suplanta las páginas de inicio y de búsqueda y descarga ficheros maliciosos de Internet. Todas estas funciones nocivas se usan para lucrar: los dueños de BitGuard son miembros de una red de afiliados que promueve sitios web usando métodos ilegítimos (los enlaces a las páginas web se elevan a los primeros puestos de los resultados de la búsqueda).
Consideramos que los dueños de BitGuard y los de los sistemas y barras de búsqueda son diferentes personas u organizaciones. Alguien, por un pago determinado, proporciona el SDK o motor que mantiene la configuración de los navegadores en el equipo del usuario en un estado que les conviene a los dueños de los sistemas de búsqueda.
En primer lugar, la parametrización de la lógica de BitGuard lo insinúa. El mismo paquete no sabe qué búsqueda en concreto instalar en el navegador: las direcciones de las páginas están escritas en el fichero de configuración de BitGuard que se instala junto con la barra. En segundo lugar, observamos serias diferencias entre algunas barras, pero los componentes de BitGuard no tienen diferencias conceptuales entre sí.
Esquema de obtención de lucro con la instalación de BitGuard
BitGuard se puede descargar con cualquier barra de programas de afiliados, las barras por su parte tienen muchas fuentes de propagación. Esto explica el gran número de equipos infectados en todo el mundo:

Distribución geográfica de intentos de infección de equipos por los componentes de BitGuard
Empezando desde el 25 de agosto de 2013, se bloquearon los ficheros de BitGuard en los equipos de 3,8 millones de usuarios. Tomando en consideración que el dueño del sitio publicitado paga un promedio de 2 a 10 centavos de dólar por usuario remitido a su sitio, podemos hacer una apreciación aproximada de las ganancias de la red de afiliados.


Saludos.
Lexer Pars.

No hay comentarios:

Publicar un comentario