Как найти причину спама у себя на сайте?
Доброго времени суток.
Есть проблема на сайте. На почту валиться спам, с периодичностью, 1-15 мин.
По логам выяснилось с какой страницы идет отправка. Эта страница была удалена с сайта. Но судя по логам, с нее все так же идут спам письма на почту. Интересно то, что на данной странице даже нету такой формы с которой идет отправка
Может кто подскажет в какую сторону копать и как найти причину?
Дополнительно:
А с чего вы вообще решили что спам идёт с какой-то станицы?
Может кто-то просто шлёт письма?
не
Есть проблема на сайте.
а
Есть проблема на сайте WORDPRESS
это существенно меняет задачу
+ обязательный disclaimer ( им можно начинать):
с целью развития сайта на WORDPRESS мною были установлены некоторые модули и аддоны. Происхождение некоторых из них я плохо понимаю, а часть из них имеет статус nulled так как является форком платных версий. Также я не полностью отдаю себе отчет как данные модули взаимодействуют с голым вордпрессом
и второй:
сим подтверждаю, что версия Вордпресс у меня такая то, и последний раз обновлялась тогда-то
после такой полноты данных Вам сразу подскажут что нужно делать
Ответы:
В каждом письме есть заловки. Обычно программы их не показывают, но можно найти пункт меню "Показать заголовки" или "Подробности", или ещё как. И вот там есть заголовок(ки) "Received:". В самом нижнем таком заголовке должен быть указан IP-адрес отправителя этого письма. Ну а дальше снизу вверх перечислены почтовые сервера, через которые письмо проходило. Ну и можно проследить как имено письмо отправлено, вашим web-сервером, или спамером, мимикрирующим под этот сервер.
P.S. И возможно вы ошиблись со страницей-генератором спама...
- Received: from postback17c.mail.yandex.net (postback17c.mail.yandex.net [2a02:6b8:c03:500:1:45:d181:da17])
by zt2oo7pun7ugtd3s.myt.yp-c.yandex.net (notsolitesrv/Yandex) with LMTP id tHi1mNgNZa-UCON23Z1
for ; Fri, 09 Jun 2023 19:52:08 +0300
Received: from mail-nwsmtp-mxfront-production-main-77.iva.yp-c.yandex.net (mail-nwsmtp-mxfront-production-main-77.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:9484:0:640:a981:0])
by postback17c.mail.yandex.net (Yandex) with ESMTP id EAA0A5E4CF
for ; Fri, 9 Jun 2023 19:52:07 +0300 (MSK)
Received: from vh416.timeweb.ru (vh416.timeweb.ru [92.53.96.149])
by mail-nwsmtp-mxfront-production-main-77.iva.yp-c.yandex.net (mxfront/Yandex) with ESMTPS id 7qZOPx6YMSw0-fouYlXPw;
Fri, 09 Jun 2023 19:52:07 +0300типа вот это?
- Ксения Тимошенко, да, оно самое. И 92.53.96.149 видимо ваш web-сервер, да? Тогда смотрите логи web-сервера по поводу HTTP-запросов именно в эту секунду (возможно время на сервере и почтовике немного расходится). Да вы видимо уже это сделали. Ну и анализируете, почему найденая страница генерирует почтовые сообщения. Возможно спамер пользуется очередной дырой в Wordpress.
- AUser0, уже и из резервной копии сайт был восстановлен, и база данных, спам все равно идет. Страница была вообще удалена, но результата нету. Постоянно по логам одно и то же устройство, только ip разные
- Ксения Тимошенко, каков прогресс, сколько уже раз успели восстановить всё из бэкапа, со стиранием страницы, которая по вашему мнению отсылает спам? Больше 100500 раз, или меньше 100500 раз? Хоть какой-то эффект накапливается?
- AUser0, Меньше 100500 раз, эффекта нет
- Ксения Тимошенко, как определено, что виновата именно "та страница"?
Злоумышленники чаще всего не оставляют один бэкдор. Скорее всего, есть где-то ещё, и не исключено, что даже в бэкап попало.
- shurshur, По логам POST запрос идет именно с данной страницы
Был сейчас установлен плагин Cerber, и он показывает ту же страницу что и в логах, теперь эти письма не отправляются а блокируются. "Отправка формы со спамом заблокирована Обнаружен бот". Теперь вопрос как его найти)
- Ксения Тимошенко, например, может через crontab или по вызову другой страницы (в том числе GET-запросом) восстанавливать и затем делать GET-запрос. Я бы посоветовал также проанализировать запросы с того же IP, что и сделал POST, возможно, будет сразу заметно, что именно делается. Также посмотреть cron на сервере (если это возможно) и возможно механизмы регулярных запусков задач в самом движке (я в WP не очень, не знаю, есть ли там такое).
Вообще, я сталкивался, что мошенники свои страницы засовывают, например, в свалку картинок в uploads, где их сложнее заметить. Если целенаправленно поискать там php-файлы, может оказаться, что вредонос быстро найдётся (и обязательно проверить содержание заглушечных index.php, которые должны быть именно заглушками). Кстати, неплохой идеей является настроить так, чтобы в каталогах, где не должно быть php-кода, файлы не выполнялись как код (но придётся повозиться с настройкой).
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Если письма продолжают уходить после удаления страницы, почти наверняка причина не в самой странице как в контенте. В WordPress запрос может попадать на старый URL, а обрабатывать его будет плагин, тема, REST endpoint, admin-ajax, заражённый файл или бэкдор. Удаление записи не удаляет обработчик, который отправляет письма.
Порядок проверки такой:
/wp-admin/admin-ajax.php, REST API, форма плагина, старый URL, файл вuploads.wp-content/uploads,wp-content/cache, папки темы и плагинов на PHP-файлы, которых там быть не должно.Быстрая CLI-проверка подозрительных PHP-файлов в uploads:
find wp-content/uploads -type f ( -name "*.php" -o -name "*.phtml" -o -name "*.phar" )
На shared-хостинге лучше попросить поддержку дать точную связку: время, URL, IP, user-agent, скрипт-обработчик и mail log. Если Cerber или другой firewall блокирует отправку, это хорошо как временная защита, но не лечение. Нужно найти источник: уязвимая форма, старый плагин, нулёная тема, оставленный бэкдор или компрометированный доступ.