Агенцията за национална сигурност и Федералното бюро за разследване на САЩ
Контролният център 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) е свързана с групировката
Източник: opennet.ru