Взлом сайта JDownloader: злоумышленники подменили установщики и развернули сложный вредоносный фреймворк

information security

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

Описание

Вредоносный установщик не имел цифровой подписи - Windows SmartScreen блокировал его, поэтому жертве приходилось вручную обходить предупреждение. Внутри установщика находился легитимный инсталлятор JDownloader, а также зашифрованная полезная нагрузка второго этапа. Анализ показал, что эта нагрузка служит "квартирмейстером" кампании: она разворачивает пять компонентов из встроенных ресурсов, зашифрованных с помощью XOR. Среди них - обфусцированный Python-бот, библиотека времени выполнения PyArmor v9, загрузчик руткита r77, а также политика целостности кода Windows Defender Application Control (WDAC) и сама среда Python 3.14.

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

Самый опасный элемент атаки - политика WDAC. Она размещается в системной папке и представляет собой список запретов на запуск 50 исполняемых файлов средств защиты. После перезагрузки компьютера не могут стартовать процессы Avast, AVG, Avira, Windows Defender, HitmanPro, утилиты удаления вирусов "Лаборатории Касперского" и ряд компонентов Windows Security и Windows Update. На форумах один из пострадавших сообщил, что после выполнения вредоносного установщика Windows Defender полностью исчез из системы. Этот приём известен как MITRE T1562.001, но встречается редко. Он требует прав администратора, которые жертва предоставляла, обходя оба предупреждения - и SmartScreen, и UAC.

Затем загрузчик записывает первоначальную конфигурацию бота в реестр Windows, используя RC4-шифрование и шестнадцатеричное кодирование, так что строки выглядят как случайные данные. В конфигурации хранятся идентификатор кампании и шесть так называемых dead-drop resolver (DDR) - промежуточных URL, с помощью которых бот узнаёт адреса командно-контрольных серверов (C2). Механизм DDR работает так: злоумышленник публикует на легитимных веб-страницах (например, Telegra.ph или Rentry) зашифрованные записи с IP-адресами C2. Бот загружает эти страницы, расшифровывает данные и подключается к указанным серверам. Если инфраструктуру C2 необходимо сменить, оператор просто обновляет страницу DDR, и все заражённые машины автоматически переключаются на новые адреса.

Исследователи извлекли все шесть URL DDR. Два из них указывали на работающие C2-серверы (parkspringshotel[.]com и auraguest[.]lk), ещё два содержали заглушки для будущей ротации, один оказался удалён, а последний представлял собой скрытый сервис в сети Tor. Кроме того, в бооте реализован резервный алгоритм генерации доменных имён (DGA), который на основе четырёх seed-значений и 14 доменов верхнего уровня еженедельно создаёт 56 кандидатов. Сейчас ни один из этих доменов не зарегистрирован - операторы полагаются исключительно на механизм DDR, но DGA гарантирует выживание сети даже при одновременной блокировке всех страниц DDR и C2.

Протокол обмена боота с C2 также отличается проработанностью. Он использует двухуровневое шифрование: бот отправляет открытый ключ RSA-2048, обёрнутый в OAEP, затем сервер подтверждает владение закрытым ключом, возвращая шифрованное "ok". Каждое последующее сообщение зашифровано алгоритмом AES-256-GCM, причём счётчик последовательности в каждой стороне служит аутентифицированными данными, что исключает повторную отправку и переупорядочивание пакетов. После рукопожатия бот регистрируется с идентификатором кампании, получает уникальный bot_id и bot_pass, хранит их в реестре и начинает опрашивать C2. Основная функция боота - удалённое выполнение произвольного Python-кода, то есть атакующий может развернуть любой дополнительный инструмент без загрузки новых бинарных файлов.

Обнаруженные C2-серверы, а также сервер для размещения полезной нагрузки под Linux работают на базе уязвимой CMS QloApps - системы бронирования отелей. Это наводит на мысль, что злоумышленники целенаправленно ищут уязвимости в данном программном обеспечении для создания своей инфраструктуры. Ни один из доменов на момент обнаружения не числился вредоносным в VirusTotal.

Вредоносная программа на Windows включает также загрузчик руткита r77 размером 176 КБ. Этот компонент открытого исходного кода адаптирован для скрытия процессов и файлов с префиксом $77. Загрузчик выполняет обход интерфейса сканирования вредоносных программ Windows (AMSI), внедряет свои библиотеки в процесс winlogon.exe, устанавливает службу $77svc и обеспечивает переживание перезагрузки. После активации руткита Python-бот переименовывает свой процесс и раздел реестра, скрывая их от диспетчера задач и большинства средств безопасности.

Под атаку попали не только пользователи Windows, но и Linux. Специалисты обнаружили вредоносный скрипт установки для Linux, который использует корневой доступ, загружает архив tar.gz с сервера, маскируясь под SVG-изображение, и устанавливает SUID-помощник, позволяющий выполнить код с правами суперпользователя. Анализ Python-байткода подтвердил, что Linux-версия боота полностью идентична Windows-версии: те же ключи RSA, те же алгоритмы DGA, такое же шифрование RC4, тот же протокол C2. Разница лишь в версии Python: на Linux используется 3.12, на Windows - 3.14.

Разработчики JDownloader восстановили чистые установщики 9 мая. Встроенное обновление приложения не было скомпрометировано - опасность грозила только тем, кто скачивал установщик с сайта в период с 6 по 7 мая. Людям, которые запустили вредоносный установщик, рекомендуется проверить папку CodeIntegrity на наличие чужого файла политики, удалить его и перезагрузиться, а также изучить разделы реестра на предмет подозрительных ключей. Однако из-за руткита частичная очистка может быть ненадёжной, поэтому самым безопасным решением считается полная переустановка операционной системы.

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

IPv4

  • 172.96.172.91
  • 209.133.215.178
  • 66.29.137.25

Domains

  • auraguest.lk
  • checkinnhotels.com
  • parkspringshotel.com

SHA256

  • 25744e90bfa44cbcbf1f3d3c3cb90dd79dd32a6e359df9d2660ff251d6d03b46
  • 33318499489cdb82543c0bfea699b98f5928c7a360966df6e958a9cbc2eab3fe
  • 5a6636ce490789d7f26aaa86e50bd65c7330f8e6a7c32418740c1d009fb12ef3
  • 5c887054cb1dce077943afa955db43306f66795f7cbda8233d8ba25230a23d41
  • 5ee86c177dc5bdba05e3bdc67b07115c66097f825fff257bf0d4a999bbb8a1ea
  • 5fdbee7aa7ba6a5026855a35a9fe075967341017d3cb932e736a12dd00ed590a
  • 6550672cac21e036882921dd934ee06552dc74d3b0a9e1ddc26f952855e11371
  • 6d975c05ef7a164707fa359284a31bfe0b1681fe0319819cb9e2c4eec2a1a8af
  • 77a60b5c443f011dc67ace877f5b2ad7773501f3d82481db7f4a5238cf895f80
  • bf47585bd0b39f0731f044b37a95eb7e311ad31b23b50306a113a3aa777dbfab

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