1. Проведите расследование
В первую очередь необходимо выделить все возможные способы заражения вашего сайта:
- Обыкновенный подбор паролей, когда злоумышленник получает прямой доступ к вашему сайту просто подобрав ваш пароль для администрирования, либо получив его с помощью вирусов на вашем персональном компьютере. Украдены могут быть совершенно любые пароли, как от панели управления сайтом, так и от самого сервераю
- Уязвимости в коде вашего сайта могут позволить злоумышленнику разместить на сайте произвольный код, который конечно же будет выполняться на стороне вашего сервера.
- Заражение внешнего ресурса (баннер, счетчик, реклама). Стоит внимательно относиться ко всему, что вы размещаете на сайте, ведь предоставленный вам код может быть опасен для вас и ваших посетителей.
2. Ликвидируйте клиентское заражение
Проанализируйте информацию о заражении в Яндекс.Вебмастере на вкладке «Безопасность» и проверьте сообщения о заражении в Search Console от Google. Информация о заражении в обоих случаях будет включать в себя список зараженных страниц и рекомендации по ликвидации возникшей ситуации.
3. Ликвидируйте серверное заражение
- Остановите ваш web-сервер и оградите тем самым пользователей и поисковых роботов от потенциальной опасности, просканируйте антивирусом все файлы веб-сервера и устройства, имеющие к нему непосредственный доступ. Смените пароли для FTP и SSH, а так же от административных панелей хостинга и аккаунтов администраторов CMS.
- Восстановите ваш сайт из резервной копии, если есть такая возможность и имеется копия, сделанная до момента заражения, обновите дополнительные программные утилиты используемые с сайтом (это, возможно, закроет доступ злоумышленнику на ваш сервер, если он воспользовался уязвимостью в этих утилитах).
- Уделите время удалению лишних пользователей, имеющих возможность администрировать ваш сайт и старайтесь впредь держать полномочия под контролем, это очень важно.
- Проверьте сервер на наличие web-шелла, который позволяет изменять исходный код файлов без необходимости авторизоваться.
- Проверьте файлы сервера на наличие вредоносных включений. Особое внимание стоит уделить следующим типам файлов:
— серверные скрипты, шаблоны CMS, базы данных;
— конфигурационные файлы веб-сервера и интерпретатора серверных скриптов;
— если вы пользуетесь виртуальным хостингом, проверьте другие сайты расположенные на этом же сервере, возможно заражение достигло масштабов сервера
Обратите внимание при поиске вредоносного кода:
- Посторонний код, незнакомый вам, который отсутствует в резервной копии или в системе контроля версий
- Нечитаемый код (неструктурированный, обфусцированный)
- Даты изменения файлов (зачастую они модицифируются в момент заражения, либо позже)
- «Опасные» функции для языка PHP, которые зачастую используются вредоносными программами:
— динамическое исполнение кода (eval, assert, create_function);
— обфускация (base64_decode, gzuncompress, gzinflate, str_rot13,preg_replace);
— получение удаленных ресурсов (file_get_contents, curl_exec).
Вы можете прочитать об этом в Яндексе