Устранение уязвимостей в MODX 2.6.5

Произошёл массовый взлом аккаунтов на MODX Revolution ниже версии 2.6.4. Расскажу, как защититься и что делать если сайт уже заражён.

MODX Revolution является достаточно защищенной CMS, но это не значит, что он неуязвим.

11 июля были найдены две критические уязвимости безопасности во всех версиях MODX Revolution до 2.6.4 включительно. Первая позволяет злоумышленникам удалять на сайте файлы и папки, вторая — загрузить и выполнить на сервере вредоносный код.

Простым языком, используя найденную уязвимость, можно рассылать спам, перекидывать посетителей на сомнительные сайты, использовать ваш сервер для майнинга или просто взять и удалить ваш сайт.

Аналогичная уязвимость была найдена так же в дополнении Gallery версии 1.7.0 и ниже.

Обновление до версии 2.6.5 с исправлением уязвимостей выпустили на следующий день. Дополнение Gallery было обновлено до версии 1.7.1.

Но как-то так получилось, что многих новость прошла стороной и начиная с 20 июля произошёл массовый взлом сайтов на MODX по всему Интернету и уязвимости активно продолжают использоваться. Заражение происходит массово и полностью автоматически.

Что делать

Если вы используете версию MODX 2.6.4 или ниже, есть большая вероятность того, что ваш сайт взломан. Рекомендую проверить его на наличие вредоносного кода и обязательно обновить его и дополнение Gallery до последней версии.

Опознать взломанный сайт можно по наличию подозрительных php-файлов в корне, их может быть много, самыми распространёнными являются dbs.php и cache.php. Иногда к ним добавляется майнер Monero (XMR). Далее следует проверить папку /assets/images. Наличие в ней файлов с расширением .php является еще одним подтверждением что сайт взломан.

Если сайт не взломан

Если подозрительных файлов не найдено — поздравляю, вы счастливчик, но обновиться нужно обязательно! Обновите MODX до последней версии, обновите дополнение Gallery, а затем на всякий случай смените пароли на базу данных и админку.

Что делать если сайт уже взломали

Если есть актуальный бэкап — восстановитесь из него, это самый быстрый и надёжный способ. Если бэкапа нет — сложнее.

Придется вручную удалить все подозрительные файлы из корня сайта папок core, manager и папки /assets/images. Можно попытаться сравнить количество и имена файлов со старым бэкапом (если он есть). В папке папки /assets/images вообще не должно быть никаких php файлов.

Пробежаться антивирусом, чтобы удостовериться не спряталось ли зараза, где нибудь еще.

Проверить содержимое файлов /index.php и /manager/index.php. В них может быть код, который редиректит посетителя на другой сайт. Если такой код найден, нужно через ssh пройтись по всем файлам и вычистить его.

Если зараженными оказались js скрипты, то скорее всего восстановить их будет невозможно, так как в большинстве случаях заменяется содержимое всего js-файла. Их можно взять из старого бэкапа (если он есть), а файлы популярных js библиотек (jQuery, Bootstrap) скачать на сайте разработчика. Не забудьте проверить права на файлы, по хорошему они должны быть выставлены в 640.

В базе данных последствий взлома пока замечено не было.

После восстановления сайта из бэкапа или чистки, обновите MODX до последней версии, обновите дополнение Gallery, а затем смените пароли на базу данных и админку.

Что еще можно сделать

Не забывайте делать бэкапы.

Никогда не пренебрегайте обновлениями безопасности для ваших сайтов.

Подпишитесь на новости MODX и поглядывайте в блог, следите за форумами, чтобы не пропустить следующую эпидемию.