La siguiente publicación es una traducción y adaptación del post “Orbital Decay: the dark side of a popular file downloading tool” escrito por Aryeh Goretsky y publicada en We Live Security.
Orbit Downloader es un popular gestor de descargas para navegadores web. Su función no solo se limita a acelerar las descargas, sino también permite descargar contenidos multimedia embebidos en sitios como YouTube. A continuación se muestra una captura de la interfaz gráfica de Orbit Downloader (hacer clic para agrandar imagen):
Orbit se encuentra disponible desde al menos 2006 y como muchos otros programas, su uso es gratuito. El desarrollador del programa genera ganancias utilizando componentes como OpenCandy, cuyo objetivo es instalar otras aplicaciones y mostrar publicidad. Este esquema de ganancia es un comportamiento habitual y uno de los aspectos que los investigadores de ESET deben considerar al momento de determinar si un software será clasificado como Programa Potencialmente Indeseable (PUA). Pese a que dentro del laboratorio este procedimiento es bastante rutinario, se trata de un proceso que requiere de un análisis profundo debido a que los criterios para clasificar un programa como PUA varían de caso a caso.
Lo que no es rutinario ni común es que un programa popular contenga rutinas de código destinadas a realizar ataques de Denegación de Servicio (DoS), característica que pudo detectar nuestro Equipo de Investigación durante un análisis estándar de Orbit Downloader. El tiempo y popularidad de Orbit (aparece listado en varios sitios como uno de los programas más descargados dentro de su categoría), permiten inferir que este programa puede convertirse en una verdadera herramienta de Ataques Distribuidos de Denegación de Servicio (DDoS). Los productos de ESET detectan las versiones de Orbit que incluyen el comportamiento citado anteriormente como Win32/DDoS.Orbiter.A. Asimismo, al final de este post se detallan las implicancias que puede tener un ataque DoS para el usuario final.
Características de Orbit
Entre el lanzamiento de la versión 4.1.1.14 (25 de diciembre de 2012) y 4.1.1.15 (10 de enero de 2013), se agregó un componente adicional al archivo orbitdm.exe, ejecutable principal de Orbit Downloader. Esto es lo que hace dicho componente:
- Cuando orbitdm.exe es ejecutado, envía una petición HTTP GET al servidor de Orbit Downloader (hXXp://obupdate.orbitdownloader.com/update/myinfo.php).
- El servidor responde con dos URL que contienen más información:
- La primera URL denominada “url”, actualmente apunta a una librería DLL que es descargada silenciosamente por el software. Los Investigadores de ESET han detectado docenas de versiones diferentes de esta librería DLL.
- La segunda URL denominada “param”, genera una respuesta utilizando una petición HTTP POST que varía de acuerdo al idioma del sistema del usuario. En base a la investigación, el archivo de configuración por lo general no posee instrucciones interesantes de destacar, solo valores en cero:
[update]
begintime=00000000000000
endtime=00000000000000
Sin embargo, se pudo observar una respuesta en particular bastante interesante:
[update]
url=http://www.kkk.com
exclude=
param=200
Desconocemos por qué el sitio de Ku-Klux Clan fue elegido, más si se considera que no se observó ninguna página similar. Podría tratarse de una prueba realizada por los desarrolladores para corroborar el funcionamiento del componente. La siguiente imagen muestra la captura de un paquete que incluye la petición HTTP GET que realiza Orbit Downloader. Esto ocurre en el momento en que se descarga el archivo de configuración utilizado para atacar dicho sitio utilizando la librería DLL mencionada anteriormente:
El análisis de la librería DLL permitió revelar una función exportada cuyo nombre es SendHTTP y que realiza las siguientes acciones:
- Descarga un archivo de configuración ofuscado que contiene una lista de blancos a atacar.
- Realiza el ataque en contra de los blancos listados en el archivo de configuración.
La siguiente es una captura de uno de los archivos de configuración:
Una vez desofuscado, se pueden observar entradas en formato de URL seguidas de un signo igual “=” y una dirección IP. El formato utilizado es el siguiente: "ejemplo.com/sitio=xxx.xxx.xxx.xxx". La primera parte es la dirección del blanco que será objeto del ataque DoS. Las direcciones IP son generadas aleatoriamente para ocultar la identidad del equipo atacante. Algunas veces, los archivos de configuración estaban vacíos, lo que podría indicar que no existían objetivos de ataque en ese momento. Asimismo, se pudo observar dos tipos de ataques:
- Si WinPcap está presente, Orbit envía paquetes TCP SYN especialmente manipulados a través del puerto 80 utilizando direcciones IP aleatorias. Este tipo de ataque DoS es conocido como SYN flood. Es importante considerar que WinPcap es una herramienta legítima que no está involucrada en este ataque.
- Si WinPcap no está presente, los paquetes TCP son enviados conteniendo una petición HTTP en el puerto 80 y en el puerto 53 en el caso de UDP a través de las máquinas atacadas.
Aunque ambos ataques son básicos, pueden resultar altamente eficientes debido al rendimiento que se pudo observar: en un computador del laboratorio equipado con una tarjeta Ethernet gigabit, las peticiones HTTP fueron enviadas a una velocidad de 140.000 paquetes por segundo. Asimismo, se utilizaron varias direcciones IP falsas para ocultar el origen real del ataque y simular que proviene de Vietnam. Ese rango de direcciones IP se encontraban programadas dentro del código de la DLL analizada, sin embargo, futuras versiones de dicha librería podrían utilizar rangos diferentes.
Excentricidades de Orbit:
Como se mencionó anteriormente, el archivo de configuración que descarga Orbit Downloader se encuentra cifrado (encriptado) para evitar que un análisis casual revele el verdadero propósito de tal fichero. En una primera etapa, el archivo es cifrado utilizando base64, esquema de codificación utilizado para enviar binarios como archivos adjuntos en correos electrónicos. Luego, la información es encriptada utilizando una cadena XOR de 32 caracteres. Esa cadena de 32 caracteres es el hash MD5 de una contraseña de nueve caracteres que se encuentra codificada dentro del archivo DLL. Transcurrida esta operación, cada par de bytes consecutivos son unidos a través de una cadena XOR para generar un único byte de texto plano. Pese a que cada descarga de la información cifrada varía, el contenido es el mismo una vez que se descifran los datos.
Detalles históricos de Orbit:
Analizando versiones anteriores de Orbit Downloader se pudo estimar que esta funcionalidad DoS se encuentra presente hace tiempo aunque en un archivo llamado orbitnet.exe y no orbitDM.exe como sucede en la versión actual. Otro cambio es que la versión antigua descargaba el archivo de configuración de static.koramgame.com y no del dominio orbitdownloader.com. Curiosamente, la versión de orbitnet.exe que contiene la rutina de código DoS (versión 2.6.0.7) no formó parte de ningún paquete de instalación lanzado por Orbit Downloader, sin embargo, una versión más antigua (2.6.0.4) aparentemente está siendo distribuida con la versión actual de Orbit Downloader (4.1.1.18) que fue lanzada el 2 de mayo de 2013.
Conclusión: ¿Qué significa todo esto para un usuario?
Pese a que estamos igual de desconcertados que cualquier persona que se pregunta por qué un software de descarga popular incluye rutinas actualizables para realizar ataques DDoS, los productos de ESET protegen a los usuarios a partir de la actualización número 8604 de la firma de virus. Aunque el blanco de estos ataques no es el computador del usuario final per se, su equipo sí se ve involucrado en acciones maliciosas que en ningún momento se conocen ni menos consienten. Asimismo, un ataque DoS es ilegal en la mayoría de los países, lo que podría tener implicancias importantes para el usuario. Por otro lado, este tipo de acción ocupa un excesivo ancho de banda de la conexión a Internet del computador, lo que obviamente puede disminuir considerablemente la calidad del servicio. Mientras la porción de código no sea removida o la empresa explique el porqué de esta acción, se recomienda utilizar un gestor de descargas alternativo.
Agradecimientos a nuestros colegas Daniel, David, Hugo, Jean-Ian, Peter y Pierre-Marc por la asistencia brindada en este análisis.
Traducido y adaptado por André Goujon
Especialista de Awareness & Research