Axencia de Seguridade Nacional e Oficina Federal de Investigacións dos Estados Unidos
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
Fonte: opennet.ru