Эксперты по кибербезопасности представили детальный разбор техник, используемых китайской группой угроз Salt Typhoon (также известной как Earth Estries) для распространения своего модульного бэкдора SnappyBee. Этот вредоносный инструмент, также известный как Deed RAT, активно применяется в кампаниях кибершпионажа против правительств и предприятий по всему миру. Основное внимание в анализе уделено сложной процедуре распаковки, которая позволяет вредоносу эффективно скрывать свою полезную нагрузку от систем защиты.
Описание
SnappyBee представляет собой классический пример современного инструментария APT (Advanced Persistent Threat, усовершенствованная постоянная угроза). После первоначального взлома системы злоумышленники используют этот бэкдор для закрепления в сети и последующего развертывания дополнительных вредоносных программ, таких как фреймворк Cobalt Strike и руткит Demodex. Для снижения вероятности обнаружения разработчики SnappyBee применяют многослойную упаковку. Этот процесс скрывает истинный исполняемый код, преобразуя его в нечитаемый формат, который восстанавливается только в памяти во время выполнения.
Технический анализ начинается со статического изучения компонентов вредоноса. SnappyBee состоит из трех частей: легитимного подписанного исполняемого файла, DLL-библиотеки (Dynamic-link Library) и файла с данными. Вредонос использует технику DLL side-loading: легитимная программа по ошибке загружает вредоносную DLL, что придает процессу видимость законной активности. Сама DLL содержит распаковывающую заглушку, а зашифрованная полезная нагрузка хранится в отдельном файле данных, обычно называемом "dbindex.dat".
Первым шагом в анализе стало изучение функции "DllMain", точки входа библиотеки. Код проверяет причину загрузки и, если она соответствует "DLL_PROCESS_ATTACH", приступает к выполнению. Для усложнения статического анализа SnappyBee динамически разрешает адреса критических API-функций, таких как "VirtualProtect" и "StartServiceCtrlDispatcherW", через "GetProcAddress". Затем вредонос изменяет права доступа к памяти и внедряет хук в функцию "StartServiceCtrlDispatcherW". Это означает, что когда легитимный процесс вызовет эту функцию, управление будет перехвачено и передано коду SnappyBee, создавая видимость нормальной активности в стеке вызовов.
Функция, на которую установлен хук, отвечает за основную процедуру распаковки. Она считывает файл "dbindex.dat" в выделенную область памяти. Анализ показал, что первые 16 байт этого файла используются как ключ для алгоритма шифрования RC4. Оставшаяся часть данных расшифровывается с помощью функции "mbedtls_arc4_crypt" из известной библиотеки mbed TLS. После успешной дешифровки права доступа к полученному участку памяти меняются на "чтение и выполнение", после чего управление передается на этот адрес.
Для извлечения распакованного кода аналитики использовали метод динамической отладки. Они запустили вредонос в контролируемой песочнице с использованием отладчика x32dbg, предварительно отключив рандомизацию адресного пространства (ASLR) для удобства анализа. Установив точки останова на ключевых этапах работы распаковщика, эксперты смогли в реальном времени отследить процесс выделения памяти, загрузки зашифрованного файла и его дешифровки. В момент, когда полезная нагрузка находилась в памяти в открытом виде, они сохранили дамп соответствующего региона.
Последующий анализ дампа выявил, что первая распакованная стадия сама является сложным шелл-кодом, который выполняет еще один цикл распаковки в памяти. Только после этого извлекается финальная полезная нагрузка - основной модуль бэкдора SnappyBee. Этот метод многослойной распаковки значительно затрудняет анализ как для автоматических систем, так и для исследователей.
Практика распаковки в памяти является краеугольным камнем современного вредоносного ПО. Она минимизирует следы на диске, что помогает уклоняться от сигнатурных детектов антивирусов. Анализ SnappyBee также демонстрирует другие популярные тактики уклонения: использование side-loading для маскировки, динамическое разрешение API для обхода статических эвристик и модульную архитектуру для гибкости.
Понимание этих механизмов критически важно для эффективного противодействия. Для групп реагирования на инциденты и SOC (Security Operations Centre, центр управления безопасностью) способность распаковывать и анализировать подобные образцы означает переход от реактивного подхода, основанного на хэшах, к проактивному, основанному на поведенческих индикаторах компрометации. Это позволяет точнее определять масштаб инцидента, сокращать время присутствия злоумышленника в сети и повышать уверенность в принимаемых мерах по ликвидации угрозы. Работа с такими сложными образцами, как SnappyBee, остается необходимым навыком для защиты от постоянно развивающихся инструментов APT-групп.
Индикаторы компрометации
SHA256
- 1a38303fb392ccc5a88d236b4f97ed404a89c1617f34b96ed826e7bb7257e296
- 25b9fdef3061c7dfea744830774ca0e289dba7c14be85f0d4695d382763b409b
- b2b617e62353a672626c13cc7ad81b27f23f91282aad7a3a0db471d84852a9ac