Главная   »   Описание работы сканера
Описание работы сканера
Сканер - Sheel and Basic Backdoor Script Finder
Автор: Site-Security   
10.11.2012 17:05

 

Описание сканера.

 

актуальная версия - 1.0.3

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

 

Задача и работа сканера.

Сканер сканирует файлы и выполняет поиск файлов связанный с назначенной задачей. В нашем случае сканер ищет в файлах код который ближе всего по своему содержанию похож на код Shell утилит. В наши дни существует очень много различных CMS которые отличаются друг от друга, но схожи в одном они используют PHP (скриптовый язык) и JavaScript так, же как и все распространяемые вирусы. В связи с этим код во многом не отличается, как и сайты так и вирусы используют одни и те же переменные, функции и классы. Это само собой неизбежно при использовании в написании одного и того же программного языка.

Первый сканер был написан давно и совсем не имел отношение к поиску вирусов нес более мирный характер как и сами Shell утилиты которые были написаны для удобства в работе и предназначались для работы админов. Сейчас ими пользуются не только администраторы, но и хакеры, для работы с файлами после взлома и получения доступа к сайту.

 

Что представляет из себя Shell утилиты.

Это своего рода программное обеспечение написанное для работы на сервере на сриптовом языке PHP, они дают доступ к файлам и БД(базам данных). С помощью их можно проводить полные работы с файлами и БД. Преимущество их в том что они имеют полный функционал и удобны в использовании, дают полный доступ на сервере к папкам, файлам и данным баз, занимают маленький объем умещаются в один небольшой файл. И ни чего нет странного в том что хакеры выбрали для работы именно эти утилиты.

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

Можно сказать "спасибо" и отдельным хакерам которые без грамотно используя Shell утилиты, продемонстрировали необходимые моменты для выбора самого необходимого в сканере.

 

Описание работы сканера, как работать со сканером.


Сканер постоянно обновляется и добавляются различные функции "плюшечки и рюшечки".
Сканер выполнен в универсальном исполнении и не привязан к какой либо CMS. Использование возможно на любой CMS без ограничений.

 

ВАЖНО!!! Перед началом работы поиска и устранения вредоносного ПО и ссылок (редиректов), Вам необходимо знать одно правило, если у Вас на хостинге не один сайт, то сканировать и чистить требуется все. многие ошибочно думают что причина в только конкретном сайте. Не до конца найденная и устраненная зараза является причиной повторного заражения файлов, это может произойти и через месяц, год и может даже через много лет.


Опишем принцип работы, что и как делать.


1. Заливаем сканер ssf.php через FTP в корень вашего сайта (корень сайта это та папка где расположены папки administrator, admin, images и др.папки вашего сайта).
2. В командной строке браузера набираем http://ВАШ САЙТ/ssf.php и у вас сразу появиться окно сканера.

 

 

Сделан выбор файлов для снижения нагрузки на сервер и уже многие давно сталкивались, что код можно вписать не только в файл  *.php, но и в картинки и прочие файлы сайта.

Для выборочной проверки сделали следующее разделение по расширениям файлов. Вам следует выбрать (отметить) те расширения, по которым проводить сканирование. Из следующих расширений:

  • htaccess, txt, php, phtm, php5, php4, html, htm, js, png, jpeg, jpg, gif

 

3. В настройках делаем выбор по расширениям файлов

ВАЖНО!!! Если вы не уверены в вашем сервере, или точно знаете, что высокая нагрузка для него не применима, то не делайте выбор всех (многих) расширений, проверяйте поштучно включая/отключая их.

 

 

4. К примеру проверяем файлы с расширением *.gif делаем выбор как на рисунке выше.

Далее нажимаем кнопку - Начать сканирование.

У нас нет заразы и сканер об этом пишет, показывает как на рисунке.

 

5. Теперь выберем файлы с расширением *.php

 

И у нас появляется список файлов со списком сигнатур (в сигнатурах фигурируют функции PHP распространенные и применяемые как в CMS так и в Shell утилитах) их требуется внимательно просмотреть.
В сканер добавлены функции
- удалить файл (полностью удаляет файл)
- открыть файл (открывает в другой вкладке/окне браузера)
- редактировать файл (дает возможность открыть файл и просмотреть код файла)

