SantaStealer: разбор ChromElevator — DLL-вор для кражи учётных данных
Кратко: SantaStealer — вредоносная библиотека DLL PE32, эволюционировавшая от BlueLine Stealer. Исследование показывает, что ключевые компоненты семейства ориентированы на сбор учётных данных браузеров на базе Chromium, используют методы reflective loading, динамическое разрешение API и модуль ChromElevator для внедрения и извлечения данных из целевого процесса.
Что за образец исследовали
Анализ проводился на образце, представленном как DLL PE32 с SHA256:
4086e6f0deee112dd23d8b8901dd862ef3c989c137f33efa843a1a4c830bafd6
Основной точкой входа вредоноса является функция runTest, которая отвечает за распаковку кода, поиск зашифрованной полезной нагрузки, её расшифровку и дальнейшее выполнение вредоносных задач.
Ключевые технические особенности
- Reflective loading: загрузчик использует методы reflective loading для внедрения кода без явной записи исполняемых файлов на диск.
- Динамическое разрешение API: SantaStealer динамически находит необходимые экспортируемые функции Windows API, что повышает устойчивость к обнаружению и совместимость с разными окружениями.
- Архитектурная адаптивность: загрузчик обрабатывает различные типы relocation, что указывает на поддержку как 32‑битных, так и 64‑битных архитектур.
- Модуль ChromElevator: полезная нагрузка для кражи данных из браузеров на базе Chromium, использующая кастомную функцию разрешения экспортов.
- Шифрование и расшифровка: ключ/nonce извлекаются непосредственно из PE‑файла; для доступа к полезной нагрузке используется последовательность из трёх операций ChaCha20 — операции, которые успешно воспроизводятся с помощью Python или CyberChef.
- Внедрение в процесс: после расшифровки модуль опирается на открытый проект и реализует техники process hollowing для ввода кода в целевой браузерный процесс и извлечения учётных данных.
Как работает runTest и загрузчик
Функция runTest играет роль контроллера распаковки: она сканирует PE, находит зашифрованную секцию с полезной нагрузкой, извлекает из файла пару ключ/nonce и применяет метод расшифровки (три последовательных вызова ChaCha20). После расшифровки результирующий модуль ChromElevator загружается в память и использует внутренние механизмы для дальнейшей эксплуатации целевого браузера.
ChromElevator: модуль для Chromium
ChromElevator специально нацелен на браузеры на базе Chromium. Его архитектура включает:
- кастомную функцию разрешения экспортов для доступа к необходимым функциям процесса браузера (инициализация, обработка данных, очистка);
- использование извлечённых ключ/nonce для дешифровки и активации полезной нагрузки;
- основу в виде open‑source проекта, что облегчает повторное использование и модификацию автором или другими злоумышленниками;
- реализацию process hollowing для выполнения кода в контексте браузерного процесса и безопасного доступа к хранилищу учётных данных.
Инструменты и методы расшифровки
Исследователи применяли стандартные аналитические инструменты для восстановления полезной нагрузки. В частности упоминаются Python‑скрипты и CyberChef, которые применяют три последовательные операции ChaCha20 для получения исполняемого модуля ChromElevator. Важная деталь: ключ/nonce размещены непосредственно в PE‑образе, что упрощает автоматизацию процесса расшифровки для аналитиков (и, соответственно, для злоумышленников).
Тактики скрытности и устойчивости
SantaStealer демонстрирует несколько приёмов, направленных на уклонение от обнаружения:
- Работа в памяти: reflective loading и отсутствие явной записи исполняемых файлов на диск;
- Динамическое разрешение API: отказ от статических импортов, что затрудняет сигнатурный детект;
- Поддержка разных архитектур: обработка relocation для 32/64‑бит повышает вероятность успешного исполнения на различных системах;
- Использование готовых open‑source компонентов: сокращает время разработки и облегчает внедрение проверенных техник (process hollowing и пр.).
Цитата из отчёта
«Извлечение ключ/nonce непосредственно из PE‑файла подчеркивает упрощение процесса расшифровки, позволяя напрямую взаимодействовать с зашифрованной полезной нагрузкой вредоносного ПО.»
Практические рекомендации для защиты
- Мониторить аномальную активность DLL и процессы с признаками reflective loading.
- Контролировать процессы браузеров и события внедрения кода (process hollowing) с помощью EDR / HIPS.
- Ограничивать доступ к секретам браузерных профилей и применять политику CSP / инструментов, снижающих риск локального захвата учетных данных.
- Применять MFA и регулярную смену паролей — даже в случае компрометации браузерного хранилища это ограничит вред.
- Блокировать и расследовать нестандартные схемы вызова API и динамическое разрешение экспортов.
Вывод
SantaStealer — это эволюционировавший образец, который сочетает в себе удобство модульной архитектуры и проверенные техники сокрытия исполнения. Наличие ChromElevator и использование process hollowing делают его серьёзной угрозой для пользователей Chromium‑браузеров. При обнаружении совпадений с указанным SHA256 и признаков описанных техник необходимо быстро реагировать: изолировать хост, проанализировать память и сетевую активность, а также инициировать процедуру ротации учётных данных и усиления аутентификации.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



