O complexo de malware Drovorub infecta o sistema operativo Linux

Axencia de Seguridade Nacional e Oficina Federal de Investigacións dos Estados Unidos publicou un informe, segundo o cal o centro principal 85 de servizo especial Dirección Xeral do Estado Maior das Forzas Armadas Rusas (85 GCSS GRU) úsase un complexo de malware chamado "Drovorub". Drovorub inclúe un rootkit en forma de módulo de núcleo de Linux, unha ferramenta para transferir ficheiros e redireccionar portos de rede e un servidor de control. A parte do cliente pode descargar e cargar ficheiros, executar comandos arbitrarios como usuario root e redirixir os portos de rede a outros nodos de rede.

O centro de control de Drovorub recibe a ruta do ficheiro de configuración en formato JSON como argumento da liña de comandos:

{
"db_host" : " ",
"db_port" : " ",
"db_db" : " ",
"db_user" : " ",
"db_password" : " ",

"lport" : " ",
"lhost" : " ",
"ping_sec" : " ",

"priv_key_file" : " ",
"frase": " »
}

MySQL DBMS úsase como backend. O protocolo WebSocket úsase para conectar clientes.

O cliente ten unha configuración integrada, incluíndo o URL do servidor, a súa chave pública RSA, nome de usuario e contrasinal. Despois de instalar o rootkit, a configuración gárdase como un ficheiro de texto en formato JSON, que o módulo do núcleo de Drovoruba oculto do sistema:

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

Aquí "id" é un identificador único emitido polo servidor, no que os últimos 48 bits corresponden ao enderezo MAC da interface de rede do servidor. O parámetro "key" predeterminado é unha cadea codificada en base64 "clientkey" que utiliza o servidor durante o enlace inicial. Ademais, o ficheiro de configuración pode conter información sobre ficheiros, módulos e portos de rede ocultos:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"key": "Y2xpZW50a2V5",
"monitor" : {
"ficheiro": [
{
"active": "verdadeiro"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"mask": "ficheiro de proba1"
}
],
"módulo": [
{
"active": "verdadeiro"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"máscara": "modulo de proba1"
}
],
"rede" : [
{
"active": "verdadeiro"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"port" : "12345",
"protocolo": "tcp"
}
]}
}

Outro compoñente de Drovorub é o axente; o seu ficheiro de configuración contén información para conectarse ao servidor:

{
"client_login": "usuario123",
"client_pass" : "pass4567",
"cliente" : "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"
}

Os campos "clientid" e "clientkey_base64" faltan inicialmente; engádense despois do rexistro inicial no servidor.

Despois da instalación, realízanse as seguintes operacións:

  • está cargado o módulo do núcleo, que rexistra os ganchos para as chamadas do sistema;
  • o cliente rexístrase cun módulo do núcleo;
  • O módulo do núcleo oculta o proceso cliente en execución e o seu ficheiro executable no disco.

Un pseudo-dispositivo, por exemplo /dev/zero, úsase para comunicarse entre o cliente e o módulo do núcleo. O módulo do núcleo analiza todos os datos escritos no dispositivo e, para a súa transmisión na dirección oposta, envía o sinal SIGUSR1 ao cliente, despois de que le os datos do mesmo dispositivo.

Para detectar o Lumberjack, pode utilizar a análise do tráfico de rede mediante NIDS (non se pode detectar a actividade de rede maliciosa no propio sistema infectado, xa que o módulo do núcleo oculta os sockets de rede que usa, as regras de netfilter e os paquetes que poderían ser interceptados por sockets en bruto) . No sistema onde está instalado Drovorub, pode detectar o módulo do núcleo enviándolle o comando para ocultar o ficheiro:

ficheiro de proba táctil
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls

O ficheiro "testfile" creado faise invisible.

Outros métodos de detección inclúen a análise do contido da memoria e do disco. Para evitar a infección, recoméndase empregar a verificación de sinatura obrigatoria do núcleo e dos módulos, dispoñible a partir da versión 3.7 do núcleo de Linux.

O informe contén regras de Snort para detectar a actividade de rede de Drovorub e regras de Yara para detectar os seus compoñentes.

Lembremos que o 85º GTSSS GRU (unidade militar 26165) está asociado ao grupo APT28 (Oso de fantasía), responsable de numerosos ataques cibernéticos.

Fonte: opennet.ru