El conjunto de malware ‘Leñador’ infecta el sistema operativo Linux

La Agencia de Seguridad Nacional y el FBI de EE.UU. publicaron un informe, según el cual el 85.º Centro Principal de Servicios Especiales GU GSh VS RF (85 GTsSS GRU) utiliza un conjunto de malware llamado «Drovodub». El «Drovodub» incluye un rootkit en forma de módulo del núcleo de Linux, una herramienta para enviar archivos y redirigir puertos de red, y un servidor de control. La parte del cliente puede descargar y cargar archivos, ejecutar comandos arbitrarios en nombre del usuario root y redirigir puertos de red a otros nodos de la red.

El centro de control del «Drovodub» recibe en la línea de comandos la ruta al archivo de configuración en formato JSON:

{
«db_host» : «»,
«db_port» : «»,
«db_db» : «»,
«db_user» : «»,
«db_password» : «»,

«lport» : «»,
«lhost» : «»,
«ping_sec» : «»,

«priv_key_file» : «»,
«phrase» : «»
}

Como backend se utiliza una base de datos MySQL. Para conectar a los clientes se usa el protocolo WebSocket.

El cliente tiene una configuración incorporada, incluidos la URL del servidor, su clave pública RSA, nombre de usuario y contraseña. Después de instalar el rootkit, la configuración se guarda como un archivo de texto en formato JSON, que se oculta del sistema mediante el módulo del núcleo «Drovodub»:

{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
«key»: «Y2xpZW50a2V5»
}

Aquí, «id» es un identificador único emitido por el servidor, donde los últimos 48 bits corresponden a la dirección MAC de la interfaz de red del servidor. El parámetro «key» por defecto es una cadena codificada en base64 «clientkey», que utiliza el servidor durante el primer apretón de manos. Además, el archivo de configuración puede contener información sobre archivos ocultos, módulos y puertos de red:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
«key»: «Y2xpZW50a2V5»,
«monitor» : {
«file» : [
{
«active» : «true»,
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
«mask» : «testfile1»
}
],
«module» : [
{
«active» : «true»,
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
«mask» : «testmodule1»
}
],
«net» : [
{
«active» : «true»,
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
«port» : «12345»,
«protocol» : «tcp»
}
]
}
}

Otro componente de «Drovodub» es el agente, su archivo de configuración contiene información para la conexión al servidor:

{
«client_login» : «user123»,
«client_pass» : «pass4567»,
«clientid» : «e391847c-bae7-11ea-b4bc-000c29130b71»,
«clientkey_base64» : «Y2xpZW50a2V5»,
«pub_key_file» : «public_key»,
«server_host» : «192.168.57.100»,
«server_port» : «45122»
«server_uri» :»/ws»
}

Los campos «clientid» y «clientkey_base64» no están presentes inicialmente, se añaden después del registro inicial en el servidor.

Después de la instalación, se realizan las siguientes operaciones:

  • se carga el módulo del núcleo, que registra ganchos para las llamadas del sistema;
  • el cliente se registra en el módulo del núcleo;
  • el módulo del núcleo oculta el proceso en ejecución del cliente y su archivo ejecutable en el disco.

Para la interacción del cliente con el módulo del núcleo se utiliza un pseudo-dispositivo, por ejemplo /dev/zero. El módulo del núcleo analiza todos los datos escritos en el dispositivo y, para la transmisión en sentido inverso, envía al cliente la señal SIGUSR1, tras lo cual éste lee los datos de ese mismo dispositivo.

Para detectar «Drovoru» se puede usar el análisis del tráfico de red a través de herramientas NIDS (no se puede identificar la actividad maliciosa en el sistema infectado, ya que el módulo del núcleo oculta los sockets de red que utiliza, las reglas de netfilter y los paquetes que podrían ser interceptados por sockets crudos). En un sistema donde está instalado «Drovoru», se puede detectar el módulo del núcleo enviándole un comando para ocultar el archivo:

touch testfile
echo “ASDFZXCV:hf:testfile” > /dev/zero
Muestra el contenido del directorio. Si no se proporciona una ruta, se muestra el contenido del directorio actual.

El archivo creado «testfile» se vuelve invisible.

Otros métodos de detección incluyen el análisis de la memoria y el contenido del disco. Para prevenir la infección, se recomienda utilizar una verificación obligatoria de la firma del núcleo y de los módulos, disponible desde la versión 3.7 del núcleo de linux.

El informe contiene reglas de Snort para la detección de la actividad de red de «Drovoru» y reglas de Yara para detectar sus componentes.

Recordemos que la 85 GCS GRU (v/ch 26165) se asocia con el grupo APT28 (Fancy Bear), responsable de numerosos ciberataques.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster