Análisis de Linux/Moose, el gusano que ataca routers basados en Linux

Hoy publicamos un paper de investigación titulado “Dissecting Linux/Moose”, donde se analiza una familia de malware que ataca principalmente los routers basados en Linux, pero que también puede infectar otros tipos de dispositivos con sistema Linux integrado que se le crucen en el camino. Este artículo resume algunas ideas del informe completo.

moose_diagrama

Características generales de Linux/Moose

Linux/Moose es un archivo ejecutable estándar para Linux que tiene la forma de un binario ELF compilado en forma estática, al que se le quitaron todos los símbolos de depuración. Su funcionamiento se basa esencialmente en el uso de subprocesos múltiples, llegando a emplear unos 36 subprocesos. Puede clasificarse como un gusano, dado que el propósito de la mayoría de sus subprocesos es encontrar otros dispositivos e infectarlos automáticamente.

El siguiente diagrama muestra las funcionalidades de Moose:

funcionamiento_moose

El monitoreo que hicimos de la botnet indica que esta amenaza se usa para robar cookies HTTP no cifradas en sitios de redes sociales populares y para cometer fraudes, como por ejemplo usar una conexión SOCKS integrada en el malware para contactarse con un servidor proxy y así “seguir” cuentas o “ver” videos de estas redes populares.

El primer día en que el usuario apareció en la red

El primer día en que el usuario apareció en la red

Al día siguiente

Al día siguiente

Éste es un ejemplo proveniente de una solicitud HTTP que atravesaba el proxy operado por el malware:

solicitud_http

Cabe notar que el servidor actualiza la conexión a HTTPS de inmediato. Casi todo el tráfico está cifrado con HTTPS, por lo que no podemos asegurar con precisión qué acciones realizaron los operadores.

Al monitorear durante un mes uno de los hosts infectados, notamos que el tráfico se dirigía a los siguientes sitios de redes sociales:

  • Fotki (Yandex)
  • Instagram (Facebook)
  • Live (Microsoft)
  • Soundcloud
  • Twitter
  • Vine
  • Yahoo
  • Youtube (Google)

El dominio de la red social afectada aparece en el campo “Subject” del certificado, en el protocolo handshake de TLS para el tráfico seguro HTTPS.

Las siguientes son las peticiones que se envían a diario a sitios de redes sociales desde un solo router infectado:

peticiones_router

A continuación se ilustra cuáles fueron las redes sociales más afectadas en dicho período:

redes_sociales_afectadas

Durante nuestro análisis, con frecuencia nos preguntábamos: ¿para qué poner tanto esfuerzo en interactuar con las redes sociales? Pero, por supuesto, existe un mercado para comprar seguidores de Twitter, Me Gusta de Facebook, visualizaciones de YouTube, entre muchas otras cosas más. Los operadores de esta botnet generan ganancias mediante los fraudes de redes sociales. Gracias a los routers infectados, pueden distribuir tráfico malicioso a través de las redes sociales aprovechando la buena reputación de las direcciones IP de proveedores de servicios de Internet (ISP) confiables.

Esta amenaza en particular tiene una capacidad fuera de lo común para introducirse en las redes, al compararla con otros códigos maliciosos que infectan routers. Además, Moose es capaz de secuestrar DNS y detiene los procesos de otras familias de malware presentes en el dispositivo, que puedan competir por los recursos limitados que ofrece el sistema infectado. El informe completo suministra más detalles, incluyendo el protocolo de red utilizado para comunicarse con los servidores de Comando y Control (C&C).

Código desarrollado para la investigación, indicadores de sistemas comprometidos y más

Además del whitepaper, también estamos publicando otros recursos para la comunidad. En primer lugar, decidimos divulgar el código completo desarrollado para monitorear esta amenaza en nuestra cuenta de Github para investigación de malware. No creemos que sea muy útil guardarnos los scripts solo para nosotros. Aunque este código se creó en un laboratorio de investigación y no está tan pulido como el código final que incluimos en nuestros productos terminados, esperamos que les sirva a nuestros pares de la industria, a la comunidad de Linux y a los futuros analistas de malware.

En segundo lugar, estamos buscando ayuda para confirmar cuáles son los fabricantes de dispositivos y los modelos afectados. Para ello, proporcionamos instrucciones para que puedas confirmar si Linux/Moose podría llegar a infectar tus dispositivos. Mantendremos esta lista de fabricantes afectados siempre actualizada.

Por último, también están disponibles los indicadores de sistemas comprometidos. Aquí se incluyen todas las direcciones IP de C&C codificadas en forma rígida, la lista actual de direcciones IP de C&C dinámicas, instrucciones sobre cómo confirmar si un sistema en particular está infectado, los hashes de archivos maliciosos, y las reglas YARA. También damos instrucciones para el que desee verificar si un archivo arbitrario es un binario Linux/Moose.

Desinfección

Reinicia el dispositivo afectado y luego cambia tu contraseña lo antes posible. Sin embargo, recuerda que los operadores accedían al sistema infectado a través de credenciales que eran de su conocimiento, que también sabían su dirección IP y que contaban con los medios para acceder a su consola interactiva.

Es posible que hayan accedido en forma manual, lo que significa que pueden volver a infectar el dispositivo y pueden hacer modificaciones permanentes en el firmware (el enlace está en alemán). Lo mejor probablemente sea restablecer la configuración del dispositivo a su versión de fábrica, actualizar o reinstalar el firmware y cambiar la contraseña.

Prevención

Cambia las contraseñas predeterminadas en los equipos de red aunque no se pueda acceder a ellos desde Internet. Deshabilita el protocolo Telnet para inicio de sesión y utiliza SSH siempre que sea posible.

Asegúrate de que no se pueda acceder a tu router desde Internet en los puertos 22 (SSH), 23 (Telnet), 80 (HTTP) y 443 (HTTPS). Si no sabes cómo hacerlo, cuando estés en casa, usa la exploración de puertos comunes (“common ports”) en el servicio ShieldsUP de GRC.com. Verifica que los puertos mencionados arriba tengan el estado “Stealth” (oculto) o “Closed” (cerrado).

También se recomienda tener el último firmware que ofrece el fabricante de tu dispositivo con Linux integrado.

Accede al whitepaper de ESET “Dissecting Linux/Moose” (en inglés).

Autor Olivier Bilodeau, ESET

Síguenos