Комплекс зловреден софтуер «Дроворуб» заразява операционна система Linux

Агенцията за национална сигурност и Федералното бюро за разследвания на САЩ публикуваха отчет, според който 85-ия главен център на специалната служба ГУ ГШ ВС РФ (85 ГЦСС ГРУ) използва комплекс зловреден софтуер, наречен «Дроворуб». В състава на «Дроворуб» влизат руткит в форма на модул на ядрото на Linux, инструмент за прехвърляне на файлове и пренасочване на мрежови портове и управляващ сървър. Клиентската част може да изтегля и качва файлове, да изпълнява произволни команди от името на потребител root и да пренасочва мрежови портове към други нодове на мрежата.

Управляващият център на «Дроворуба» получава аргумент на командния ред, съдържащ пътя до конфигурационния файл във формат 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“ по този начин става невидим.

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

В отчета се съдържат правила Snort за откриване на мрежова активност на „Дроворуба“ и правила Yara за детектиране на неговите компоненти.

Напомняме, че 85 ГЦСС ГРУ (в/ч 26165) е асоцииран с групата APT28 (Fancy Bear), отговорна за многобройни кибератаки.

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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster