sha1:
- 08e2edeea11515c5c83a9d14d723d29939549978 (Microsoft Update Service) — модуль предоставления командной строки
- e324c7490dc287168c2de66021f02e7d999d8538 (HVNC_Controller.exe) — модуль удаленного управления компьютером
- 856225319df6fbb1ff3ea2b9e418a83fbec300d9 (FileManager.exe) — модуль для скачивания файлов
- 65ffe173a0f48711531c1cc8155d32c55569facb (Stream.exe) — модуль трансляции экрана
Описание
Модульный бэкдор, выполняющий команды злоумышленников. Написан на языке C++ и предназначен для работы на компьютерах под управлением ОС семейства Windows. Использовался в целевой атаке на российское машиностроительное предприятие с целью получения конфиденциальных данных с заражаемых компьютеров. Код бэкдора обфусцирован.
Принцип действия
Известны следующие модули бэкдора:
- модуль предоставления командной строки
- модуль удаленного управления компьютером через VNC
- модуль для скачивания и установки файлов
- модуль трансляции экрана
Все модули обращаются к одному адресу C2-сервера: updating-services[.]com.
Модуль предоставления командной строки
Является основным модулем, который закрепляется в системе с помощью трояна-загрузчика Trojan.Updatar.2. В начале работы троян собирает системную информацию о компьютере:
| Параметр | Содержимое |
|---|---|
| Username | Имя пользователя |
| PC_name | Имя ПК |
| OS | Версия Windows |
| Screen | Размер экрана |
| Ram | Количество оперативной памяти, мегабайт |
| External ip | Внешний IP |
| Manufacturer | Производитель материнской платы |
| Model | Имя продукта |
| Processor Name | Имя процессора и значение его тактовой частоты |
| Hard Disk | Объем жесткого диска |
| Avname | Установленный антивирус |
| BIOS Version | Информация о BIOS |
| Internet Adapter | Уникальный идентификатор сетевого устройства |
Основную информацию троян получает с помощью запросов к WMI.
Модуль отправляет следующие запросы к C2-серверу:
- tmr
- src
- pinger
- commander
- commander response
Запрос pinger
Является первым пакетом — в нем передается системная информация о компьютере.
| Маршрут: | /dashboard/pinger |
| Метод: | POST |
| User-Agent: | Vendetta Browser v12.0.1 |
| Параметр запроса: | Системная информация |
Запрос tmr
Отправляет keepalive-пакет по таймеру.
| Маршрут: | /dashboard/tmr |
| Метод: | POST |
| User-Agent: | Vendetta Browser v12.0.1 |
| Параметр запроса: | Internet Adapter |
Запрос src
Отправляет скриншот экрана.
| Маршрут: | /dashboard/src |
| Метод: | POST |
| User-Agent: | MyScreenshotApp |
Запрос commander
Получает команду, которая будет выполнена в командной строке cmd. Команды отдаются не автоматически, а непосредственно от оператора С2-сервера.
| Маршрут: | /dashboard/commander |
| Метод: | POST |
| User-Agent: | Vendetta Browser v12.0.1 |
| Параметр запроса: | Internet Adapter |
Запрос commander response
Отправляет результат выполненной команды на С2-сервер.
| Маршрут: | /dashboard/commander/response |
| Метод: | POST |
| User-Agent: | Vendetta Browser v12.0.1 |
| Параметр запроса: | Internet Adapter |
Модуль удаленного управления компьютером
Управление реализовано через VNC (Virtual Network Computing — систему удаленного доступа к рабочему столу).
Вначале троян инициализирует два потока:
- поток записи экрана
- поток эмуляции клавиш
Для общения с C2-сервером используется WebSocket по маршруту /ws/.
Модуль для скачивания файлов
При запуске троян получает 3 аргумента:
- имя управляющего сервера
- id жертвы
- время ожидания (timeout)
Запросы, отправляемые C2-серверу:
- /dashboard/api/file_manager/upload_file/<id>/
- /dashboard/api/file_manager/response/<id>/
- /dashboard/api/file_manager/command/<id>/
Запрос /dashboard/api/file_manager/command/<id>/
Этот запрос предназначен для получения трояном команды для выполнения. Ответом на запрос является JSON с целевой командой.
Список возможных команд:
| Команда | Предназначение |
|---|---|
| list_dir | Получить листинг директории |
| download | Скачать файл с зараженной системы |
| delete | Удалить файл |
| create_folder | Создать директорию |
| download_from_server | Скачать файл на зараженную систему |
| stop_file_manager_client | Остановить работу модуля |
Примеры команд:
{
"command": {
"action": "list_dir",
"path": "C:\\"
}
}
{
"command": {
"action": "stop_file_manager_client",
"path": "internal"
}
}
Запрос /dashboard/api/file_manager/upload_file/<id>/
Предназначен для выполнения команды download — троян отправляет файл на C2-сервер.
Запрос /dashboard/api/file_manager/response/<id>/
Используется для ответа на выполняемую команду. Запрос содержит результат выполненной команды, либо индикацию ошибки, возникшей во время ее выполнения.
Модуль трансляции экрана
Позволяет получать запись с экрана зараженного компьютера. Запись реализована через API Direct3D 11 и библиотеку jpeg62.
Для трансляции троян подключается к C2-серверу по маршруту /ws/ через WebSocket на порту 80 и инициализирует устройство записи. WebSocket реализован через boost::beast::websocket::stream.
Подробнее о Trojan.Updatar.2
Новость о трояне
Индикаторы компрометации