Определение простыми словами
Malware (от англ. malicious software) — любое программное обеспечение, написанное со злым умыслом: украсть данные, заблокировать доступ за выкуп, использовать ресурсы жертвы для атак на третьих лиц или скрытно майнить криптовалюту. На сайтах малварь обычно представляет собой PHP-шелл, JavaScript-инъекцию в шаблон или вредоносный SQL-код в базе.
Веб-проекты заражаются через три основных канала: уязвимости в устаревших CMS и плагинах (особенно WordPress), компрометация FTP/SSH-паролей и установка пиратских тем с встроенным бэкдором. После заражения сайт начинает рассылать спам, перенаправлять посетителей на фишинг, отдавать скрытый контент поисковикам или вставлять майнер в страницы.
Последствия — попадание в чёрные списки Google Safe Browsing и Яндекс.Вебмастера, отключение хостером по жалобам, утечка базы клиентов, штрафы за нарушение 152-ФЗ. Защита строится из трёх уровней: предотвращение через WAF, обнаружение через регулярный аудит и сегментация прав доступа. Подробнее об угрозах — в статьях о ransomware и фишинге.
Сравнение
| Тип | Цель атаки | Способ заражения | Опасность |
|---|---|---|---|
| Вирус | файлы и исполнимые программы | самокопирование при запуске | средняя |
| Червь | сети и серверы | самораспространение через уязвимости | высокая |
| Троян | пользовательские данные | маскировка под полезное ПО | высокая |
| Ransomware | файлы пользователя | фишинг, RDP-брут, уязвимости | критическая |
| Spyware | пароли, переписка, банк | встроенные модули | высокая |
| Cryptojacker | CPU/GPU жертвы | JavaScript на сайте, заражённое ПО | низкая |
| Веб-шелл | захват сайта | уязвимости CMS, слабые пароли | критическая |
Кейсы использования
Где malware атакует чаще всего:
- WordPress с устаревшими плагинами nulled-сборки — каждый второй взлом в Рунете.
- Joomla и Drupal без обновлений безопасности — попадание в ботнет за неделю.
- VPS с открытым SSH на 22 порту и слабым паролем — брутфорс за часы.
- FTP с сохранёнными паролями в FileZilla на заражённом ПК администратора.
- Почтовые серверы без SPF/DKIM — спам-релей через скомпрометированный аккаунт.
Признаки заражения сайта:
- Резкое падение трафика и предупреждение Google «Сайт может быть взломан».
- Появление непонятных файлов в корне (radio.php, wp-fix.php, .htacces).
- Новые администраторы в CMS, которых вы не создавали.
- Хостер прислал уведомление о превышении CPU или подозрительных исходящих запросах.
- В Яндекс.Вебмастере появились страницы с фарма-словами: «viagra», «casino», «рассрочка».
Технические детали
Базовая диагностика заражённого сайта:
# Поиск подозрительных PHP-файлов с base64_decode и eval
grep -rEn "base64_decodes*(|evals*(|gzinflates*(" /var/www/site/
--include="*.php" --color
# Файлы, изменённые за последние сутки (вне обновления CMS)
find /var/www/site/ -type f -mtime -1 -not -path "*/cache/*"
# Проверка файлов CMS на изменение через хеши
wp checksum core --version=6.4
# Аудит подключений из веб-каталога
lsof -i -P -n | grep php-fpm
# Сканер ClamAV
freshclam && clamscan -ri /var/www/site/
# Поиск WordPress-веб-шеллов утилитой WPScan
wpscan --url https://site.ru --enumerate vp,vt,u
# Очистка крон-задач от вредоносных команд
crontab -l
# проверить вывод на curl/wget на сторонние домены
После очистки обязательно сменить все пароли (CMS, FTP, SSH, SQL), обновить CMS до актуальной версии и поставить защиту от DDoS с WAF-функционалом.
🔥 Где это применяется
Частые вопросы
Как понять, что сайт заражён?
Признаки: предупреждение Google Safe Browsing, появление неизвестных файлов в корне, новые админы в CMS, рост CPU без причины, уведомления хостера о подозрительной активности.
Поможет ли антивирус хостинга?
Имунифай и аналоги ловят известные сигнатуры, но пропускают новые шеллы и обфусцированный код. Это первая линия, не последняя — нужен ручной аудит после инцидента.
Можно ли восстановить сайт без бэкапа?
Иногда да: переустановить ядро CMS, сравнить контент с кэшем Google, очистить базу от инъекций. Но 95% инцидентов решаются проще откатом на чистый бэкап до заражения.
Как защититься превентивно?
Своевременные обновления CMS и плагинов, отказ от nulled-сборок, длинные пароли с менеджером, двухфакторка для админки, WAF, регулярные бэкапы и мониторинг изменений файлов.