Новая кампания TimbreStealer нацелена на мексиканские компании через фишинг с налоговой тематикой

Stealer

Специалисты WatchGuard Technologies зафиксировали новую волну атак с использованием трояна-стилера TimbreStealer, направленную на мексиканские организации. Исследование, проведённое аналитиками Euler Neto и Cristóbal Tárraga, выявило сходство тактик с кампанией, описанной Cisco Talos в 2024 году. Злоумышленники применяют продвинутые методы обхода средств защиты и затруднения анализа вредоносного кода. Ключевая особенность новой кампании - использование техники DLL Side-Loading (метода внедрения вредоносной динамической библиотеки через легитимный загрузчик) с использованием файлов DLL большого размера вместо исполняемых файлов.

Описание

Первичным вектором вторжения выступает фишинг. Жертвам направляются письма, содержащие ссылки на ZIP-архивы, размещённые на IP-адресах, принадлежащих платформе DigitalOcean. Названия архивов содержат ключевые слова "CONTENIDO", "COMPROBANTES" и "CFDI". Последняя аббревиатура расшифровывается как "Comprobante Fiscal Digital por Internet" - мексиканская обязательная система электронного выставления счетов, требующая от всех налогоплательщиков формировать цифровые инвойсы, заверенные уполномоченным поставщиком сертификационных услуг. Использование такой тематики указывает на глубокое понимание местного делового контекста.

Внутри ZIP-архива содержатся либо легитимные обновляющие компоненты EdgeUpdate от браузера Microsoft Edge, либо GoogleUpdater, а также вредоносная DLL-библиотека. Вредоносный файл получает имя, совпадающее с оригинальной библиотекой обновления - msedgeupdate.dll или goopdate.dll. Размер таких библиотек составляет от 45 до 50 мегабайт, в то время как легитимные аналоги не превышают 500 килобайт. Такой аномальный размер призван затруднить статический анализ и обойти сигнатурные детекторы.

Вредоносная DLL содержит 27 секций, большинство из которых обнулены. Пять секций имеют ненулевое содержимое. Имена секций представляют собой четырёхбайтовые шестнадцатеричные значения, что делает каждую сборку уникальной. В секции 4 расположены две функции, выполняющие расшифровку по алгоритму RC4. Одна из них используется для извлечения строк "Zw" и "ntdll.dll". Это указывает на то, что вредоносное ПО реализует собственный механизм разрешения системных вызовов, не полагаясь на стандартные импорты. Таким образом оно скрывает зависимости в таблице импорта.

В начале точки входа DLLEntry выполняется длинная последовательность операций, манипулирующих двумя массивами байтов в секции 2. Изначально эти массивы обнулены, но в ходе работы они заполняются динамически генерируемым содержимым. Далее запускаются многочисленные циклы расшифровки. Функция 10004020 генерирует 256-байтовый ключ, который затем передаётся в функцию расшифровки секции 3, содержащей полезную нагрузку размером 0x3A7C00 байт. После расшифровки получается последовательность, напоминающая PE-файл (портативный исполняемый формат Windows), однако сигнатура "PE" заменена нулями - приём, усложняющий идентификацию формата анализаторами.

Расшифрованная полезная нагрузка представляет собой 32-битный исполняемый модуль с точкой входа 0x000A5136 и размером образа 0x003AE000. Затем управление передаётся на код из этого модуля. Примечательно, что после вызова ExitProcess в основной функции DLLEntry остаётся ещё код, который не выполняется, поскольку выполнение завершается раньше.

Внутри расшифрованного модуля имеется другая функция, также использующая RC4, но с ключом, который меняется при каждом вызове. Кроме того, присутствуют проверки окружения жертвы. Функция 1002d390 запрашивает язык интерфейса системы через GetSystemDefaultUILanguage. Если язык определён как русский (код 0x19), выполнение прерывается. Затем с помощью GetTimeZoneInformation проверяется часовой пояс: смещение должно лежать в диапазоне от 300 до 480 минут, что соответствует времени от UTC-5 до UTC-8 - часовым поясам Мексики. Дополнительно проверяется текущее время по эпохе Unix: оно должно попадать в заранее заданный интервал дат. Таким образом злоумышленники реализуют геозонирование и временные ограничения, чтобы активировать вредонос только для целевых жертв.

После успешных проверок начинается сбор данных. Троян проверяет наличие папок профилей браузеров Google Chrome (включая бета- и dev-версии), Microsoft Edge (все каналы), Mozilla Firefox, а также почтовых клиентов Thunderbird и Postbox. Для браузеров на основе Chromium выполняются SQL-запросы к базе данных истории посещений. Запросы извлекают URL, количество посещений и время последнего визита. Вредонос также может временно создавать записи в таблицах и выполнять VACUUM для перестройки файла базы данных, что упрощает последующую кражу. Кроме браузеров, TimbreStealer просматривает каталоги OneDrive, Dropbox, Documents, Downloads, AppData\Local, AppData\Roaming и Users.

Наблюдаются действия по повышению привилегий. Один из методов - вызов ShellExecuteExW с командой "runas" для запуска с правами администратора. Другой метод использует FindWindowW для поиска окна с классом "$$$Secure UAP Dummy Window Class For Interim Dialog" (стандартное окно UAC), после чего вызывается SwitchToThisWindow для переключения на него. Также применяется CoCreateInstance для создания COM-объектов, что может быть связано с обходом контроля учётных записей (UAC).

В отличие от предыдущей кампании, где фишинговое письмо вело на пустой PDF при попытке доступа из-за пределов Мексики, в новой версии вредоносная DLL выполняется всегда, но может сгенерировать пустой PDF-файл в зависимости от параметров выполнения. PDF создаётся во временной папке с именем, начинающимся на "XML-", и с атрибутами доступа, запрещающими полный доступ для сети (Network) и разрешающими чтение и выполнение для всех остальных. Для генерации случайного содержимого в конце файла используются функции CryptoAPI: CryptAcquireContextW, CryptReleaseContext и CryptGenRandom. Каждый сгенерированный PDF содержит уникальную последовательность случайных байтов в конце.

Предоставленный анализ WatchGuard показывает, что кампания TimbreStealer представляет собой многослойную угрозу, сочетающую социальную инженерию на основе местных стандартов отчётности, использование легитимных облачных провайдеров для доставки, технику DLL Side-Loading с нестандартно большими DLL, многоэтапное шифрование и геофильтрацию. Сбор данных охватывает не только пароли и историю браузеров, но и содержимое почтовых ящиков, облачных хранилищ и файловых директорий. Применение собственного разрешения API и прямых системных вызовов делает анализ и обнаружение такой угрозы сложным даже для опытных специалистов.

Организациям, работающим в Мексике или имеющим деловые связи с этим регионом, следует усилить мониторинг подозрительных ZIP-файлов, скачиваемых с облачных IP-адресов, появление неожиданно больших DLL-файлов в директориях обновлений браузеров, а также необычную активность баз данных SQLite в браузерных профилях. Фишинг с налоговой тематикой остаётся одним из самых результативных векторов проникновения, особенно когда злоумышленники адаптируют его под специфику национальных систем отчётности.

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

URL

  • https://68.183.155.111

Комментарии: 0