Suicide
14.08.2020, 19:46
Агентство национальной безопасности и Федеральное бюро расследований США опубликовали отчёт (https://media.defense.gov/2020/Aug/13/2002476465/-1/-1/0/CSA_DROVORUB_RUSSIAN_GRU_MALWARE_AUG_2020.PDF), согласно которому 85-м главным центром специальной службы ГУ ГШ ВС РФ (https://structure.mil.ru/structure/ministry_of_defence/details.htm?id=9711@egOrganization) (85 ГЦСС ГРУ) используется комплекс вредоносного ПО под названием «Дроворуб» (Drovorub). В состав «Дроворуба» входят руткит в виде модуля ядра Linux, инструмент для пересылки файлов и перенаправления сетевых портов и управляющий сервер. Клиентская часть может скачивать и выгружать файлы, выполнять произвольные команды от имени пользователя root и перенаправлять сетевые порты на другие узлы сети.
Управляющий центр «Дроворуба» аргументом командной строки получает путь к конфигурационному файлу в формате JSON:
Code:
{
"db_host" : "",
"db_port" : "",
"db_db" : "",
"db_user" : "",
"db_password" : "",
"lport" : "",
"lhost" : "",
"ping_sec" : "",
"priv_key_file" : "",
"phrase" : ""
}
В качестве бекенда используется СУБД MySQL. Для подключения клиентов используется протокол WebSocket.
https://www.opennet.ru/opennews/pics_base/0_1597383920.png
Клиент имеет встроенную конфигурацию, в том числе URL сервера, его публичный ключ RSA, имя пользователя и пароль. После установки руткита конфигурация сохраняется в виде текстового файла в формате JSON, который скрывается от системы модулем ядра «Дроворуба»:
Code:
{
"id" : "cbcf6abc-466b-11e9-853b-000c29cb9f6f",
"key": "Y2xpZW50a2V5"
}
Здесь "id" — уникальный идентификатор, выданный сервером, в котором последние 48 бит соответствуют MAC-адресу сетевого интерфейса сервера. Параметр "key" по умолчанию — закодированная в формате base64 строка "clientkey", которая используется сервером при первичном рукопожатии. Кроме этого, конфигурационный файл может содержать информацию о скрываемых файлах, модулях и сетевых портах:
Code:
{
"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"
}
]
}
}
Ещё один компонент «Дроворуба» — агент, его конфигурационный файл содержит информацию для подключения к серверу:
Code:
{
"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 ГЦСС ГРУ основано на выявленном компанией Microsoft использовании одного и того же IP-адреса, который применялся для доступа к управляющему серверу Drovorub и также фигурировал в ассоциированной с группой STRONTIUM (APT28) атаке, поражавшей IoT-устройства в апреле 2019 года. Напомним, что 85 ГЦСС ГРУ (в/ч 26165) связывается с группой APT28 (Fancy Bear) (https://en.wikipedia.org/wiki/Fancy_Bear), ответственной за многочисленные кибератаки.
13.08.2020
https://www.opennet.ru/opennews/art.shtml?num=53545
Управляющий центр «Дроворуба» аргументом командной строки получает путь к конфигурационному файлу в формате JSON:
Code:
{
"db_host" : "",
"db_port" : "",
"db_db" : "",
"db_user" : "",
"db_password" : "",
"lport" : "",
"lhost" : "",
"ping_sec" : "",
"priv_key_file" : "",
"phrase" : ""
}
В качестве бекенда используется СУБД MySQL. Для подключения клиентов используется протокол WebSocket.
https://www.opennet.ru/opennews/pics_base/0_1597383920.png
Клиент имеет встроенную конфигурацию, в том числе URL сервера, его публичный ключ RSA, имя пользователя и пароль. После установки руткита конфигурация сохраняется в виде текстового файла в формате JSON, который скрывается от системы модулем ядра «Дроворуба»:
Code:
{
"id" : "cbcf6abc-466b-11e9-853b-000c29cb9f6f",
"key": "Y2xpZW50a2V5"
}
Здесь "id" — уникальный идентификатор, выданный сервером, в котором последние 48 бит соответствуют MAC-адресу сетевого интерфейса сервера. Параметр "key" по умолчанию — закодированная в формате base64 строка "clientkey", которая используется сервером при первичном рукопожатии. Кроме этого, конфигурационный файл может содержать информацию о скрываемых файлах, модулях и сетевых портах:
Code:
{
"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"
}
]
}
}
Ещё один компонент «Дроворуба» — агент, его конфигурационный файл содержит информацию для подключения к серверу:
Code:
{
"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 ГЦСС ГРУ основано на выявленном компанией Microsoft использовании одного и того же IP-адреса, который применялся для доступа к управляющему серверу Drovorub и также фигурировал в ассоциированной с группой STRONTIUM (APT28) атаке, поражавшей IoT-устройства в апреле 2019 года. Напомним, что 85 ГЦСС ГРУ (в/ч 26165) связывается с группой APT28 (Fancy Bear) (https://en.wikipedia.org/wiki/Fancy_Bear), ответственной за многочисленные кибератаки.
13.08.2020
https://www.opennet.ru/opennews/art.shtml?num=53545