6. К примеру у нас есть список файлов рисунок ниже.

 

 

- мы смотрим и находим файл с сигнатурой

- нажимаем на открыть файл и видим в браузере Shell, напрашивается одно Что делать?, для этого есть кнопка "удалить файл" и его больше нет.

 

- далее смотрим и находим файл с сигнатурой

или

- нажимаем открыть файл и у нас два варианта либо окно пустое, либо выводится какой то набор букв "типа слово"

 

- далее нажимаем кнопку редактировать файл и просматриваем его код, что видим?, видим дверь для соединения со сторонним сервером для подключения Shell утилиты, Что делать?, для этого есть кнопка "удалить файл" и его больше нет.

 

Также файл может ни чего не показывать при открытии в браузере но содержит код типа этого:

Требуется просматривать все файлы с выполнением функций(сигнатурами) POST, на наличие вредоносного кода.

7. Пример нахождения редиректов и кодов для них, ссылок и вставленных IFRAME
- смотрим далее по сигнатурам видим в файлах с расширением *.php сигнатуры в основном это base64
- нажимаем редактировать файл и просматриваем код если встретиться код обфускацированный

Обфускация (от лат. obfuscare — затенять, затемнять; и англ. obfuscate — делать неочевидным, запутанным, сбивать с толку) или запутывание кода — приведение исходного текста или исполняемого кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.

«Запутывание» кода может осуществляться на уровне алгоритма, исходного текста и/или ассемблерного текста. Для создания запутанного ассемблерного текста могут использоваться специализированные компиляторы, использующие не очевидные или недокументированные возможности среды исполнения программы. Существуют также специальные программы, производящие обфускацию, называемые обфускаторами (англ. Obfuscator).

это закодированный код его можно расшифровать и посмотреть что это, разработчики редко используют такой код, в основном это делают хакеры для скрытия "вредоносного ПО"
- в файлах *.js может встретиться функции как - eval( так и - document.write('<iframe src="/ или другие в которых может быть вставлен либо закодированный код или iframe на сайт с вредным ПО.


Что делать с таким кодом? его надо удалять из всех файлов, вариантов удаление много, у нас со сканером есть в архиве свой скрипт для нахождения и замены replace.php принцип работы прост.
- Заливаем его как и сканер по FTP затем запускаем в браузере http://ВАШ САЙТ/replace.php

- Вам требуется найденный код вставить в replace.php и заменить на пробел, но посоветую в примере вариант лучше и надежнее, думаю так вы не ошибетесь.


ВНИМАНИЕ!!! Использование нашего заменителя текста не безопасно перед началом работы ОБЯЗАТЕЛЬНО ДЕЛАЙТЕ БЭКАП САЙТА!


Пример:
Найден код <?php eval(base64_decode(.........)
меняем его на код (<?php ) после символов "<?php" сразу после обязательно ставим пробел с скобках это болеее четко видно
и запускаем заменить.


Также вы можете использовать для этого FTP клиенты которые позволяют искать и заменять в файлах.
Ну и как вариант это скачивание файлов на компьютер и поиск/замена прямо на ПК. Это самое безопасное и на 100% надежный способ, в случае если вы не уверенный пользователь. Но обязательно делайте архивную копию сайта.

Дальнейшие действия после чистки, это устранение источника появления Shell не путаем заразу в коде и Shell, зараза появляется после появления Shell-а, а требуется найти и устранить само место откуда появился Shell.


Первым делом обновляем CMS и все расширения на актуальные версии которые есть в этот день.


Далее вам необходимо просмотреть лог файлы сервера и зная названия и даты Shell-ов посмотреть как они попали к вам. И кто и когда обращался к ним.


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


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

Эта страница как и все остальные будет редактироваться и дописываться, как по функционалу сканера так и по дополнительной информации, сканирования сайта, устранения вредоносного ПО и Shell утилит.

 

!!!Предупреждение. Рекомендуем проверять файлы с расширениями - htaccess, php и js. Не отмечать все файлы сразу, это сказывается на нагрузке на сервер и не все сервера на которых расположены ваши сайты дадут возможность про сканировать такой объем файлов за раз. Если вы уверены или у вас VPS/VDS, то можно отметить все файлы и про сканировать. Остальные файлы желательно проверять после и тоже не все сразу.