Powered by Prisma CMS

Читайте все статьи на prisma-cms.com

Fi1osof
12 дек. 2018 г., 6:38

Вирус проник на MODX-сайт. В папке assets в modx уничтожены все скрипты. Решение.

В блоге Песочница

Всем привет!


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

Решение этой проблемы практически во всех случаях одинаковое.

1. Восстанавливаем из бэкапа

Проверьте внимательно, есть ли у вас бэкабы с не зараженной версией сайта. При этом не стоит беспокоиться за базу данных и бэкапов достаточно только файлов, бэкап базы не понадобится. С этой волной я пока не видел, чтобы база пострадала (хоть в чем-то можно поблагодарить злодея). Самый надежный бэкап - это до 20-го июля 2018 года. По моей статистике именно в те дни пошла зараза. Если у вас есть такой бэкап, для вас уже все хорошо решилось! Далее алгоритм простой:

Сначала делайте свежий бэкап текущего сайта. Да, даже если он заражен. Никогда не знаешь что и как пойдет, и всегда должна быть возможность откатиться. Вообще при любом боле менее массовом случае обновления/удаления данных, не ленитесь делать бэкапы.

Затем перенесите содержимое сайта в другую папку. Да, по сути вы уничтожаете сайт. У вас перед восстановлением в папке не должно быть файлов вообще. На это есть две причины:

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

Во-вторых, есть вероятность, что в востанавливаемой версии не будет каких-то картинок, которые вы загружали в последнее время. Так если возможность просто их перенести копированием на новый сайт. Но не делайте этого вслепую и особенно обращайте внимание на маленькие файлы, было замечено, что этот злодей заразу записывал в некоторые картинко-файлы. Проблема в том, что если их напрямую вызывать, то это не страшно, будет просто битая картинка. А вот когда картинка подгружается через php-скрипт функциями типа include/require, то тут уже содержимое выполняется как php-код. А этот злодей хорош! ))

Так, файлы перенесли, сайт очистили, теперь восстанавливаем его из архива и проверяем работу. Работает? Вируса нет? Замечательно! Считайте, уже все победили. Но осталась пара мелочей:

1. Обновляемся до MODX-2.6.5. Да, есть уже 2.7.0 и будут новее, но 2.7.0 замечен был в том, что ломает сайты при обновлении, так что надежней сначала на 2.6.5, потом сделать свежий бэкап, и только потом уже пробовать на последнюю версию MODX обновляться.

2. Обновляем компонент Gallery. Если его нет, то и здорово. Если есть, то обязательно обновляем (по-моему, сейчас это версия 2.7.2). Основная часть взломов именно через него прошла.

С этим этапом все. Если у вас он прошел, то вам дальше можно не читать, для вас все решилось положительно.

2. Бэкапов нет, надо восстанавливаться вручную

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

Ежели у вас самый крайний случай, что нет бэкапов, программисты потеряны, все файлы JS-уничтожены насовсем, отчаиваться все равно не стоит...

Для решения этой сложнейшей ситуации надо разобрать природу используемых JS-файлов на сайте.

Первая категория: чужие. В подавляющем числе случаев JS-файлы на MODX сайте (да и на большинстве других сайтов) - это сторонние решения, чаще всего устанавливаемые через готовые компоненты. Если вирус уничтожил JS-файлы того же минишопа, просто переустановите минишоп и все, JS-файлы его опять появятся. То же самое и с остальными компонентами.

Вторая категория: кастомные решения. Это когда программист пишет свое собственное решение. Такое почти всегда есть и с этим сложнее, переписать что было - часто вообще не возможно. Это по сути разработка с нуля. Но и здесь есть соломинка, про которую не все помнят или не знают: https://web.archive.org/ Попробуйте найти там свой сайт. MODX-Клуб есть. Ценность этого ресурса в том, что в отличие обычных поисковиков, он сохраняет у себя страницу полностью вместе со всеми стилями и скриптами. К примеру, вы можете посмотреть, как MODX-Клуб выглядел в 2013-ом. Вот там и можно попытаться найти ваши JS и CSS файлы утерянные.

На этом все.

P.S. если вы все-таки не справились с этой задачей, а надо, можете связаться со мной по почте n.lanets@modxclub.ru, цена вопроса от 5 000 р., но гарантия восстановления практически 100%, или деньги возвращаются.
Про дату: у меня самый ранний проблемный бэк был 18 июля 2018.
Ну, я не гугл, могу на пару дней ошибиться :) К тому же так и написал "в те дни", то есть погрешность допускалась. В любом случае, спасибо за корректировку!
Я не про то: просто может возникнуть ситуация, когда есть выбор 19 или 17 взять версию и может помочь сделать правильный выбор.
Плюс к тому может быть кто-то столкнулся с более ранними сложностями и скорректирует критическую дату.

Боюсь, что сейчас уже не будет такого богатого выбора)))
Пожалуй да: если только сейчас проблема замечена, то - вилы)
Судя по количеству запросов из метрики, есть еще такие "счастливчики"

Добавить комментарий