Специалисты по информационной безопасности обнаружили свежий образец вредоносного загрузчика CastleLoader, который распространяется с помощью установщика NSIS, подписанного мошенническим расширенным сертификатом (EV) от имени несуществующей британской компании "Serpentine Solar Limited". Анализ показывает, что злоумышленники из группировки GrayBravo (ранее известной как TAG-150) продолжают совершенствовать свою тактику, внедряя в цепочку заражения полноценную среду выполнения Python 3.14 и используя технику раздувания файлов для обхода средств защиты.
Описание
Образец размером 61,8 мегабайта, загруженный на платформу MalwareBazaar 9 апреля 2026 года, представляет собой установщик NSIS, который разворачивает на целевом устройстве интерпретатор Python 3.14.0a1 и два пакета данных. Первый пакет, data0.pak объёмом 100 мегабайт, заполнен случайными данными - базами SQLite со словарными словами, поддельными конфигурационными файлами и изображениями. Этот мусор предназначен для превышения лимитов песочниц и антивирусных эмуляторов, которые часто прекращают анализ после определённого объёма. Второй пакет, data1.pak размером около 6,8 мегабайта, содержит зашифрованное по алгоритму AES-CBC полезное тело самого загрузчика CastleLoader. Ключ дешифрования извлекается из скомпилированного сценария NSIS, что пока не удалось выполнить исследователям.
После извлечения всех компонентов во временную папку запускается скрипт, выполняемый скрытно через pythonw.exe (без консольного окна), который дешифрует полезную нагрузку в оперативной памяти с помощью вызовов VirtualAlloc и RtlMoveMemory. Таким образом, шеллкод CastleLoader никогда не попадает на диск, что затрудняет его обнаружение традиционными сигнатурными методами. Взаимодействие с командно-контрольным сервером (C2) осуществляется через домен maybedontbanplease[.]com, зарегистрированный 2 апреля 2026 года через регистратора Global Domain Group LLC с использованием серверов имён Google Cloud DNS. При этом сам C2-бэкенд на момент анализа был недоступен - все запросы возвращали ошибку 504 Gateway Timeout, хотя обратный прокси-сервер nginx 1.18.0 на Ubuntu оставался запущенным.
Инфраструктура нового C2 размещена на IP-адресе 38[.]180[.]136[.]139, который принадлежит британскому провайдеру 3NT Solutions LLP, имеющему офисы в Лондоне и в Нидерландах. Этот поставщик услуг арендует серверы и использует магистральную сеть Cogent Communications. Соседние IP-адреса в той же подсети /24 указывают на наличие Windows-серверов, веб-кластера и даже игрового сервера FiveM, что может говорить о смешанном характере арендованного оборудования. Ранее известные C2-адреса группировки, такие как 94[.]159[.]113[.]32, были зарегистрированы на российского частного лица в городе Новотроицк, что подтверждает российское происхождение операторов.
Подпись установщика выполнена сертификатом "SERPENTINE SOLAR LIMITED", выпущенным центром сертификации Sectigo (серия EV R36) с 1 апреля 2026 года по 1 апреля 2027 года. Однако проверка в реестре британских компаний (Companies House) показала, что организация с таким названием не зарегистрирована, что свидетельствует о мошенническом получении расширенного сертификата. Как сообщили авторы отчёта, данный сертификат ещё не внесён в список отозванных сертификатов подписи кода (CSCB), поэтому системы Windows SmartScreen пока доверяют ему. Ранее группа использовала сертификаты на российские юридические лица - "NOBIS LLC" и "LLC Territory of Comfort", - что усиливает уверенность в том, что злоумышленники работают из России или русскоязычной среды.
CastleLoader представляет собой платформу для доставки вторичных вредоносных программ, действующую по модели Malware-as-a-Service. Она известна с начала 2025 года и нацелена на правительственные учреждения США, объекты критической инфраструктуры, ИТ-компании и логистические организации. Среди загружаемых полезных нагрузок фигурируют стилеры LummaC2, StealC, RedLine, Rhadamanthys, DeerStealer, а также программы удалённого доступа NetSupport RAT и SectopRAT. Использование современного Python 3.14 (альфа-версия выпуска 2025 года) позволяет злоумышленникам обходить сигнатуры, заточенные на более старые версии интерпретатора, а также использовать богатую стандартную библиотеку для выполнения дополнительных действий.
Эксперты отмечают высокий уровень технической подготовки группы GrayBravo: быстрые циклы разработки, умение получать подлинные EV-сертификаты обманным путём и применение многослойной цепочки заражения с обфускацией и шифрованием. Доменное имя maybedontbanplease (с англ. "может, не баньте, пожалуйста") демонстрирует осознание операторами того, что их инфраструктура будет обнаружена и заблокирована, что характерно для русскоязычных хакерских групп, использующих английский язык с вызовом. Переход с российского хостинга на провайдера в Великобритании/Нидерландах может быть попыткой повысить устойчивость к блокировкам и правоохранительным запросам, хотя 3NT Solutions - легальный дата-центр с ограниченной скоростью реакции на жалобы.
На данный момент C2-сервер неактивен, поэтому неизвестно, какая именно вторичная нагрузка должна была быть развёрнута на скомпрометированных системах. Однако специалистам настоятельно рекомендуется проверить свои сети на наличие обращений к указанному домену и IP-адресу, а также обратить внимание на любые подозрительные установщики, подписанные сертификатом "SERPENTINE SOLAR LIMITED". Поскольку злоумышленники демонстрируют способность быстро перестраивать инфраструктуру, следует ожидать появления новых вариантов CastleLoader с изменёнными сертификатами и адресами. Организациям, относящимся к приоритетным целям этой группы, стоит усилить мониторинг событий на конечных точках и использовать поведенческий анализ для обнаружения инъекций кода в память, особенно при запуске скрытых процессов pythonw.exe.
Индикаторы компрометации
IPv4
- 38.180.136.139
- 94.159.113.32
IPv6
- 2a0c:6741::c2fc
Domains
- maybedontbanplease.com
MD5
- 660efa6ef10d3f575bc3fadc207da050
SHA1
- 6d504e6af3124409d6c86b50a89a8c2e83f9ce31
SHA256
- 4ba0d3ae41a0ae3143e8c2c3307c24b0d548593f97c79a30c0387b3d62504c31
- e4253d8588b77541fc46bbc224a954770350c53cc2a69e6c3b20386282ccc9f5