Los investigadores de ESET han descubierto una familia de malware previamente desconocida que utiliza módulos personalizados y bien diseñados para atacar a sistemas que corren Linux. Los módulos utilizados por esta familia de malware, a la cual hemos denominado FontOnLake, están en constante desarrollo y brindan a los operadores acceso remoto, permite recopilar credenciales y sirven como un servidor proxy. En esta publicación, resumimos los hallazgos que explicamos con más detallamos en nuestro whitepaper.
Para recopilar datos (por ejemplo, credenciales ssh) o realizar otra actividad maliciosa, esta familia de malware utiliza binarios legítimos modificados que son ajustados para cargar más componentes. De hecho, para ocultar su existencia, la presencia de FontOnLake siempre va acompañada de un rootkit. Estos binarios como cat, kill o sshd se utilizan comúnmente en sistemas Linux y, además, pueden servir como mecanismo de persistencia.
La naturaleza camaleónica de las herramientas de FontOnLake en combinación con un diseño avanzado y una baja prevalencia sugiere que son utilizadas en ataques dirigidos.
El primer archivo conocido de esta familia de malware apareció en VirusTotal en mayo pasado y se cargaron otras muestras a lo largo del año. La ubicación del servidor C&C y los países desde los que se cargaron las muestras en VirusTotal podrían indicar que sus objetivos incluyen el sudeste asiático.
Creemos que los operadores de FontOnLake son particularmente cautelosos, ya que casi todas las muestras analizadas utilizan servidores C&C únicos con diferentes puertos no estándar. Los autores utilizan principalmente C/C ++ y varias bibliotecas de terceros, como Boost, Poco, o Protobuf. Ninguno de los servidores de C&C utilizados en las muestras cargadas a VirusTotal estaban activos al momento de escribir este artículo, lo que indica que podrían haberse desactivado debido a la carga.
Los componentes actualmente conocidos de FontOnLake se pueden dividir en tres grupos que interactúan entre sí:
Descubrimos múltiples aplicaciones troyanizadas; se utilizan principalmente para cargar módulos personalizados de backdoor o rootkit. Aparte de eso, también pueden recopilar datos confidenciales. Lo más probable es que los parches de las aplicaciones se apliquen a nivel de código fuente, lo que indica que las aplicaciones deben haber sido compiladas y reemplazadas por las originales.
Todos los archivos troyanizados son utilidades estándar de Linux y cada uno sirve como método de persistencia porque normalmente se ejecutan al iniciar el sistema. Se desconoce la forma en que inicialmente estas aplicaciones troyanizadas llegan a sus víctimas.
Los tres backdoors diferentes que descubrimos están escritos en C++ y todos usan, aunque de forma ligeramente diferente, la misma biblioteca Asio de Boost para redes asíncronas y entradas/salidas de bajo nivel. También utilizan Poco, Protobuf y funciones de STL como punteros inteligentes. Lo que es raro en el malware es el hecho de que estos backdoors también presentan una serie de patrones de diseño de software.
La funcionalidad que todos tienen en común es que cada uno exfiltra las credenciales recopiladas y su historial de comandos bash a su C&C.
Teniendo en cuenta la superposición de funciones, lo más probable es que estos diferentes backdoors no se utilicen juntos en un sistema comprometido.
Además, todos los backdoors utilizan comandos de heartbeat personalizados que son enviados y recibidos periódicamente para mantener activa la conexión.
La funcionalidad principal de estos backdoors consta de los siguientes métodos:
Descubrimos dos versiones diferentes del rootkit, utilizadas de a una a la vez, en cada uno de los backdoors. Existen diferencias significativas entre esos dos rootkits, sin embargo, ciertos aspectos de ellos se superponen. Aunque las versiones de rootkit se basan en el proyecto de código abierto suterusu, contienen varias de sus técnicas exclusivas y personalizadas.
La funcionalidad combinada de estas dos versiones del rootkit que descubrimos incluye:
Tras nuestro descubrimiento y mientras finalizamos nuestro whitepaper sobre este tema, proveedores como Tencent Security Response Center, Avast y Lacework Labs publicaron su investigación sobre lo que parece ser el mismo malware.
Todos los componentes conocidos de FontOnLake son detectados por los productos ESET como Linux/FontOnLake. Las empresas o personas que deseen proteger sus terminales o servidores de Linux de esta amenaza deben utilizar un producto de seguridad de varias capas y una versión actualizada de su distribución de Linux. Algunas de las muestras que hemos analizado fueron creadas específicamente para CentOS y Debian.