HollowFrame и Matryoshka атакуют юристов

Специалисты Blackpoint Cyber обнаружили ранее не описанную связку вредоносных программ: модульный загрузчик и механизм закрепления HollowFrame, написанный на Go, доставлял бэкдор Matryoshka на Rust. Атаке подверглись два конечных устройства неназванной юридической фирмы. Кто стоял за операцией, исследователи пока не установили.
HollowFrame и Matryoshka атакуют юристов
Изображение носит иллюстративный характер

Первым пришло адресное фишинговое письмо со ссылкой на зашифрованный архив. Внутри находился файл ярлыка Windows формата LNK, замаскированный под документ с названием «Материалы дела». Расчёт понятен: для сотрудника юридической фирмы такое имя выглядит буднично и не вызывает лишних вопросов. Открытие ярлыка запускало многоступенчатую цепочку команд с использованием PowerShell.
PowerShell загружал следующие компоненты с сервера 2.26.252[.]84. Затем вредоносная цепочка повышала привилегии, ослабляла защитные механизмы Microsoft Defender и получала дополнительные файлы. Каждый отдельный шаг выглядел менее опасным, чем последующий: начальный ярлык не содержал всей логики заражения, загрузчик не раскрывал полную схему связи, а сетевые функции распределялись между разными модулями.
HollowFrame запускался через подменную загрузку DLL. Для этого использовалась пара из легитимного исполняемого файла python.exe и подложной библиотеки python311.dll. Windows воспринимала запуск Python как обычную операцию, но программа подхватывала DLL из контролируемого злоумышленником каталога. Такой приём позволяет спрятать вредоносный код за доверенным процессом и усложняет первичный разбор инцидента.
Перед продолжением заражения HollowFrame проверял среду. Он оценивал время работы системы после загрузки, объём установленной памяти, количество файлов в профиле пользователя и движение курсора. Пустой профиль, малая продолжительность сеанса или отсутствие человеческой активности могли выдать автоматическую песочницу. Для закрепления загрузчик создавал запланированную задачу, благодаря которой вредоносная цепочка могла снова стартовать после перезагрузки или входа пользователя.
Внутри HollowFrame находился зашифрованный встроенный контейнер. Загрузчик расшифровывал и распаковывал его, после чего начиналась вторая цепочка подменной загрузки DLL. На этом этапе в систему попадала Matryoshka в виде файла version.dll. Получилась конструкция с несколькими оболочками: внешний фишинговый ярлык запускал PowerShell, тот доставлял HollowFrame, а уже HollowFrame извлекал бэкдор.
HTTP-вариант Matryoshka связывался с управляющим сервером 45.158.196[.]184:8888. Он мог создавать или запускать командную оболочку, выполнять полученные команды, загружать инструменты и доставлять новые полезные нагрузки. Такой доступ открывал путь к краже учётных данных, перемещению между компьютерами фирмы и дальнейшему захвату доменной инфраструктуры. Набор последующих средств при этом не был жёстко зашит в первую стадию: оператор мог выбирать его уже после проникновения.
Blackpoint Cyber также восстановила вторую вредоносную DLL, wtsapi32.dll. Это оказался вариант Matryoshka, использовавший вместо обычного командного сервера закрытый репозиторий GitHub adioziaete/memio. Через GitHub бэкдор отправлял сигналы о присутствии, получал предназначенные конкретному устройству задания, проводил разведку, передавал результаты команд, пересылал файлы и забирал вторичные нагрузки.
Репозиторий был устроен как набор отдельных почтовых ящиков для заражённых узлов. Каждому компьютеру назначался каталог формата <computer>_<username>, где размещались файлы beacon.json, cmd.json и result.json. В ряде каталогов присутствовало дерево upload/ для доставки файлов. Оператор мог раздельно выдавать задания каждому хосту, получать ответы и передавать нагрузки без собственного выделенного C2-сервера. У схемы имелся неприятный для атакующего побочный эффект: GitHub сохранял версионную историю изменений, если связанные коммиты или весь репозиторий не удалялись.
Запрос к API GitHub показал, что связанная с репозиторием учётная запись была создана 6 января 2023 года, а данные профиля обновлялись ещё 7 июня 2026 года. Принадлежность аккаунта осталась неизвестной. Разделение функций между LNK-файлом, PowerShell, HollowFrame, двумя цепочками загрузки DLL и вариантами Matryoshka скрывало полный сценарий даже при обнаружении одного компонента, а использование GitHub отделяло управляющий канал wtsapi32.dll от HTTP-инфраструктуры version.dll.


Новое на сайте

20949Старая техника Apple получила заплатку для опасной уязвимости 20948Как три уязвимости открыли ShinyHunters путь к серверам PeopleSoft? 20947Может ли ИИ сам собрать уязвимости в работающий взлом? 20946Уязвимость CVSS 10.0 в LXD и MicroCloud позволяет выдать себя за доверенного клиента 20945Google разрешит устанавливать приложения из сторонних магазинов одним нажатием 20944Взлом Chainalysis: что могли увидеть атакующие 20943Oracle E-Business Suite под прицелом: попытки атак начались вскоре после исправления 20942Фишинг без кражи пароля: как Skyw4lker атакует Microsoft 365 20941ИИ в SOC: быстрее расследовать, не теряя контроля 20940Могут ли уязвимости GoAhead подорвать доверие к TLS? 20939Adobe устранила критические уязвимости в Campaign Classic и Connect 20938Как взломанный скрипт DebugBear помог похитить у трейдеров Polymarket около $2,7 млн? 20937Как ошибка в сетевой загрузке UEFI обходит защиту до запуска Secure Boot? 20936Silent Train: сеть скрытных атак Volt Typhoon 20935Как ссылка на ChatGPT могла открыть доступ к чужим чатам?
Ссылка