Исследование Huntress, которая на первый взгляд казалась стандартной атакой с использованием Python-стилера, приняло неожиданный оборот, когда выяснилось, что её конечной целью является развёртывание полнофункционального коммерческого трояна удалённого доступа PureRAT. Эта операция демонстрирует чёткую и продуманную эскалацию: начинается с простой фишинговой приманки и проходит через уровни загрузчиков, работающих в памяти, уклонения от защиты и кража учётных данных. Финальная полезная нагрузка, PureRAT, представляет собой модульный бэкдор, дающий злоумышленнику полный контроль над скомпрометированным хостом. Данный анализ раскрывает всю цепочку атаки, предоставляя контекст и индикаторы компрометации, необходимые для защиты сетей.
Описание
Атака начинается с классического фишингового письма, содержащего ZIP-архив, замаскированный под уведомление о нарушении авторских прав. В архиве находится легитимный подписанный исполняемый файл PDF-ридера и вредоносная библиотека version.dll. Это классический приём DLL-сопутствующей загрузки (DLL sideloading), когда доверенное приложение принудительно загружает вредоносную DLL из той же директории. Вредоносная DLL использует цепочку системных утилит Windows для декодирования полезной нагрузки, скрытой в файле Document.pdf, и её извлечения с помощью переименованной копии WinRAR.
На этом этапе злоумышленники разворачивают серию из нескольких Python-загрузчиков, каждый из которых использует сложные методы обфускации, включая кодирование Base85, Base64 и гибридную схему шифрования с использованием RSA, AES, RC4 и XOR. Четвёртая стадия обеспечивает устойчивость, внося изменения в реестр Windows для создания точки автозапуска, маскирующейся под легитимный системный компонент «Служба обновления Windows». Это гарантирует, что вся цепочка заражения перезапускается при каждом входе пользователя в систему. Для динамического получения следующих стадий используется инфраструктура Telegram-ботов и сервисов сокращения URL-адресов, что предоставляет операторам гибкий механизм обновления атаки.
Вторая стадия представляет собой первое целенаправленное вредоносное ПО - стилер информации, написанный на Python. Его функционал включает сбор конфиденциальных данных: учётных записей, cookie-файлов, данных кредитных карт и автозаполнения из браузеров на базе Chrome и Firefox. Все похищенные данные архивируются и эксфильтрируются через API Telegram-бота. Метаданные ZIP-архива содержат указание на Telegram-аккаунт @LoneNone, который публично ассоциируется с семейством вредоносных программ PXA Stealer, что даёт сильную зацепку для атрибуции.
Затем кампания совершает неожиданный поворот. Третья стадия знаменует переход от интерпретируемых Python-скриптов к скомпилированным исполняемым файлам .NET. Новый загрузчик, полученный с файлообменного сервиса, использует технику «опустошения процесса» (process hollowing): легитимная утилита RegAsm.exe запускается в приостановленном состоянии, её код в памяти замещается вредоносной сборкой .NET, которая затем исполняется. Эта сборка, среди прочего, применяет техники уклонения от защиты, такие как патчинг функций AMSI (Antimalware Scan Interface) и ETW (Event Tracing for Windows), чтобы ослепить системы мониторинга.
После серии дополнительных загрузчиков, которые расшифровывают и загружают в память последующие полезные нагрузки с помощью Base64, XOR, AES-256 и GZip-декомпрессии, атака достигает своей конечной цели - библиотеки Mhgljosy.dll, защищённой коммерческим обфускатором .NET Reactor. После деобфускации выясняется, что это и есть PureRAT. Его конфигурация, извлечённая из закодированного в Base64 блоба и десериализованная с помощью Protocol Buffers, содержит информацию об инфраструктуре командования и управления (C2): IP-адрес во Вьетнаме, список портов и сертификат X.509 для привязки TLS (TLS pinning), что обеспечивает шифрование и устойчивость к перехвату трафика.
После подключения к C2 RAT проводит тщательное сканирование системы, собирая информацию об установленных антивирусах, создавая уникальный идентификатор хоста на основе аппаратных данных, проверяя наличие веб-камеры, уровень привилегий, операционную систему, наличие криптокошельков и время бездействия пользователя. Затем троянец переходит в режим постоянного ожидания заданий, представляя собой модульный загрузчик. Он ожидает, что оператор отправит дополнительные плагины, которые могут расширить его функционал до скрытого доступа к рабочему столу, слежки через веб-камеру и микрофон, кейлоггинга и многого другого. К счастью, в данном случае атака была остановлена до развёртывания этих модулей.
Пространства имён .NET и упоминания PureHVNC окончательно подтверждают, что образец связан с линейкой вредоносных программ, разрабатываемых автором под псевдонимом PureCoder. Архитектура и функционал полностью соответствуют PureRAT - модульному бэкдору, рекламируемому как «инструмент удалённого администрирования».
Повторяющаяся инфраструктура Telegram, метаданные, указывающие на @LoneNone, и C2-серверы во Вьетнаме strongly suggest, что атака была проведена людьми, стоящими за PXA Stealer. Их переход от любительской обфускации Python-кода к использованию коммерческого вредоносного ПО демонстрирует не только настойчивость, но и признаки серьёзного и растущего оператора. С точки зрения общей угрозы, переход от самописного стилера к коммерческому RAT крайне значителен. Это снижает порог входа для злоумышленника, предоставляя доступ к стабильному, многофункциональному инструментарию без необходимости собственной разработки. Результатом становится более устойчивая, модульная и опасная угроза, способная на масштабную кражу данных, слежку и последующие атаки.
Данная кампания подчёркивает важность многоуровневой защиты (defense-in-depth). Первоначальное проникновение relied on запуске пользователем, загрузчики использовали доверенные системные двоичные файлы, а финальная стадия применяла методы уклонения от обнаружения. Ни одна система защиты не смогла бы остановить всю цепочку в одиночку. Понимание полного жизненного цикла атаки и мониторинг конкретных поведенческих паттернов, от злоупотребления утилитами вроде certutil до WMI-запросов и зашифрованного C2-трафика, позволяют организациям выстроить более устойчивую security-позицию.
Индикаторы компрометации
IPv4
- 157.66.26.209
URLs
- https://0x0.st/8WBr.py
- https://is.gd/s5xknuj2
- https://paste.rs/fVmzS
SHA256
- 06fc70aa08756a752546198ceb9770068a2776c5b898e5ff24af9ed4a823fd9d
- f5e9e24886ec4c60f45690a0e34bae71d8a38d1c35eb04d02148cdb650dd2601
- f6ed084aaa8ecf1b1e20dfa859e8f34c4c18b7ad7ac14dc189bc1fc4be1bd709