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

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

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

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

2

Решение

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

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

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

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

4

Другие решения

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

  1. Если это хорошо известное вредоносное ПО, вы можете посмотреть на сканер вредоносных программ. Один бесплатный вариант с открытым исходным кодом Мальдет от 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, но это, как правило, надежный совет по безопасности)

4