Регистрация
Зарегистрируйся на сайте и получи доступ к полному контенту сайта и подпискам бесплатно!

Как бороться с заражением сайта?

18
0
1 830 1
11 августа 2016

IT-директор студии интернет-решений ELiTES Александр Барычев в своем мастер-классе расскажет о том, как уже несколько лет в студии борются с заражениями сайтов клиентов.

Из мастер-класса вы узнаете:
- чем заражают сайты и какие файлы наиболее подвержены заражениям;
- какие существуют варианты заражения сайтов;
- примеры проникновения трояна на среднестатистический сайт;
- как быстро устранять последствия заражения;
- и многое другое.

Как бороться с заражением сайта?

(00:07) Привет, всем! Меня зовут Саша Барычев. Я представляю студии интернет-решений Elites. И в своем мастер классе я хочу вам рассказать про то, как мы боремся со зловредами, с заражением сайтов. Вот. Начну я с того, что, как бы, каждый сайт, в принципе, подвержен угрозе заражения. Чем обычно заражают сайты? Ну, прежде всего, это вирусы. Ими заражают, для того чтобы заразить в дальнейшем устройства пользователей( компьютеры, планшеты, смартфоны). Трояны, ими заражают сайт, для того чтобы рассылать спам, устраивать ДДОС-атаки. В том числе и устраивать размещение ссылок, ссылочных бирж или каталог ссылок. Ну, или устраивать перенаправление пользователей на сторонние сайты, например, чтобы те же там же цепляли другие вирусы.
(01:05) Какие типы файлов подвержены угрозам? Прежде всего, это, конечно, наши любимые .PHP. Это скрипты, которые интерпретируются серверным.php. В нем могу, как раз, скрываться трояны, а в троянах: бэкдоры, вебшелы; располагаться коды ссылочных бирж. Ну, JavaScript, это тоже потенциально опасное расширение файлов, потому что в нем, как раз, в него интегрируются вирусы, которые атакуют, непосредственно, JavaScript, JS-движки самих браузеров и заражают уже конечных пользователей. В файлах .htaccess, так называемые, файлы дополнительной конфигурации веб-серверов могут находиться директивы переадресации. Например, по тому же Userагенту. В файлах htmlсамолично наблюдал огроменный ссылочный каталог, просто с тысячами с ссылок на совершенно другие, какие- то левые сайты, загруженные хакерами, для, видимо, ссылочной, поднятия ссылочной массы.
(02:13)Какие бывают варианты заражения? Ну, самый распространенный вариант заражения, это «угон» логина и пароля из клиентов FTPи SSH. Сам лично пару раз с этим сталкивался. Второй по популярности, это межсайтовый скриптинг, так называемый, XSS. Через него, как раз, чаще всего и уводят COOKIES с администраторов к панели управления сайтами, и тем самым получает доступ к сайту, через панель управления. SQL-инъекция - это внедрение произвольного SQL- кода, в случае, если не проходят проверки тех данных, которые вставляются. Кстати, готовый примерSQL-инъекции очень широко разошелся в виде, так называемых, демотиватора картинки, я хочу ее даже показать отдельно.(на экране). Машина, где место номерного знака идет SQL-команда «DROPDATABASE». Вот. И еще тоже, не менее распространенный способ атаки на сайт, это LocalFileInclusion. Это использование локальных файлов удаленно в своих целях. Что это и как, я сейчас постараюсь рассказать поподробнее, это очень интересно.
(03:33)Пример проникновения трояна. Предположим, на одном у нас, таком вот всяком красивом сайте, ну, на какой-нибудь там популярной CMS-кераспространенной, есть форма загрузки файлов. Которая всем хороша, но не проверяет тип загруженного файла. Вот. И с помощью еемы хотели загрузить аватарку, да, avatar.jpd, в директорию, куда заливаются все аватарки пользователя. Ну, правда, мы засунули туда не .jpd, а с кодом вот такого простого вебшела. Это очень простой вебшел, который просто выполняет все, что передано было в параметре Е. мы знаем, что сайт имеет в скрипте template.phpLFl- уязвимость, которая представляет собой такой код. (на экране) Я кстати расскажу вам еще, что хакеры, на самом деле, они только днем и ночью спят и видят, как бы найти им в каком-нибудь популярной системе управления сайтом новую уязвимость, примерно, как раз, такого уровня. Они специально перешерстяют все исходные коды в поисках вот, вот такого, что мы видим сейчас на экране. А сейчас я просто покажу, что здесь представлено. Здесь идет маленький фрагмент php кода, который. Первое идет примитивная проверка, которая часто легко обходится, ну, я не стал указывать как, потому что в разных комбинациях, это может быть по-разному, но хакеры ее чаще всего достаточно не сложно обходят. Потом идет проверка на существование файла. Если такой файл существует, то происходит самое интересное. Этот файл инкладится. А инкладится, это значит он, происходит выполнение этого файла, который мы проинкладили. И что мы в итоге можем получить? А получить мы можем все достаточно очень интересно. Хакеру ничто не запрещает этим воспользоваться и ввести в адресной строке вот. Запросив template.php, передав в качестве параметра наш avatar.jpd, который мы загрузили раньше и в качестве параметра Е функцию phpinfo, которая выведет на экран информацию о версии php. Соответственно, никто не мешает заменить эту безопасную функцию на какой-нибудь другой зло, вред и тем самым добиться от сервера взлома сервера, все чего угодно.
(06:21)В своей практике я очень часто сталкивался с тем, что нужно вычищать уже зараженные сайты. Причем они, буквально, понапиханы всякими вебшелами, с учетом то, что их ломал, мог ломать ни один хакер, а даже несколько. Ну и поэтому я расскажу, как, в принципе, лучше искать загруженные вебшелы, если у вас есть хоть какие-то подозрения на то, что ваш сайт был заражен. Ну, первым делом, это скачайте весь сайт к себе на локальный компьютер, если есть антивирус, то в момент скачивания популярные вебшелы он просто отложит и заблокирует, он просто там «прохрюкает» их, если это Касперский или как-нибудь «прозвенит», если это другой антивирус. И тем самым потом их можно просто взять и удалить. Единственное стоит учитывать, что вэбшелы быстрее всего обфусцированы. Обфусцированы, это значит, их не факт, что распознает антивирус. Поэтому, когда мы все файлы откопировали, стоит сделать поиск по всем файлам php по содержимому последовательно. Сначала мы делаем поиск на функции eval, потом на assert, потом на exec, потом на shell_exec, потом на systemи даже на base64_decode.base64_decode, в принципе, достаточно безопасная функция, но она очень часто используется для, при обфусцированных файлах. То есть, когда содержимое файлов обфусцированы его чаще всего декодируют, как раз base64.
(08:07)Что же такое обфусцированный файл? Вообще что такое обфускация? Обфускация кода – это процесс запутывания, который приводит к тому, что исходный код самой программы, понять совершенно невозможно. Как он работает, что его приходится делать и обфускацию, чтобы понять алгоритм его работы. Я могу даже показать пример обфусцированного кода. Посмотрите сами. Здесь совершенно невозможно понять, что делает эта программа, а программа быстрее всего из себя представляет какой-нибудь классический веблеш. В своей борьбе со зловредами, особенно с обфусцированными, мы используем SERVAL. Потому что уникально обфусцированный код вэбшела не отловит ни один антивирус. И самое правильное решение, это следить за изменением файлов на сайте. И SERVAL отлично в этом поможет.
(09:04) Так что же такое SERVAL? Проект SERVAL был разработан нами для внутренних нужд еще 3 года назад. Но с мая 2016 года мы решили им поделиться со всеми. Мы его выложили в публичный доступ, на специальный сайт, и каждый абсолютно бесплатно может его скачать, установить и начать использовать. Что же такое SERVAL? SERVAL – это система мониторинга целостности файлов, и разделена она на 2 части. Первая часть, это удобная CRM-ка с практичным и функциональным интерфейсом, где можно управлять проектами, которые мы хотим отслеживать. Вторая часть, это PHP- файл сканера, которая размещается на хостинг каждого проекта и передающего в основную CRM-ку информацию о файловой структуре через заданный интервал времени. Причем вся информация, которая передается между CRM-ой и файлом сканер, она закодирует по уникальному ключу, поэтому для каждого файла, нужен, для каждого проекта нужен свой уникальный файл. Что делает этот файл? Он просто берет и собирает всю структуру, все файлы, все директории в тот момент, когда была подана на это команда и возвращает все это в систему управления. Система управления берет и сравнивает с предыдущим эталоном, и если выявляются какие-нибудь изменения, то система об этом предупреждает. Установить SERVAL достаточно просто. Ничем не сложнее установки обычной CMS-ки. Достаточно просто. С сайта сказать архив, распаковать его, загрузить файл в корневую директорию на сервер, заполнить форму, предварительно подготовив базу данных. И если все правильно, то система установится и можно приступать к использованию. Использовать SERVAL тоже ничего сложного. Создайте новый проект. Получите файл PHP сканера. Загрузите его на хостинг. Выполните тестирование для проверки, все ли нормально. Если все нормально, то просто ждите, через 10 минут соберется первая файловая структура, с которой потом будет производиться сравнение. Если какие-нибудь несовпадения выявятся, какие-нибудь изменения, там файл добавился, изменился, удалился, то система пришлет e-mailоб этом, и, зайдя в CRM-ку, можно будет увидеть все изменения. Причем файлы, которые мониторить, можно настраивать по типу файлов. Сделать исключения, директории исключайте, типы файлом исключайте, вобщем, все что душе угодно. Я хочу еще рассказать, как нам, в принципе, помогает SERVAL на одном из кейсов. 5 мая 2016 года в районе 5-6 часов утра на одном из наших сайтов было зафиксировано: добавление 20 файлов и изменение 24. Вот здесь я, примерно, основные показал файлы. Тут добавился xml.php. в директории images добавился файл inc.php. Даже неопытному взгляду достаточно понять, что ничего хорошего в этих файлах не было. Не может быть в директории images файл с расширением php. Естественно, как только стали смотреть и разбираться, это все оказались вебшелы, которые были специально подготовлены для рассылки спама. То есть еще чуть-чуть и через этот сайт стали бы рассылать спам, пришла бы обуза от провайдера, пришлось бы нам отключить его и в общем ничего хорошего. Но уже в 9 утра, как только наш программист пришел и все это увидел, он сразу же взял и удалил добавленные файлы, и отсмотрел измененные, и удалил оттуда модифицированный код. Ну и напоследок, я скажу SERVAL скачать очень просто, использовать его тоже несложно. Есть специальный сайт, мы открыли по поддержке, выкладываем туда постоянно новые версии. Это www.serval.site. Пожалуйста, заходите, скачивайте, пользуйтесь абсолютно бесплатно, лишь бы поменьше вирусов, поменьше бы заражений. Вот. Спасибо за внимание.
Развернуть текстовую версию
Комментарии