Зловреден софтуерен комплекс Drovorub заразява Linux OS

Агенцията за национална сигурност и Федералното бюро за разследване на САЩ публикува доклад, според който 85-ти главен център за специално обслужване Главно управление на Генералния щаб на руските въоръжени сили (85 GCSS GRU) се използва злонамерен софтуерен комплекс, наречен „Drovorub“. Drovorub включва руткит под формата на модул на ядрото на Linux, инструмент за прехвърляне на файлове и пренасочване на мрежови портове и контролен сървър. Клиентската част може да изтегля и качва файлове, да изпълнява произволни команди като root потребител и да пренасочва мрежовите портове към други мрежови възли.

Контролният център Drovorub получава пътя до конфигурационния файл във формат JSON като аргумент на командния ред:

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

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

"priv_key_file": " ",
"фраза": " »
}

MySQL DBMS се използва като бекенд. Протоколът WebSocket се използва за свързване на клиенти.

Клиентът има вградена конфигурация, включително URL адреса на сървъра, неговия RSA публичен ключ, потребителско име и парола. След инсталиране на rootkit конфигурацията се записва като текстов файл във формат JSON, който е скрит от системата от модула на ядрото Drovoruba:

{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
"ключ": "Y2xpZW50a2V5"
}

Тук "id" е уникален идентификатор, издаден от сървъра, в който последните 48 бита съответстват на MAC адреса на мрежовия интерфейс на сървъра. Параметърът "key" по подразбиране е base64 кодиран низ "clientkey", който се използва от сървъра по време на първоначалното ръкостискане. Освен това конфигурационният файл може да съдържа информация за скрити файлове, модули и мрежови портове:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"ключ": "Y2xpZW50a2V5",
"монитор": {
"файл": [
{
"активен": "вярно"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"маска": "тестов файл1"
}
],
"модул" : [
{
"активен": "вярно"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask": "testmodule1"
}
],
"net" : [
{
"активен": "вярно"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"порт": "12345",
"протокол": "tcp"
}
]}
}

Друг компонент на Drovorub е агентът, неговият конфигурационен файл съдържа информация за свързване към сървъра:

{
"client_login": "user123",
"client_pass": "pass4567",
"клиентски номер": "e391847c-bae7-11ea-b4bc-000c29130b71",
«clientkey_base64» : «Y2xpZW50a2V5»,
"pub_key_file" : "публичен_ключ",
"server_host": "192.168.57.100",
"server_port": "45122",
"server_uri":"/ws"
}

Полетата “clientid” и “clientkey_base64” първоначално липсват, те се добавят след първоначалната регистрация на сървъра.

След инсталирането се извършват следните операции:

  • зареден е модулът на ядрото, който регистрира куки за системни извиквания;
  • клиентът се регистрира с модул на ядрото;
  • Модулът на ядрото скрива работещия клиентски процес и неговия изпълним файл на диска.

Псевдоустройство, като /dev/zero, се използва за комуникация между клиента и модула на ядрото. Модулът на ядрото анализира всички данни, записани на устройството, и за предаване в обратна посока изпраща сигнала SIGUSR1 на клиента, след което чете данни от същото устройство.

За да откриете Lumberjack, можете да използвате анализ на мрежовия трафик с помощта на NIDS (злонамерената мрежова активност в самата заразена система не може да бъде открита, тъй като модулът на ядрото скрива мрежовите сокети, които използва, правилата на netfilter и пакетите, които могат да бъдат прихванати от необработени сокети) . В системата, където е инсталиран Drovorub, можете да откриете модула на ядрото, като му изпратите командата за скриване на файла:

тестов файл за докосване
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls

Създаденият файл „testfile“ става невидим.

Други методи за откриване включват анализ на съдържанието на паметта и диска. За предотвратяване на инфекция се препоръчва да се използва задължителна проверка на подписа на ядрото и модулите, налична от ядрото на Linux версия 3.7.

Докладът съдържа правила на Snort за откриване на мрежовата активност на Drovorub и правила на Yara за откриване на неговите компоненти.

Да припомним, че 85-а ГТССС ГРУ (в/п 26165) е свързана с групировката APT28 (Fancy Bear), отговорен за множество кибератаки.

Източник: opennet.ru