Как найти поврежденные файлы php или WP на веб-сайте Wordpress

Хорошо, это немного проблема:

Недавно я получил работу в ИТ-компании (уровень малого бизнеса), и они занимаются веб-разработкой. Первоначально у босса был сторонний независимый разработчик, который создавал сайт для крупного клиента. Он был недоволен своим обслуживанием, поэтому он передал его мне (управление сайтом, изменение вещей и т. Д.). Я обнаружил, что веб-сайт занесен в черный список для спама, и что это, возможно, то, что называется "Ботал StealRat". Я немного почитал и обнаружил, что он обычно находится в папке wp-content/plugins и / или в файлах php, которых там быть не должно.

Дома я на машине с Linux, поэтому могу подключиться к серверу (также используя Filezilla для GUI). Кто-нибудь есть какие-либо советы о том, как я могу отследить эти поврежденные файлы и избавиться от этого? Я пытался просеивать файлы, но я не знаю, что я ищу. Любая помощь приветствуется, потому что это серьезная проблема.

2 ответа

Сначала сделайте резервную копию и проверьте, что операция восстановления из резервной копии работает!!

  1. Если это хорошо известное вредоносное ПО, вы можете посмотреть на сканер вредоносных программ. Одним из бесплатных вариантов с открытым исходным кодом является Maldet из rfxn. У меня нет ссылок на этот проект, и я не знаю, насколько хорошо он работает, но его можно настроить на ежедневное сканирование (cron job) и отправлять отчеты по электронной почте, и я думаю, что он также ежедневно обновляет свои подписи.

  2. Укрепите вашу установку PHP, отключив функции, которые обычный код не должен использовать. Используйте этот шпаргалку, чтобы начать.

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

  4. Для безопасности вы можете запретить выполнение всех файлов PHP по умолчанию и разрешить только те из них, которые находятся в утвержденном списке. Смотрите мой ответ здесь для вдохновения. Чтобы создать белый список "хороших" файлов, я бы включил auto_append_file установка в php.ini, Этот файл запускается в конце каждой сессии скрипта ( документы). Внутри файла вы можете использовать get_included_files функция, чтобы получить список всех файлов, которые были выполнены. Если вы запишите этот список в журнал, а затем просмотрите все незараженные страницы веб-сайта, вы получите список всех допустимых файлов PHP. Это твой белый список!! Как только вы это сделаете, используйте auto_prepend_file (также установлен в php.ini) заблокировать любой PHP, который не принадлежит этому списку. В следующий раз, когда злоумышленники попытаются запустить скрипт PHP, auto_prepend_file который всегда запускается первым, заблокирует его.

  5. Каждая часть программного обеспечения увеличивает вашу поверхность атаки, поэтому удалите все неиспользуемые плагины. Обновите все, что используется. Если возможно, включите автообновление (я не знаком с Wordpress, но это, как правило, надежный совет по безопасности)

Большинство испорченных сайтов WordPress связано с вредоносными темами и / или плагинами.

Попробуйте искать каждый случай exec(base64_decode( а также eval( (так как это наиболее распространенные фрагменты, скрытые во вредоносных файлах) в ваших файлах php в ваших каталогах wp-content / themes и wp-content / plugins, это должно стать хорошим началом.

Если вы знаете, когда веб-сайт был заражен, вы также можете попытаться найти файлы, отредактированные или добавленные в это время (это легко сделать в SSH, если у вас есть доступ к серверу).

Удачи вам, мне недавно пришлось почистить несколько сайтов WordPress, это была не прогулка.

Другие вопросы по тегам