Введение
Ландшафт вредоносного ПО постоянно меняется. Появляются новые семейства, и исчезают старые. Некоторые зловреды быстро перестают использоваться, другие остаются в арсенале злоумышленников довольно долго. Для отслеживания меняющегося ландшафта угроз мы не только анализируем найденные образцы вредоносного ПО, но и пристально наблюдаем за ботнетами и активностью на теневых форумах.
Во время таких наблюдений мы обнаружили новые образцы Emotet, новый загрузчик DarkGate и новую кампанию с использованием стилера LokiBot. Об этих киберугрозах мы писали в закрытых отчетах, выдержки из которых приводим в этой статье.
Если вы хотите больше узнать о нашем сервисе информирования о crimeware (вредоносном ПО, которое используется для совершения киберпреступлений), напишите по адресу crimewareintel@kaspersky.com.
DarkGate
В июне 2023 года известный разработчик вредоносного ПО опубликовал на популярном теневом форуме объявление о том, что он закончил работу над вредоносным загрузчиком, которую начал в 2017 году, в общей сложности потратив на разработку более 20 000 часов. По сравнению с обычными загрузчиками новый зловред обладает расширенными функциями, к которым предположительно относятся:
- скрытое VNC-подключение;
- добавление в исключения Защитника Windows;
- кража истории браузера;
- обратный прокси;
- файловый менеджер;
- кража токенов Discord.
Полный список представленных функций приводится в нашем закрытом отчете.
В образце, который нам удалось получить, присутствовали не все эти функции. Но это ничего не значит, так как их можно активировать или отключить в билдере. Однако мы смогли восстановить полную цепочку заражения, состоящую из четырех этапов, до момента загрузки финальной полезной нагрузки — самого DarkGate.
- VBS-загрузчик. Это довольно простой скрипт, который задает несколько переменных окружения, чтобы обфусцировать последующие вызовы команд. Затем с командного сервера скачиваются два файла (Autoit3.exe и script.au3). Файл Autoit3.exe запускается, при этом script.au3 передается в качестве аргумента.
- Скрипт AutoIT V3. AutoIT V3 — скриптовый язык типа BASIC. Его часто используют разработчики вредоносного ПО, так как он позволяет имитировать нажатия клавиш, перемещения мыши и многое другое. Скрипт обфусцируется перед выполнением, но при этом загружает в память встроенный шелл-код и затем выполняет его.
- Шелл-код. Шелл-код работает довольно просто: он создает PE-файл в памяти, динамически разрешает таблицу импорта и передает этому файлу управление.
- Исполнитель DarkGate (PE-файл, созданный шелл-кодом). Исполнитель загружает файл script.au3 в память и находит в нем зашифрованный блок данных, который расшифровывается с использованием XOR-ключа и операции NOT. В результате получается PE-файл, чья таблица импорта разрешается динамически. Последний этап — загрузчик DarkGate.
Загрузчик DarkGate содержит несколько глобальных переменных (список строк Delphi TStringList). Всего их 17, и они описывают основные функции зловреда:
- переменная, задаваемая при обнаружении антивируса;
- переменная, задаваемая при обнаружении виртуальной среды;
- переменная, задаваемая при обнаружении процессора Xeon;
- номер порта командного сервера.
Полный список переменных приводится в нашем закрытом отчете. К основным функциям не относится загрузка вредоносного ПО — для этого используется отдельный модуль.
Интерес представляет также способ шифрования строк. Каждая строка шифруется с уникальным ключом и модифицированной версией кодировки Base64 (с собственным набором символов).
LokiBot
LokiBot — вредоносная программа для кражи информации (стилер), которая была впервые обнаружена в 2016 году и активно используется до сих пор. Она предназначена для кражи учетных данных из различных приложений (браузеров, FTP-клиентов и др.). Недавно мы обнаружили фишинговую кампанию, доставляющую LokiBot. Она была нацелена на компании, специализирующиеся на морских перевозках грузов.
В расследованных нами случаях жертвы получали электронное письмо якобы от контрагента с требованием уплатить портовые сборы. В письмо был вложен документ Excel. Открыв этот документ, пользователь, как и следовало ожидать, видел запрос активировать макросы. Однако макросов в документе нет — в действительности он пытается эксплуатировать уязвимость CVE-2017-0199.
Эта уязвимость позволяет открывать удаленный документ через ссылку. В рамках описываемой атаки при успешной эксплуатации загружается документ RTF, который эксплуатирует еще одну уязвимость — CVE-2017-11882. Она позволяет загрузить и запустить LokiBot.
После запуска LokiBot собирает учетные данные из различных источников и сохраняет их в свой буфер обмена, а затем отправляет на командный сервер. Данные отправляются в POST-запросах, сжатых с помощью библиотеки APLib. После отправки информации о системе зловред ожидает дополнительные команды от командного сервера. Сервер может отправить команду скачать дополнительное вредоносное ПО, запустить кейлоггер и т. д.
Emotet
Emotet — известный ботнет, который ликвидировали в 2021 году, но он возобновил свою активность. В последней волне атак злоумышленники использовали популярный вектор заражения через OneNote — рассылали письма с вредоносными файлами OneNote. Если открыть такое вложение, появляется изображение, похожее на показанное ниже:
Если нажать кнопку просмотра, выполняется вредоносный обфусцированный встроенный VBS-скрипт. Деобфусцированный код выглядит довольно просто:
Как видно на скриншоте, полезную нагрузку можно скачать с нескольких сайтов. Скрипт по очереди обращается ко всем этим сайтам и, если попытка оказывается успешной, сохраняет полезную нагрузку (DLL-файл) во временную папку, а затем выполняет ее с помощью системной утилиты regsvc32.exe. Выполняемый DLL-файл загружает ресурс (LXGUM) из раздела ресурсов и расшифровывает его, используя простой алгоритм rolling XOR, как показано ниже:
Расшифрованная полезная нагрузка представляет собой шелл-код, который выполняет стандартный импорт по хешу. Две из импортируемых функций — LdrLoadDll и LdrGetProcedureAddress. Разработчики вредоносного ПО часто используют их для защиты от динамического анализа известных API-функций (в этом случае LoadLibrary и GetProcAddress). На следующем этапе выделяется пространство в памяти, в которое записывается блок данных (PE-файл) из раздела ресурсов, — это и есть итоговая полезная нагрузка Emotet. После инициализации DLL-зависимостей восстанавливается таблица адресов импорта (IAT). Затем шелл-код переписывает заголовок DOS в PE-файле, чтобы усложнить EDR-решениям обнаружение в памяти бинарного файла. Наконец выполняется Emotet.
Сама полезная нагрузка Emotet не отличается от использованной в предыдущих волнах атак.
Заключение
Вредоносное ПО постоянно эволюционирует, злоумышленники меняют свои тактики, методы и процедуры, и обнаруживать их становится все труднее. Кроме того, организациям бывает сложно определить, от каких киберугроз следует защищаться в первую очередь. В этом помогают отчеты об угрозах — они содержат всю нужную информацию об актуальных для вас угрозах и способах защиты от них. Если вы хотите получить свежую информацию о новейших тактиках, методах и процедурах злоумышленников или задать вопрос о наших приватных отчетах, напишите по адресу crimewareintel@kaspersky.com.
Индикаторы компрометации (Хеши MD5)
LokiBot
31707f4c58be2db4fc43cba74f22c9e2
2c5cf406f3e4cfa448b167751eaea73b
DarkGate
1B9E9D90136D033A52D2C282503F33B7
149DA23D732922B04F82D634750532F3
Emotet
238f7e8cd973a386b61348ab2629a912
df3ee4fb63c971899e15479f9bca6853
Что нового в мире crimeware: Emotet, DarkGate и LokiBot