Исследовательская группа Howler Cell провела детальный технический анализ нового семейства программ-вымогателей под названием 0APT, написанного на языке Rust. Этот случай интересен не только с технической точки зрения, но и как пример современной тактики, когда киберпреступники сначала разворачивают масштабную информационную кампанию с целью создания репутации, и лишь затем предлагают реально работающее вредоносное ПО. В данном случае злоумышленники публично заявили о взломе более 200 организаций за короткий промежуток времени, рекламируя доступ к системам жертв через свою инфраструктуру RaaS (Ransomware-as-a-Service, модель «вымогатель-как-услуга»).
Описание
Однако, как установили аналитики, никаких верифицируемых доказательств успешных инцидентов или фактов операционного шифрования обнаружено не было. Изначально доступный через сеть Tor сайт с утечками данных демонстрировал обширный список жертв, однако в ходе расследования он перестал работать. Более того, попытки скачать якобы украденные данные через панель управления RaaS не увенчались успехом - загрузка файлов большого объёма никогда не завершалась. Отсутствие скриншотов компрометирующей информации и слишком быстрое объявление о сотнях жертв, что нехарактерно для зрелых групп, поставило под сомнение достоверность всей первоначальной кампании. Она, по всей видимости, была предназначена для быстрого привлечения внимания и вербовки партнёров (аффилиатов), но, вероятно, достигла обратного эффекта, подорвав доверие.
Между тем, было бы ошибкой считать эту группу безобидной. Исследователям удалось получить доступ к рабочей панели управления RaaS, сгенерировать образцы вредоносного кода и провести его полный реверс-инжиниринг. Анализ подтвердил, что 0APT - это полностью функциональная и потенциально опасная программа-вымогатель. Платформа активно набирает аффилиатов, позволяя им создавать кастомизированные сборки, самостоятельно проводить атаки и вести переговоры с жертвами, деля выручку с операторами.
С технической точки зрения, проанализированный 64-битный бинарный файл, скомпилированный на Rust версии 1.92.0, демонстрирует структурированный подход к разработке. Программа начинает работу с чтения конфигурационного файла "Config2.txt", что обеспечивает операторам гибкость настройки под конкретную атаку. Конфигурация позволяет задавать исключения: пропускать файлы с определёнными расширениями (например, ".exe", ".dll", ".log"), игнорировать целые каталоги (включая системные папки вроде "/Windows" или "/Program Files"), а также устанавливать лимит на размер шифруемых файлов. Это стандартная практика, направленная на сохранение работоспособности операционной системы и повышение стабильности работы самого вредоносного кода.
Важным этапом инициализации является загрузка криптографического ключа. Вымогатель пытается прочитать файл "public_key.pem" из текущего каталога, а в случае его отсутствия использует жёстко встроенный в код открытый RSA-ключ длиной 2048 бит. Этот ключ, как показано в отчёте, затем парсится с помощью функции "DecodePublicKey" из крейта "spki". Наличие возможности подменить ключ указывает на адаптивность платформы под разных аффилиатов, каждый из которых может использовать свой уникальный ключ для шифрования.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA6IlqZ6K7oTFNZKE+IVqT HyKjFvg0SlmztLIfLwn6bKOHHEowT0+6rLWYdY0IysgxclC6hbn3/KA7VRp21flI E89x5X7SApalSc3Ok+KaWzWpV5opjAES7zHkprOS7FXwnke7Tm6uWy3qKI3cNyGa WrU29ZBW2Fy9g0uXOkX2u1DSigDqzs+EeoGroWiKfn0/3H1NESo2raUR1WBO72K0 yPGZh2ixMf4Vb0XrPJwaapC/4uh9UQ+amjqjLc4WQQfscq6EMhk4CDQYWgAdtokZ 39S6RXycSakxUUpJnAuIxnOPLaAJbZRTDoJ3s69jnJ3Miynz0bXBIvIZcgCA2a1t QR+mfiUE5i26F6l4qduYJtnibGI1y0HjvhVeI/pGtbTue3HYn+2KjhWvm8KwDXsR OukNUSh06SiHy/x36dltCXxjE7KMYrcg5n2oVUwDbkj9gWlFvgoDi5urXvf2f/V0 t6dZW2kU13pyawTTPLEZfI0OoNadDpQE/YjUJkws9etAToLp34OOMyMPGSc7KziD stPNb53y3lYJvQJIv8qwcQVI7/m1eF3334xyOKfvO7rx+dZc/2hbxmnvcsvynvFf r5PLYUEIsYhH2Mmt0r/hux8DUYyD9VUPN+9f1Cmp02Y03GiTRQY/SmkvJLAXrBtv 7L+vCqqk9vEx66M9jeuRj70CAwEAAQ== -----END PUBLIC KEY----- |
Процесс шифрования файлов реализован по гибридной схеме, сочетающей асимметричную и симметричную криптографию, что является отраслевым стандартом для подобных угроз. Для каждого файла генерируются криптографически стойкие случайные значения: 32-байтовый ключ для алгоритма AES-256 и 16-байтовый вектор инициализации (IV). Ключ AES затем шифруется с помощью RSA с заполнением OAEP, что позволяет безопасно передать его оператору, который обладает соответствующим закрытым ключом. Содержимое файла шифруется AES-256, предположительно в режиме CTR, что обеспечивает работу с данными как с потоком. Итоговый зашифрованный файл перезаписывается и получает расширение ".0apt", а его структура включает в себя размер зашифрованного сессионного ключа, сам этот ключ, вектор инициализации и зашифрованные данные.
Помимо шифрования, программа выполняет стандартные для своего класса действия: в каждый каталог помещается файл с инструкциями "README0apt.txt.0apt", а также на рабочий стол устанавливается специальная фоновую картинка (обои) из ресурсов вредоносного кода, чтобы оказать психологическое давление на жертву. Примечательно, что механизмов закрепления в системе (persistence), таких как создание автозагрузочных записей или служб, обнаружено не было. Это позволяет предположить, что 0APT рассчитан на целенаправленные, контролируемые атаки, где злоумышленник уже имеет предварительный доступ к системе и запускает полезную нагрузку вручную.
Одной из интересных деталей, найденных в отладочных логах, стали строки на языке хинди. Это может указывать на возможную индийскую лингвистическую принадлежность хотя бы одного из разработчиков, однако такие данные нельзя рассматривать как прямое указание на источник атаки и использовать для атрибуции.
Таким образом, семейство 0APT представляет собой двойной феномен. С одной стороны, это наглядный пример того, как киберпреступники используют информационный шум и блеф для раскрутки своего бренда в теневом сообществе. С другой - технический анализ не оставляет сомнений в операционной жизнеспособности самого вредоносного кода. Он демонстрирует аккуратную реализацию, надёжную криптографию и гибкую систему конфигурации, что характерно для современных разработок на Rust, а не для примитивных клонов. Отсутствие сложных механизмов скрытности и распространения по сети на текущем этапе говорит о нишевом позиционировании для точечных атак. Однако эволюция подобных проектов часто приводит к добавлению новых возможностей, поэтому специалистам по информационной безопасности, особенно в SOC (Security Operations Center, центр управления безопасностью), рекомендуется включить индикаторы компрометации (IoC), связанные с 0APT, в системы мониторинга и обращать внимание на файлы с расширением ".0apt" или попытки чтения конфигурации "Config2.txt". Ключевой рекомендацией для защиты остаётся классическая, но действенная практика: регулярное резервное копирование критически важных данных с хранением копий вне основной сети, строгое соблюдение принципа минимальных привилегий и постоянное обучение пользователей.
Индикаторы компрометации
URLs
- http://oaptxiyisljt2kv3we2we34kuudmqda7f2geffoylzpeo7ourhtz4dad.onion/
SHA256
- 3dc4593b14879cb0bb4dc19e85816f09ff6a5f4db8c2957331b557af1fa1a375
