Найти php Shell на сайте

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.830
Реакции
1.935
Баллы
113
Php shell - это срипт, который написан на языке php для выполнения удаленных команд. То есть по простому это скрипт, с помощью которого злоумышленник имеет возможность производить кучу полезных для себя действий на вашей площадке.

Как shell попал ко мне на хостинг?

Есть всего несколько способов проникновения shell скрипта:
  1. Залит с помощью уязвисмости в php скрипте
  2. Залит с помощью FTP данных, которые с помощью трояна были успешно украдены из вашего FTP клиента. (WinSCP, Total Comander, FileZilla)
  3. Залит с помощью человека которому вы доверили произвести какие либо поправки на сайте
  4. Вы установили непроверенный скрипт, шаблон, компонент, модуль который содержал какие либо известные уязвимости либо в него уже был встроен вредоносный код.
Вот наверное и все пути проникновения вредоносного скрипта, если конечно вы не сами его залили.

У меня на сайте появился файл который я не создавал! Кто то изменил мой файл?
В случае если файл не измененный, а новый не сбтоит сразу паниковать и удалять этот файл. Во первых посмотрте дату создания этого файла и запомните ее скорее всего дата свежая, но дата может быть и довольно старой на это тоже стоит обратить внимание так как возможно она специально была изменена. Далее откройте этот файл и посмотрите что в нем содержится. Его содержание может быть различным, это может быть как сам shell (обычно его тщательно прячут) так и любой другой вспомогательный или просто файл с какими то ссылками и фреймами.

Если кто то изменил Ваш файл, так же посмотрите дату изменения она нам может быть полезна.

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

Приступаем к поиску вредоносного shell скрипта или как найти shell!?
Если у вас небольшой сайт и все его файлы вам хорошо знакомы то можете конечно пройти по ним по всем руками (довольно глупый вариант) и просмотреть дату изменения файла. Советую незамедлительно проверить когда были произведены последние изменения файлов с помощью SSH. Дата изменения дает нам многое, мы сразу понимаем что кто то файл редактировал.

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

Что необходимо искать в файлах?
Как правило все shell скрипты закодированы с помощью base64 или ионкубом и после этого выполяются с помощью eval

Значит ищем следующие вхождения:
  1. base64_decode(
  2. eval(
  3. Переменные типа $_REQUEST, $_COOKIE, $HTTP_COOKIE_VARS
  4. Можно поискать shell поназванию например "FilesMan"
  5. Обращаем внимание на хаотичные переменные типа $FuFiVqb
Содержание данных вхождений не говорит о том что это shell (родные файлы также могут их содержать), но как правило любой shell содержит их. В основном желательно обратить внимание на 2 первых пункта и искать их. Так же хочу обратить внимание что в base64 часто кодируют копирайт какого либо компонента.
Вот так примерно выглядят php shell скрипты:
shell1.jpg


shell2.jpg


shell3.jpg

Screenshot_4.jpg
 

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.830
Реакции
1.935
Баллы
113
Кстати, очень часто антивирусы могут найти такие скрипты, если скачать сайт себе на комп и просканировать файли антивирусником
 
Сверху Снизу