Управляющий центр «Дроворуба» аргументом командной строки получает путь к конфигурационному файлу в формате JSON:
        "db_host"       : "{DB_IP_ADDR>",        "db_port"       : "{DB_PORT>",        "db_db"         : "{DB_NAME>",        "db_user"       : "{DB_USER>",        "db_password"   : "{DB_PASS>",          "lport"         : "{LPORT>",        "lhost"         : "{LHOST>",        "ping_sec"      : "{SEC>",          "priv_key_file" : "{PRIVATE_KEY_FILE>",        "phrase"        : "{PHRASE>"  
В качестве бекенда используется СУБД MySQL. Для подключения клиентов используется протокол WebSocket.
Клиент имеет встроенную конфигурацию, в том числе URL сервера, его публичный ключ RSA, имя пользователя и пароль. После установки руткита конфигурация сохраняется в виде текстового файла в формате JSON, который скрывается от системы модулем ядра «Дроворуба»:
"id" : "cbcf6abc-466b-11e9-853b-000c29cb9f6f", "key": "Y2xpZW50a2V5"
Здесь «id» — уникальный идентификатор, выданный сервером, в котором последние 48 бит соответствуют MAC-адресу сетевого интерфейса сервера. Параметр «key» по умолчанию — закодированная в формате base64 строка «clientkey», которая используется сервером при первичном рукопожатии. Кроме этого, конфигурационный файл может содержать информацию о скрываемых файлах, модулях и сетевых портах:
        "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"                    }              ]        }  
Ещё один компонент «Дроворуба» — агент, его конфигурационный файл содержит информацию для подключения к серверу:
"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"
Поля «clientid» и «clientkey_base64» изначально отсутствуют, они добавляются после первичной регистрации на сервере.
После установки выполняются следующие операции:
- загружается модуль ядра, который регистрирует хуки для системных вызовов;
 - клиент выполняет регистрацию в модуле ядра;
 - модуль ядра скрывает работающий процесс клиента и его исполняемый файл на диске.
 
Для взаимодействия клиента с модулем ядра используется псевдостройство, например /dev/zero. Модуль ядра выполняет разбор всех записываемых в устройство данных, а для передачи в обратном направлении посылает клиенту сигнал SIGUSR1, после чего тот считывает данные из этого же устройства.
Для обнаружения «Дроворуба» можно использовать анализ сетевого трафика средствами NIDS (вредоносную сетевую активность в самой заражённой системе выявить не удаётся, так как модуль ядра скрывает используемые им сетевые сокеты, правила netfilter и пакеты, которые могли бы перехватиться raw-сокетами). В системе, где установлен «Дроворуб», можно обнаружить модуль ядра, отправив ему команду сокрытия файла:
touch testfile echo “ASDFZXCV:hf:testfile” > /dev/zero ls
Созданный файл «testfile» при этом становится невидимым.
Другие методы обнаружения включают анализ памяти и содержимого диска. Для предотвращения заражения рекомендуется использовать обязательную проверку подписи ядра и модулей, доступную начиная с версии ядра linux 3.7.
В отчёте содержатся правила Snort для обнаружения сетевой активности «Дроворуба» и правила Yara для детектирования его компонентов. Информации о наличии ебилдов пока нет.
Напомним, что 85 ГЦСС ГРУ (в/ч 26165) ассоциируется с группой APT28 (Fancy Bear), ответственной за многочисленные кибератаки.
Источник: http://www.opennet.ru/opennews/art.shtml?num=53545
