Журналисты и исследователи из QiAnXin XLab зафиксировали массовую кампанию против сайтов на Ghost CMS. Злоумышленники использовали критическую ошибку в Content API, чтобы получить доступ к админскому ключу, а затем подменяли статьи и вставляли вредоносный JavaScript в нижнюю часть страниц.

На выходе пользователи видели фальшивую CAPTCHA-страницу. Дальше их подталкивали к опасному сценарию: скопировать команду в системное окно Windows и запустить вредоносную цепочку. По данным XLab, атака затронула более 700 сайтов, включая медиа, университеты и финансовые компании.

Какую проблему решаем

Если ваш сайт работает на Ghost CMS, главная угроза тут не только в самой уязвимости. Опаснее то, что атакующие получают доступ к админским функциям, меняют публикации и превращают легитимный ресурс в площадку для обмана посетителей.

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

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

Что подготовить заранее

Владельцу сайта нужен не один «волшебный» инструмент, а набор базовых вещей. Сначала проверьте, какая версия Ghost установлена, есть ли свежие обновления, сохранены ли резервные копии и кто имеет доступ к админке.

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

Для пользователя, который просто заходит на чужие сайты, правило ещё проще: не копируйте команды из странных окон, не доверяйте внезапным CAPTCHA и не вводите данные на страницах, которые появились «из ниоткуда».

Пошаговые действия

1. Обновите Ghost CMS

Ghost исправил уязвимость в версии 6.19.1 ещё в феврале 2026 года. Если сайт до сих пор работает на более старой сборке, его нужно срочно обновить, а затем проверить, не ломались ли права доступа и не менялись ли настройки публикаций.

2. Смените ключи и пароли

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

3. Просмотрите логи входов и публикаций

Ищите подозрительные входы, всплески активности и изменения статей в необычное время. Если на сайте появились вставки в конце материалов, лишние скрипты или неизвестные iframe-элементы, это повод немедленно изолировать ресурс.

4. Уберите следы внедрения

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

5. Предупредите тех, кто мог зайти на сайт

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

6. Пользуйтесь защитой в чужой сети

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

Как проверить себя

Проверьте три вещи: сайт обновлён до версии Ghost 6.19.1 или новее, админские ключи пересозданы, а в коде страниц нет постороннего JavaScript. Если хотя бы один пункт провален, считать инцидент закрытым нельзя.

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

Что делать, если не получилось

Если вы не уверены, что сайт чист, отключите публичный доступ к админке, ограничьте вход по IP и верните ресурс на резервную копию, сделанную до инцидента. Потом заново проверьте тему, плагины, API-ключи и журналы доступа.

Если атака затронула вашу организацию, лучше подключить внешнего специалиста по инцидентам. Самостоятельные попытки «быстро всё почистить» часто оставляют лазейку, через которую злоумышленники возвращаются.

Практический чек-лист

  • Проверил версию Ghost CMS и поставил обновление до 6.19.1 или новее.
  • Сменил пароли, API-ключи и токены, связанные с админкой.
  • Просмотрел логи входов, публикаций и изменений шаблонов.
  • Удалил посторонний JavaScript, iframe и неизвестные вставки.
  • Подготовил уведомление для посетителей сайта, если был инцидент.
  • Проверил резервную копию и план отката на чистую версию.
  • Зафиксировал порядок работы с публичными сетями на случай срочных проверок вне офиса.
Поделиться: