Эксплуатация CVE-2026-48558 в SimpleHelp: новые вредоносные программы TaskWeaver и Djinn Stealer

security

Исследователи из Adversary Pursuit Group (APG) компании Blackpoint опубликовали детальный разбор инцидента, в котором критическая уязвимость обхода аутентификации в программном обеспечении SimpleHelp Remote Monitoring and Management (RMM) стала точкой входа для развёртывания двух ранее неизвестных образцов вредоносного кода. Эти образцы получили названия TaskWeaver и Djinn Stealer. Инцидент представляет серьёзную угрозу для поставщиков управляемых услуг (MSP) и организаций, использующих SimpleHelp для удалённого администрирования.

Описание

Уязвимость CVE-2026-48558 затрагивает процесс аутентификации OpenID Connect (OIDC) в SimpleHelp. Атакующий может сформировать поддельный токен, который сервер принимает без проверки криптографической подписи. В результате злоумышленник получает сессию технического специалиста без учётных данных. В описанном инциденте эта техника позволила проникнуть на интернет-ориентированный сервер SimpleHelp и задействовать его легитимные возможности удалённого управления.

После получения доступа оператор использовал платформу RMM для массового развёртывания вредоносного кода. На управляемые системы был загружен файл jquery.js, замаскированный под библиотеку jQuery. В действительности это оказался сильно обфусцированный Node.js-загрузчик размером около 1,08 мегабайта. Исполнение запускалось через node.exe: node.exe <путь>\jquery.js. Загрузчик получал команды с сервера управления (C2), имитировавшего легитимную инфраструктуру Microsoft Dev Tunnels. Связь защищалась гибридным шифрованием - полезная нагрузка шифровалась AES-256-GCM, а ключ заворачивался в RSA-2048.

Примечательной особенностью TaskWeaver стала сложная обфускация. Файл содержал один блок размером 8410 символов, который декодировался с помощью нескольких десятков различных 91-символьных алфавитов. Каждый алфавит был действителен только в своей области программы, что делало статический анализ бесполезным. Исследователи восстановили логику загрузчика путём перебора алфавитов. TaskWeaver выполнял разведку целевой системы - собирал сведения об операционной системе, имени хоста, MAC-адресе, процессах, а затем отправлял зашифрованный отчёт на C2. Единственным поддерживаемым действием был deliver - загрузка и выполнение произвольного JavaScript-кода с полным доступом к Node.js runtime. Фактически загрузчик не ограничивался набором встроенных команд; он мог доставить любой модуль - от стилера до шифровальщика.

Второй образец, Djinn Stealer, был получен от TaskWeaver в ответ на один из запросов. Это кроссплатформенный стилер, работающий на Windows, macOS и Linux. Он реализует набор правил для сбора файлов из домашних каталогов пользователей, обходя при этом кэши, временные файлы и каталоги .git, node_modules, __pycache__. Стилер собирает учётные данные для огромного количества облачных сервисов: AWS, Azure, Google Cloud, Oracle Cloud Infrastructure, Cloudflare, DigitalOcean, Heroku, Vercel, Supabase, Terraform, HashiCorp Vault и других. Также в сферу интересов входят токены и сессии для систем контроля версий (GitHub CLI, Git), SSH-ключи, аутентификационные данные Docker, Helm, менеджеров пакетов npm, pnpm, Yarn, NuGet, Cargo, Composer, Maven, Gradle, pip и других.

Особо примечателен сбор данных, связанных с инструментами разработки на основе искусственного интеллекта: Claude, Gemini, Codex, Cline, OpenCode, Kilo. Отчёт Blackpoint подчёркивает, что многие из этих инструментов используют Model Context Protocol (MCP) для подключения к внешним системам - репозиториям, базам данных, облачным учётным записям. Настройки и токены для таких подключений хранятся локально (например, ~/.claude/mcp.json). Похитив их, атакующий получает тот же уровень доступа, который разработчик предоставил своему AI-ассистенту - вплоть до права на модификацию кода и данных.

Кроме того, Djinn Stealer целенаправленно ищет криптовалютные кошельки и хранилища ключей для Bitcoin, Litecoin, Dogecoin, Dash, Ethereum, Monero, Exodus, Atomic Wallet, Electrum. После сбора файлов архивируются в формат PAX, сжимаются gzip, шифруются AES-256-GCM и отправляются на сервер эксфильтрации. Даже при перехвате трафика содержимое архива не может быть восстановлено без закрытого RSA-ключа оператора.

Предоставленный отчёт Blackpoint содержит полные индикаторы компрометации, включая хеши файлов TaskWeaver и Djinn Stealer, сетевые индикаторы (IP, домены, шаблоны URI) и поведенческие индикаторы (запуск node.exe с подозрительными аргументами, создание файлов разведки). CISA уже добавила CVE-2026-48558 в каталог известных эксплуатируемых уязвимостей, что признаёт активное использование этой уязвимости в реальных атаках.

Последствия атаки выходят далеко за пределы заражённого сервера. Одно нарушение аутентификации позволило злоумышленнику превратиться в доверенного технического специалиста, а затем - получить доступ к широкому спектру систем. Особую опасность представляет то, что учётные данные и токены, собранные на рабочей станции разработчика или администратора, могут оставаться действительными после изоляции исходного хоста. Атакующий может повторно войти в инфраструктуру через облачные сервисы, системы сборки, репозитории кода или среды заказчиков, не используя исходный вредоносный код.

Для MSP концентрация риска усиливается, поскольку одно скомпрометированное RMM-средство способно открыть доступ ко всем управляемым клиентам. Необходимо не только оперативно установить исправление уязвимости, но и провести ревизию логов на предмет признаков предшествующей эксплуатации, сменить все скомпрометированные учётные данные, токены и ключи. Следует ограничить прямой доступ к RMM-интерфейсам через VPN или прокси, внедрить многофакторную аутентификацию с защитой от фишинга и сегментировать доступ технических специалистов по клиентам и функциям. Дополнительно стоит настроить оповещения о запуске Node.js, PowerShell, Python или других скриптовых сред через RMM, особенно из временных и пользовательских каталогов, а также ограничить использование временных туннельных сервисов наподобие trycloudflare.com.

Этот случай наглядно демонстрирует, что современные атаки ориентированы не на захват самого хоста, а на сбор переносимых цифровых удостоверений и секретов. Только комплексная защита, включающая сокращение времени жизни учётных данных, сегментацию доступа и поведенческий мониторинг, может ограничить возможный ущерб от таких инцидентов.

Индикаторы компрометации

IPv4 Port Combination

  • 96.126.130.126:58942

Domain

  • a.dev-tunnels.com

User-Agent

  • telemetry-client/1.0

SHA256

  • 00cc86d1144020c24c8fbb3a8dc6b908926497ebd23be3bf854360f93d1c8f4c
  • f4a72600a3735c2a4d843875ea61bbb6f935a1af51a81f2fbc992ce11ba94afc

Комментарии: 0