Análisis de malware

Malware Drovorub: qué es, cómo funciona y cómo prevenirlo | Destacado malware

30 de diciembre de por Pedro Tavares

Introducción

El malware es una amenaza que ha aumentado exponencialmente en los últimos años, con muchos hilos sofisticados que afectan a ciudadanos, dispositivos, organizaciones, estados-nación, etc. Una de las amenazas recientes reportadas por el FBI y la NSA es un nuevo malware para Linux desarrollado por piratas informáticos militares de Rusia, llamado Drovorub.

Según el análisis del FBI y la NSA, el malware parece estar asociado con el APT28 (Fancy Bear, Sednit) , un apodo dado a los piratas informáticos que operan desde la unidad militar 26165 de la Dirección Principal de Inteligencia del Estado Mayor Ruso (GRU) 85th Main. Centro de Servicios Especiales (GTsSS). Este malware se ha utilizado para implantar puertas traseras dentro de redes comprometidas para lograr persistencia, exfiltración y acceso posterior.

¡Conviértete en un ingeniero inverso certificado!

Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

Drovorub: cómo funciona

Drovorub es un kit de malware de Linux que aprovecha el kernel de Linux para infectar a las víctimas. Está equipado con un módulo de kernel rootkit, un módulo de transferencia de archivos, un módulo de reenvío de puertos y un servidor C2 que permite un control total sobre el dispositivo y la red infectados.

Cuando este malware se instala en el objetivo, proporciona la capacidad de comunicarse directamente con el servidor C2 controlado por delincuentes, descargar y cargar archivos de destino entre C2 y los dispositivos infectados, reenviar el tráfico de red a hosts arbitrarios y ejecutar comandos con privilegios de root. .

1: Diagrama de alto nivel de Drovorub con los componentes del malware.

La comunicación entre los módulos Drovorub se realiza utilizando JSON a través de WebSockets, como se ve en la 1. El agente Drovorub, el cliente Drovorub y el servidor Drovorub requieren archivos de configuración y una clave pública RSA (para el agente Drovorub y el cliente Drovorub) o clave privada (para el servidor Drovorub) para la comunicación.

A continuación se muestran breves descripciones de los módulos Drovorub.

Servidor Drovorub

El servidor está instalado y ejecutándose en el servidor C2 y es responsable de recibir y enviar mensajes a los agentes instalados en los dispositivos de la víctima. El servidor Drovorub utiliza una base de datos MySQL para gestionar los clientes (clientes y agentes de Drovorub). La base de datos almacena datos utilizados para el registro, la autenticación y la asignación de tareas del agente Drovorub y del cliente Drovorub.

2: Ejemplo del archivo de configuración del servidor Drovorub.

Drovorub-cliente

El componente cliente Drovorub se instala en los dispositivos de destino. Este componente es capaz de cargar y descargar archivos desde C2, reenviar puertos en la red interna y ejecutar comandos de privilegios gracias al módulo rootkit que proporciona funciones sigilosas para ocultar el cliente y los ganchos de explotación del módulo del kernel.

3: Archivo de configuración del agente Drovorub después del registro en un servidor Drovorub.

Módulo de núcleo Drovorub

El módulo Drovorub-kernel implementa la funcionalidad básica para ocultarse a sí mismo y a varios artefactos del espacio del usuario, incluidos archivos y directorios específicos, puertos de red, sesiones, etc.

Cuando se instala y ejecuta el módulo del kernel, se realizan las siguientes actividades, a saber:

Para realizar comunicaciones con C2, Drovorub utiliza JSON como formato de mensaje para sus cargas útiles WebSocket. Todas las comunicaciones tienen la misma estructura:

4: Estructura de carga útil JSON básica de Drovorub.

La 5 a continuación muestra la conexión WebSocket inicial que tanto el cliente Drovorub como el agente Drovorub utilizan para conectarse y autenticarse en el servidor Drovorub.

5: Conexión inicial de WebSocket y sesión de autenticación de Drovorub.

Agente Drovorub

El agente Drovorub se instala en hosts accesibles a Internet dentro de la infraestructura comprometida. Este agente ejecutable recibe comandos de su servidor Drovorub configurado e incluye gran parte de la misma funcionalidad que el cliente Drovorub, excepto por la capacidad de shell remoto.

El agente Drovorub no está equipado con el rootkit del módulo del kernel. El agente Drovorub solo se utiliza para cargar y descargar archivos desde los puntos finales del cliente Drovorub y para reenviar el tráfico de red a través de retransmisiones de puertos.

El cliente y el agente de Drovorub comparten algunas funciones, como la descarga y carga de archivos:

6: Secuencia de carga y descarga de archivos.

El siguiente diagrama ilustra un escenario potencial en el que se podría utilizar la configuración de túnel de puertos entre un agente Drovorub y un cliente Drovorub para retransmitir el tráfico de red a un host remoto dentro de la red comprometida donde reside la máquina infectada con el cliente Drovorub.

7: Ejemplo de configuración de «túnel».

Mediante el uso de esta panoplia de técnicas, Drovorub es visto como una de las amenazas más emergentes que atacan dispositivos Linux este año. A continuación se presentan algunas medidas de prevención y mitigación como una forma de responder rápidamente a incidentes en esta línea.

Medidas de prevención y mitigaciones.

Para evitar ataques en estado salvaje, las organizaciones deben actualizar cualquier sistema Linux a una versión que ejecute la versión 3.7 o posterior del kernel, «para aprovechar al máximo la aplicación de la firma del kernel», una característica de seguridad que evitaría que los piratas informáticos de APT28 instalen el rootkit de Drovorub. .

Por otro lado, el uso de sistemas de detección como los Sistemas de Detección de Intrusiones en la Red (NIDS) como Suricata, Snort, Zeek y agentes basados ​​en host debe verse como una medida obligatoria para bloquear intentos maliciosos y activar una notificación cuando se detecta actividad anormal. . Asimismo, se recomienda el uso de productos de seguridad en entornos Linux, incluidos antivirus, agentes de detección de endpoints y respuesta. Para la detección basada en host, la NSA proporciona las siguientes soluciones:

Además, se recomienda a los administradores de sistemas que endurezcan sus sistemas para cargar sólo módulos con una firma digital válida, lo que hace que los sistemas sean más resistentes a ataques maliciosos al kernel a través de rootkit.

Fuentes

La NSA y el FBI exponen el malware ruso «Drovorub» no revelado previamente en un aviso de ciberseguridad, NSA

El GRU 85.º GTsSS ruso implementa malware Drovorub no revelado previamente , NSA

Drovorub “Llevando los sistemas a la trituradora de madera” – Lo que necesita saber , El estado de la seguridad

El FBI y la NSA exponen el nuevo malware para Linux Drovorub, utilizado por piratas informáticos estatales rusos , ZDNet