Владимир Лучанинов: «Какие текстовые параметры учитывать при создании сайта»
Как сканировать сайты на вирусы

Такая ситуация может привести к наложению санкций со стороны поисковиков. В этой статье я расскажу, какие бывают вирусы, как они попадают на сайты и как с ними бороться.
2. Как вредоносный код попадает на сайт
3. Масштабы проблемы: взгляд со стороны хостинга
4. Виды сканеров
4.1. Для новичков: онлайн-сканеры и антивирусы ПК
- Сканирование с помощью онлайн-сканеров
- Сканирование с помощью антивирусов ПК
- Сканеры — PHP скрипты
- Специализированные программные сканеры
6. Профилактика рецидивов
7. Заключение
Вредоносный код: виды и принцип работы
В случае с сайтами, написанными на PHP, эксплоит чаще всего — PHP-код, который почти всегда зашифрован. Эксплоиты на зараженных сайтах встречаются практически всегда.
Что делает вредоносный код на сайтах
- Рассылает спам. Кроме того, что таким образом расходуются ресурсы системы, это обычно не влияет на работу сайта.
Но проблема в том, что если с сайта начинает идти спам, почтовые системы, такие как Gmail, Outlook, Yahoo! начинают воспринимать любые сообщения с сайта как спам.
- Занимается фишингом. Код крадет данные пользователей — например, номера кредитных карт.
Это может делать страница злоумышленника, которую он разместил на вашем сайте. Это грозит блокировкой сайта на уровне браузера — будет показываться красная страница, и на сайт никто не сможет зайти. Другие последствия: снижение рейтинга сайта в поисковой выдаче, сайт в черном списке Google.

- Распространяет вирусы для ПК.
- Занимается майнингом. Злоумышленник внедряет код, который использует ресурсы сайта. Они исчерпываются, и сайт перестает работать.
- Участвует в ботнете. У сайта возникают все те же проблемы, что при фишинге или майнинге, но сервер может еще и атаковать другие сайты.
Как вредоносный код попадает на сайт
В каждой из этих CMS есть уязвимости, через которые вредоносный код может попасть на сайт. Уязвимости для WordPress можно посмотреть на сайте WPScan Vulnerability Database, для Joomla! — Joomla! Vulnerable Extensions List.
Кроме этого, вредоносный код может загрузить на сайт сам разработчик или администратор сайта. Это происходит или по небрежности: например, администратор использует пиратских версии CMS/тем/плагинов, не изучив досконально их код. Или человек делает это со злым умыслом: например, клиент не расплатился с разработчиком, и разработчик мстит.
Масштабы проблемы: взгляд со стороны хостинга

Также по нашим наблюдениям, там, где появился один файл с вредоносным кодом, там их скоро становится больше. Поэтому типичный зараженный сайт содержит 10-20 и более файлов с вредоносным кодом. Перед тем, как просканировать сайт на вредоносный код, нужно обратить внимание на такие характеристики сканера:
- Размер базы сигнатур вредоносного кода;
- Частота обновления базы.
Виды сканеров
Преимущества: легко пользоваться.
Недостатки: ограниченные возможности сканирования и меньший процент выявления вредоносного кода.
Преимущества: могут обнаружить больше вирусов, чем онлайн-сканеры, так как код сканируется в той же среде, что и сайт.
Недостатки: в зависимости от сервера могут применяться ограничения для выполнения PHP. Поэтому возможны условия, когда скрипт не сможет выполняться корректно.
Преимущества: это инструменты, которые выполняются на уровне сервера и не ограничены интерпретатором PHP. Поэтому они могут работать надежнее и быстрее, а также лучше находят вредоносный код. Кроме этого, у коммерческого CXS есть эвристическое сканирование, которое выявляет подозрительные объекты.
Недостатки: плохо определяют вирусы. CXS в этом полагается на бесплатный ClamAV, у которого небольшие базы вирусных сигнатур. Кроме этого, оба сканера — консольные утилиты. Поэтому чтобы их применять, нужна подготовка.
Эти инструменты очень редко подходят для использования на веб-хостинге. Идеальный вариант использования обоих — на VPS или выделенном сервере.
При таком сканировании файлы сайта перемещаются в облако компании, предоставляющей услугу, и анализируются в нем. К сожалению, мы не смогли найти облачные сканеры, которые можно было бы бесплатно протестировать.
Этот инструмент агрегирует обработку файлов различными антивирусами.
Преимущества: его можно бесплатно использовать для поиска вирусов в загружаемых файлах.
Недостатки: те же, что и в сканерах вирусов
Поэтому мы сторонники того, чтобы сайт лечил разработчик или команда, в которую входит разработчик. Разработчик знает, как работает сайт, и может исправить проблемы, вызванные перемещением файлов с функциональным кодом в карантин.
Для новичков: онлайн-сканеры и антивирусы ПК
Сканирование с помощью онлайн-сканеров
![]() |
![]() |
![]() |
- Как видно на скриншотах, онлайн-сканер обнаруживает далеко не все образцы вредоносного кода.
- Онлайн-сканеры не могут лечить сайты.
Мы рекомендуем использовать онлайн-сканирование как экспресс-тест. Если онлайн-сканер нашел вредоносный код, дальше можете проверять сайт и лечить его с помощью более продвинутых программ.
Сканирование с помощью антивирусов ПК
Альтернативный способ загрузить файлы на ПК — использовать FTP или SFTP-клиент для подключения к серверу.
Бывают случаи, когда вредоносный код находится в базе данных и извлекается оттуда скриптом хакера. Такое встречается редко. Но несмотря на редкость, дамп базы нужно проверять.

