Блог

Вредоносные скрипты. Как их обнаружить и искоренить

Реальность такова, что в один вовсе не прекрасный момент, вы можете выяснить, что ваш сайт заражён. Проверив web-ресурс на уязвимость и найдя лазейку, хакер обязательно ими воспользуется. В системных директориях он может разместить веб-шеллы и загрузки, а в коды скриптов, CMS, базы данных — бэкдоры.

Всего за несколько дней это может существенно отразиться на вашем бизнесе, и не в лучшую сторону. При переходе на страницу, пользователям поступает информация, что сайт заражён поскольку браузеры располагают своей базой, которая определяет «инфекцию» на сайте. Поисковые системы понижают его в рейтинге и блокируют в выдаче. Пользователи могут присылать информацию, что от вас приходит спам, реклама, баннеры мешают просмотру контента и не убираются. Даже если на уровне хостинга вредоносные скрипты были выявлены и заблокированы — хакер уже протоптал к вам тропинку и знает о вашей уязвимости. А значит, он снова по ней пройдёт.

Сейчас вредоносные скрипты и программы вовсе не те, которыми они были 5 лет назад. Хакеры стали продвинутыми и ежедневно во всём мире появляются сотни тысяч новых новых скриптов. Поисковые системы, хостеры и браузеры часть из них отсекают. Но, угнаться за всеми «новинками» они не могут. Поэтому, в деле выявления веб-шеллов, бэкдоров, фишинговых страниц, спам-рассыльщиков и другие типов вредоносных скриптов нельзя надеяться только на хостера и антивирусные программы. Обязательно нужно выполнять регулярный поиск сторонних вмешательств в ручном режиме. Задача эта непростая и требует знаний скриптов и кодов. Поэтому выполняют её профессионалы. Н сайтах с которыми мы работаем, наши специалисты осуществляют такие проверки регулярно. Так как заражение может произойти в любой момент.

Что искать

Прежде чем приступить к поиску следов присутствия хакерских следов на сайте, нужно понимать, что искать. То, что может самостоятельно сделать любой владелец сайта — посмотреть даты изменения файлов. К примеру, все файлы имеют одинаковую дату создания, а несколько – совершенно другую. Это должно насторожить. Но помогает это далеко не всегда. Хакеры — люди неглупые. И они могут «откатывать» дату файла таким образом, чтобы она не вызывала подозрений.

Пройдёмся по пунктам по которым работаем мы. Обеспечение безопасности сайта требует постоянного мониторинга целого ряда аспектов, позволяющих найти различные следы взлома.

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

● Инжекты внедрения кода. Они идут на втором месте по своей популярности и частоте использования. Мобильные и поисковые редиректы могут внедряться в существующие файлы .htaccess. Бэкдоры встраиваются в php/perl. А в html и js встраиваются сторонние javascript или редиректы, которые переводят на другие ресурсы. Помимо этого, коды могут внедряться и в медиафайлы. Зачстую сами хакерские коды имеют две части, которые хранятся в разных местах и не вызывают подозрений у антивирусов.

● Внедрения в базе данных. Это следующая по популярности хакерская мишень. Чаще всего используется для инжектов статических вставок, которые обеспечивают перенаправление пользователей на другие ресурсы. Помимо этого, они заражают устройство и начинают шпионить за пользователем. Вредоносные коды могут быть встроены и непосредственно в базу данных пользуясь возможностями ряда CMS. Среди статистических вставок используются <script>, <iframe>, <embed>, <object> и другие.

● Внедрения в кэширующие серверы. Если настройка кэширующего сервиса проведена не корректно, то хакер может встроить в него свои данные «в онлайн режиме». При этом, зачастую для этого ему даже не потребуется взламывать код страниц.

● Инжекты в системные компоненты сервера. Если хакеру удалось получить root-доступ к серверу, то он может изменить его элементы или элементы кэширующего сервера на нужные ему инфицированные. Это позволит ему контролировать сервер и периодически внедрять те данные, которые требуется. При этом, базы данных останутся оригинальными, а значит обнаружить подобную активность администратору довольно сложно.

Программно выявить подобную неправомерную активность удаётся далеко не всегда. Поэтому, требуется постоянный профессиональный мониторинг в ручном режиме.

Как искать

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

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

Полностью «прошерстить» в тех директориях, в которых что-либо прописывается скриптами либо доступна загрузка для пользователей

Выполнить мониторинг на предмет странных имён файлов

Проверить файлы на предмет нехарактерного им расширения

Осуществить поиск дореев

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

Для того, чтобы обнаружить хакерское наследие, можно воспользоваться и логами FTP, web-сервера или почтового сервера. В данном случае выполняется многоуровневый анализ, который подразумевает как поиск самих инфицированных файлов, так и их источников и поля деятельности.

Можно сколько угодно говорить о том, что лучшая борьба с хакерскими действиями — не допустить их по отношению своего сайта. Но реальность такова, что на 100% застраховаться от этого нельзя, какими бы серьёзными не были меры безопасности. Мы проводим лечение сайтов ежедневно ещё до того, как о заражении узнают не только владельцы и пользователи, а даже поисковые системы. И постоянно усовершенствуем методологию обеспечения защиты web-ресурсов.