Взлом сайта: как выявить и удалить вредоносный код

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

    Почему сайт показывает 100+ гостей, хотя вы зашли один?

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

    Основные признаки заражения сайта

    • Необъяснимый рост числа посетителей - сотни гостей при нулевой рекламе.
    • Самовосстановление файлов - после удаления они появляются снова.
    • Блокировка соседних сайтов - на хостинге перестают открываться другие проекты.
    • Подмена контента - на страницах отображается чужой или спамный материал.
    • Предупреждения от хостинг-провайдера - письма о превышении нагрузки или подозрительной активности.

    Почему сканеры хостинга не находят вирус?

    Стандартные антивирусы на сервере часто ищут только известные сигнатуры. Современные вредоносные скрипты могут быть обфусцированы (запутаны) или маскироваться под легитимные файлы. Например, код может быть вставлен в изображения (стеганография) или закодирован в base64.

    Как самостоятельно выявить вредоносный код

    Проверьте файлы на недавние изменения

    Сравните даты модификации файлов с датой, когда вы заметили проблему. Особое внимание уделите файлам: index.php, .htaccess, wp-config.php (для WordPress), а также файлам в папках /uploads/ и /themes/.

    Используйте онлайн-сканеры

    Сервисы вроде VirusTotal или Sucuri SiteCheck могут обнаружить подозрительные вставки. Загрузите подозрительный файл или укажите URL сайта.

    Проверьте базу данных

    Вредоносный код может быть записан в поля post_content или option_value. Используйте SQL-запросы для поиска подозрительных строк, например: SELECT * FROM wp_posts WHERE post_content LIKE '%base64%'.

    Пошаговая инструкция по удалению вируса

    1. Сделайте резервную копию всех файлов и базы данных.
    2. Удалите подозрительные файлы - особенно те, что имеют случайные имена (например, a1b2c3.php).
    3. Восстановите чистые версии - скачайте свежий дистрибутив CMS, темы и плагинов с официальных источников.
    4. Смените все пароли - от админки, FTP, базы данных и хостинг-панели.
    5. Обновите всё ПО - CMS, плагины, темы до последних версий.
    6. Установите защиту - используйте WAF (Web Application Firewall) и плагины безопасности.

    Профилактика повторного заражения

    • Регулярно обновляйте систему управления контентом.
    • Используйте сложные пароли и двухфакторную аутентификацию.
    • Ограничьте права доступа к файлам (644 для файлов, 755 для папок).
    • Подключите мониторинг целостности файлов (например, через плагин Wordfence).

    Если проблема сохраняется после всех шагов, обратитесь в службу поддержки хостинга - они могут провести глубокий анализ на уровне сервера.

    Часто задаваемые вопросы