Уже примерно год компания «Доктор Веб» регистрирует обращения пользователей с жалобами на заражение Windows-компьютеров вредоносной программой-шпионом Remcos RAT (Trojan.Inject4.57973). В ходе расследования этих инцидентов наши специалисты вскрыли атаку, в которой главная роль отведена многокомпонентной троянской программе-загрузчику Trojan.Fruity.1. Для ее распространения злоумышленники создают вредоносные сайты, а также специально подготовленные установщики различных программ. Среди них — инструменты для тонкой настройки работы процессоров, видеокарт и BIOS, утилиты для проверки состояния компьютерного оборудования и ряд других. Такие установщики служат приманкой и содержат не только интересующее потенциальную жертву ПО, но и самого трояна вместе со всеми его компонентами.
При попытке скачать ту или иную программу с поддельного сайта посетитель перенаправляется на страницу файлообменного сервиса Mega, где ему предлагается загрузить zip-архив с троянским пакетом.
Когда ничего не подозревающая жертва извлекает из архива исполняемый файл и запускает его, начинается стандартный процесс установки. Однако наряду с искомой безобидной программой, которая отвлекает внимание пользователя, на компьютер попадает и Trojan.Fruity.1. Вместе с другими компонентами он копируется в ту же папку, что и программа-приманка.
Одними из «модулей» трояна злоумышленники сделали легитимные программы. В рассматриваемом примере Trojan.Fruity.1 внедрен в одну из библиотек языка программирования Python, для запуска которой используется интерпретатор python.exe с действительной цифровой подписью. Кроме того, были выявлены случаи применения файлов медиаплеера VLC и среды виртуализации VMWare.
Список файлов, связанных с трояном: python39.dll — копия библиотеки из пакета Python с внедренным в нее вредоносным кодом; python.exe — оригинальный интерпретатор языка Python для запуска модифицированной библиотеки; idea.cfg — конфигурация с данными о расположении полезной нагрузки; idea.mp3 — зашифрованные модули трояна; fruit.png — зашифрованная полезная нагрузка.
После их извлечения из установщика начинается многоступенчатый процесс заражения системы. На следующем изображении представлена общая схема алгоритма работы Trojan.Fruity.1.
Общая схема алгоритма работы Trojan.Fruity.1
Первый этап заражения
При запуске библиотеки python39.dll Trojan.Fruity.1 расшифровывает содержимое файла idea.mp3 и извлекает из него dll-библиотеку и шелл-код (код №1) для второй стадии. Он также считывает содержимое файла idea.cfg. Тот содержит строку с информацией о расположении полезной нагрузки, которую троян должен запустить. Полезная нагрузка может загружаться из интернета или располагаться на целевом компьютере локально. В данном случае используется локальный файл fruit.png, ранее извлеченный троянским установщиком.
Второй этап заражения
Расшифрованный шелл-код (код №1) запускает командный интерпретатор cmd.exe в приостановленном состоянии. В память созданного процесса записывается информация о расположении полезной нагрузки (fruit.png), шелл-код для третьей стадии (код №2), а также контекст для его работы. Затем в образ расшифрованного на первом этапе dll-файла вносится патч, указывающий на адрес контекста в процессе. Далее происходит инжект этого dll-файла в процесс cmd.exe, после чего управление переходит библиотеке.
Третий этап заражения
Инжектированная библиотека проверяет полученную строку с данными о расположении зашифрованной полезной нагрузки. Если строка начинается с аббревиатуры http, библиотека пытается скачать целевой файл из интернета. В противном случае она использует локальный файл. В данном случае библиотеке передается локальный путь до файла fruit.png. Это изображение перемещается во временный каталог, после чего запускается код №2 для его расшифровки. В файле fruit.png при помощи стеганографии скрыто два исполняемых файла (dll-библиотеки), а также шелл-код для инициализации следующей стадии (код №3).
Четвертый этап заражения
После выполнения предыдущих шагов Trojan.Fruity.1 запускает код №3. С его помощью он пытается обойти детектирование антивирусами и помешать процессу своей отладки при анализе специалистами по информационной безопасности.
Троян пытается выполнить инжект в процесс msbuild.exe программы MSBuild. В случае неудачи попытка повторяется для процессов cmd.exe (командного интерпретатора Windows) и notepad.exe (программы «Блокнот»). В целевой процесс при помощи метода Process Hollowing внедряется одна из двух dll-бибилиотек, расшифрованных из изображения fruit.png, а также шелл-код для инициализации пятой стадии (код №4).
Затем во временном каталоге системы создается dll-файл со случайным названием, в который записывается содержимое расшифрованного исполняемого файла из того же изображения. Этот файл также инжектируется в целевой процесс. Однако при этом используется метод Process Doppelgänging, с помощью которого оригинальный процесс приложения в памяти подменяется вредоносным. В рассматриваемом случае библиотека представляет собой троянскую программу-шпион Remcos RAT.
Пятый этап заражения
При помощи внедренных в библиотеку шелл-кода (код №4) и dll-библиотеки Trojan.Fruity.1 устанавливает приложение python.exe в автозагрузку операционной системы. Также он создает в системном планировщике задачу на его запуск. Кроме того, Trojan.Fruity.1 добавляет это приложение в список исключений на проверку встроенным антивирусом Windows. Далее шелл-код записывает в конец файла python39.dll случайные данные таким образом, чтобы у него изменилась хеш-сумма и тем самым тот отличался от оригинального файла из троянского установщика. Кроме того, он модифицирует метаданные библиотеки, изменяя дату и время ее создания.
Несмотря на то, что в настоящее время Trojan.Fruity.1 распространяет шпионскую программу Remcos RAT, с помощью него злоумышленники способны заражать компьютеры и другими вредоносными программами. При этом те могут как скачиваться из интернета, так и распространяться вместе с Trojan.Fruity.1 в составе троянских установщиков ПО. В результате у киберпреступников появляется больше возможностей для реализации различных сценариев атак.
Специалисты «Доктор веб» напоминают, что скачивать программное обеспечение необходимо только из заслуживающих доверия источников — с официальных сайтов разработчиков и из специализированных каталогов. Кроме того, для защиты компьютеров необходимо установить антивирус.