Веб-сайт

Восстановление Joomla-сайтов после волны взломов 2026

Восстановление Joomla-сайтов после волны взломов 2026

Incident response для Joomla

Летом 2026 года восстановили серию Joomla-сайтов после массовых автоматизированных взломов: остановили повторное заражение, удалили вредоносный код, закрыли уязвимости, обновили систему и вернули сайты в рабочее состояние.

Серия сайтовразные версии Joomla и конфигурации хостинга
JCE и ядрозакрыты точки входа и известные уязвимости
Файлы + базаочистка проводилась во всех слоях сайта
Восстановлениепроверены страницы, формы и административная часть

Ситуация

Обновления было недостаточно: сайты уже содержали закладки

На заражённых проектах встречались посторонние PHP-файлы в каталогах загрузок, веб-шеллы, изменённые системные файлы, неизвестные профили редактора и администраторы, вредоносный JavaScript в шаблонах, модулях и базе данных.

Часть сайтов продолжала открываться, но перенаправляла посетителей, рассылала спам или давала атакующему скрытый доступ. Другие проекты выдавали ошибки и требовали восстановления критических файлов.

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

Основной вектор волны

Уязвимость JCE позволяла загрузить исполняемый файл без авторизации

Главным массовым риском начала лета стала критическая уязвимость JCE Pro. Во всех версиях до 2.9.99.5 недостаточная проверка доступа позволяла неавторизованно импортировать профиль редактора. Такой профиль мог разрешить загрузку произвольных файлов, включая PHP, после чего на сервер помещался веб-шелл.

  • JCE Pro обновляли до исправленной актуальной версии; для устаревших проектов применяли официальный патч как временную меру;
  • удаляли неизвестные профили JCE и проверяли разрешённые расширения файлов;
  • искали обращения к задаче импорта профилей и загрузочным обработчикам в журналах;
  • проверяли каталоги images, media и tmp, куда чаще всего попадал исполняемый код.

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

Какие уязвимости закрывали

Патчили ядро Joomla и установленные расширения

Набор проблем отличался от проекта к проекту. После инвентаризации версий закрывали подтверждённые уязвимости и удаляли расширения, которые больше не поддерживались.

Ядро Joomla

  • CVE-2026-40383 — Local File Inclusion через параметр layout;
  • CVE-2026-40384 — path traversal в API компонента Media;
  • CVE-2026-48896 и CVE-2026-48897 — обход многофакторной аутентификации;
  • CVE-2026-48898 и CVE-2026-48904 — повышение привилегий через com_users;
  • CVE-2026-35223 — недостаточная проверка доступа в com_config API.

Расширения и июльские исправления

  • JCE до 2.9.99.5 — неавторизованный импорт профиля и произвольная загрузка файлов;
  • SP Page Builder — критический path traversal в Media Manager у устаревших версий;
  • Balbooa Forms — обновление версий с исправлением XSS и проверка каталогов загрузок;
  • июльские исправления Joomla 5.4.7 и 6.1.2: XSS и ошибки контроля доступа, включая CVE-2026-48947–CVE-2026-48958.

Поддерживаемые сайты обновляли до актуальных безопасных веток. Для старых Joomla и PHP, которые нельзя было обновить сразу, применяли совместимые официальные патчи, серверные ограничения и формировали план миграции.

Процесс лечения

Работали от фиксации инцидента до контрольного запуска

1. ИзоляцияСохраняли файлы, базу и журналы, ограничивали повторный вход.
2. ОчисткаПомещали вредоносные файлы в карантин и очищали базу.
3. ПатчиОбновляли Joomla, JCE и другие расширения, удаляли ненужные.
4. ЗапускВосстанавливали сайт и проверяли основные пользовательские сценарии.
Карантин вредоносных файлов и восстановление Joomla из проверенной копии
Вредоносный код изолировался, а восстановление выполнялось только из проверенных файлов и резервных копий.

Что удаляли

Проверяли не только папку images

  • PHP-веб-шеллы, файлы с двойными расширениями и нестандартными обработчиками;
  • обфусцированные вставки с eval, base64_decode и похожими конструкциями;
  • вредоносный JavaScript в шаблонах, модулях, материалах и настройках;
  • изменённые index.php, .htaccess и системные файлы Joomla;
  • неизвестных администраторов, профили JCE, задания cron и оставленные точки повторного доступа;
  • заражённые резервные копии, из которых сайт мог быть повторно восстановлен.

Защита после восстановления

Закрыли повторный запуск вредоносного PHP

  • на Nginx и Apache запретили выполнение PHP и серверных скриптов в каталогах загрузок, кэша и журналов;
  • сменили административные, хостинговые, SSH/FTP и другие скомпрометированные доступы;
  • проверили права файлов, пользователей Joomla и настройки многофакторной аутентификации;
  • настроили чистые резервные копии и контроль журналов после запуска;
  • проверили формы, каталог, корзину, отправку почты и административную часть каждого восстановленного проекта.

Итог серии работ

Сайты восстановлены, выявленные точки входа закрыты, серверная защита усилена

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