Если антивирус нашел вредоносный код, используйте его для лечения сайта. После этого проверяйте сайт и лечите его специализированными сканерами для поиска эксплоитов.
Если объем сайта небольшой — до 256 MB, можете воспользоваться агрегатором VirusTotal. Использовать его так же просто, как и остальные онлайн-сканеры — нужно указать, где на ПК находится архив с сайтом и базой.
В нашем случае полный размер сайта был больше 256 MB. Поэтому мы проверили его файлы выборочно. Как видно на скриншоте, Virustotal использовал 58 антивирусных программ для стационарных ПК. В итоге только 19 антивирусов из 58 обнаружили вредоносный код в архиве.

Для продвинутых пользователей: сканеры-PHP скрипты и специализированные программные сканеры
Самый универсальный вариант — загрузить код сайта и его базу данных на локальный ПК и сканировать его доступными средствами. В этом случае вы сможете устанавливать и использовать любое ПО без оглядки на хостинг/сервер, на котором размещается сайт.
Предполагается, что на компьютере, на котором будут сканироваться файлы
после скачивания, стоит ОС Linux. В случае сканирования на стороне хостинга/сервера процедура та же — только к хостингу/серверу нужно подключаться по SSH.
Сканеры — PHP-скрипты
Теоретически сканеры-скрипты можно выполнять на сервере с сайтом.Практически часто бывают ограничения:
- Не все хостеры предоставляют доступ по SSH.
- На хостинге могут быть ограничения на время выполнения PHP скриптов. Поэтому сканирование может длиться бесконечно.
Для примера мы протестировали условно бесплатный сканер AI-Bolit.
Чтобы просканировать сайт, нужно:
Для экспресс-сканирования: $ php ai-bolit.php --mode=1
Параноидальный режим для лечения: $ php ai-bolit.php --mode=2
![]() |
![]() |
Специализированные программные сканеры
- # cd ~
- wget — скачать последнюю версию в текущий каталог;
- tar -xvf maldetect-current.tar.gz — распаковать архив;
- ls -d */ | grep maldetect — узнать, как называется каталог с только что распакованной версией;
- cd maldetect-1.6.2 — перейти в каталог;
- # ./install.sh — запустить установку;
После установки можно выполнять такие команды:
- # maldet -a /path/to/files — просканировать каталог, в котором находится сайт;
- /path/to/files — расположение файлов сайта, который нужно просканировать;
- # maldet --report 180731-2020.1148 — просмотреть отчет о сканировании. Имя отчета находится в выводе команды предыдущей команды.
- # maldet --q 180731-2020.1148 — переместить все файлы из отчета в карантин.
Результаты сканирования зараженного сайта:


- AI-Bolit: 184 вредоносных скриптов;
- maldet/LMD: 57 malware hits;
- CXS: 65 fingerprints + 10 Viruses.
Что делать после сканирования сайта
Один из самых надежных способов: восстановить все файлы, которые содержали вредоносный код, из архива, сделанного до заражения сайта. Это хороший вариант только если вы уверены, что после создания архива в файлы сайта не вносили изменения.
После тестирования мы увидели, что ни один из инструментов не может гарантированно и автоматически восстановить сайт до состояния, в котором он был до взлома. Поэтому только сотрудничество с разработчиком, восстановление файлов и содержимого базы данных из резервных копий может дать вам какие-то гарантии.
Также на этапе лечения разработчики сайта должны найти, как вредоносный код попал на сайт. Некоторые инструменты могут помочь с информацией об уязвимостях. Например, утилита AI-Bolit сообщает об известных ей уязвимостях в узком спектре известного ей ПО. CXS дает информацию обо всех известных ему устаревших версиях ПО.
Профилактика рецидивов
По нашему опыту с недавней уязвимостью в CMS Drupal, первые признаки вредоносного кода на сайтах были зафиксированы через 36-48 часов после публикации уязвимости и способа ее устранения — обновления CMS до последней версии. Если бы наши клиенты, которых взломали, обновили CMS — проблем бы не возникло.
Заключение
- антивирусов (или агрегатором Virustotal);
- специализированных сканеров (Ai-Bolit, Linux Malware Detect, ConfigServer eXploit Scanner).
Также для быстрого сканирования можно воспользоваться SEO-аудитом страницы сайта Serpstat.
Сэкономьте время на изучении Serpstat
Хотите получить персональную демонстрацию сервиса, тестовый период или эффективные кейсы использования Serpstat?
Оставьте заявку и мы свяжемся с вами ;)
Рекомендуемые статьи
Кейсы, лайфхаки, исследования и полезные статьи
Не успеваешь следить за новостями? Не беда! Наш любимый редактор Анастасия подберет материалы, которые точно помогут в работе. Присоединяйся к уютному комьюнити :)
Нажимая кнопку, ты соглашаешься с нашей политикой конфиденциальности.
Комментарии