- Регистрация
- 04.09.14
- Сообщения
- 2.888
- Реакции
- 1.987
- Баллы
- 113
Php shell - это срипт, который написан на языке php для выполнения удаленных команд. То есть по простому это скрипт, с помощью которого злоумышленник имеет возможность производить кучу полезных для себя действий на вашей площадке.
Как shell попал ко мне на хостинг?
Есть всего несколько способов проникновения shell скрипта:
У меня на сайте появился файл который я не создавал! Кто то изменил мой файл?
В случае если файл не измененный, а новый не сбтоит сразу паниковать и удалять этот файл. Во первых посмотрте дату создания этого файла и запомните ее скорее всего дата свежая, но дата может быть и довольно старой на это тоже стоит обратить внимание так как возможно она специально была изменена. Далее откройте этот файл и посмотрите что в нем содержится. Его содержание может быть различным, это может быть как сам shell (обычно его тщательно прячут) так и любой другой вспомогательный или просто файл с какими то ссылками и фреймами.
Если кто то изменил Ваш файл, так же посмотрите дату изменения она нам может быть полезна.
Далее как в первом и втором случае можно удалить файл, и желательно бы выключить сайт на время поиска причины и приступить к немедленному расследованию. Далее нужно изменить пароли как от админки сайта так и от хостинг панели, FTP. После этого желательно начать просмотр FTP и других логов сервера. Возможно конечно там мы ни чего не найдем.
Приступаем к поиску вредоносного shell скрипта или как найти shell!?
Если у вас небольшой сайт и все его файлы вам хорошо знакомы то можете конечно пройти по ним по всем руками (довольно глупый вариант) и просмотреть дату изменения файла. Советую незамедлительно проверить когда были произведены последние изменения файлов с помощью SSH. Дата изменения дает нам многое, мы сразу понимаем что кто то файл редактировал.
Так же необходимо просканировать все файлы на содержание функций которые часто используются в shell скриптах. Сканирование желательно провести с помощью специальных скриптов и программ, так же можно использовать и SSH.
Что необходимо искать в файлах?
Как правило все shell скрипты закодированы с помощью base64 или ионкубом и после этого выполяются с помощью eval
Значит ищем следующие вхождения:
Вот так примерно выглядят php shell скрипты:
Как shell попал ко мне на хостинг?
Есть всего несколько способов проникновения shell скрипта:
- Залит с помощью уязвисмости в php скрипте
- Залит с помощью FTP данных, которые с помощью трояна были успешно украдены из вашего FTP клиента. (WinSCP, Total Comander, FileZilla)
- Залит с помощью человека которому вы доверили произвести какие либо поправки на сайте
- Вы установили непроверенный скрипт, шаблон, компонент, модуль который содержал какие либо известные уязвимости либо в него уже был встроен вредоносный код.
У меня на сайте появился файл который я не создавал! Кто то изменил мой файл?
В случае если файл не измененный, а новый не сбтоит сразу паниковать и удалять этот файл. Во первых посмотрте дату создания этого файла и запомните ее скорее всего дата свежая, но дата может быть и довольно старой на это тоже стоит обратить внимание так как возможно она специально была изменена. Далее откройте этот файл и посмотрите что в нем содержится. Его содержание может быть различным, это может быть как сам shell (обычно его тщательно прячут) так и любой другой вспомогательный или просто файл с какими то ссылками и фреймами.
Если кто то изменил Ваш файл, так же посмотрите дату изменения она нам может быть полезна.
Далее как в первом и втором случае можно удалить файл, и желательно бы выключить сайт на время поиска причины и приступить к немедленному расследованию. Далее нужно изменить пароли как от админки сайта так и от хостинг панели, FTP. После этого желательно начать просмотр FTP и других логов сервера. Возможно конечно там мы ни чего не найдем.
Приступаем к поиску вредоносного shell скрипта или как найти shell!?
Если у вас небольшой сайт и все его файлы вам хорошо знакомы то можете конечно пройти по ним по всем руками (довольно глупый вариант) и просмотреть дату изменения файла. Советую незамедлительно проверить когда были произведены последние изменения файлов с помощью SSH. Дата изменения дает нам многое, мы сразу понимаем что кто то файл редактировал.
Так же необходимо просканировать все файлы на содержание функций которые часто используются в shell скриптах. Сканирование желательно провести с помощью специальных скриптов и программ, так же можно использовать и SSH.
Что необходимо искать в файлах?
Как правило все shell скрипты закодированы с помощью base64 или ионкубом и после этого выполяются с помощью eval
Значит ищем следующие вхождения:
- base64_decode(
- eval(
- Переменные типа $_REQUEST, $_COOKIE, $HTTP_COOKIE_VARS
- Можно поискать shell поназванию например "FilesMan"
- Обращаем внимание на хаотичные переменные типа $FuFiVqb
Вот так примерно выглядят php shell скрипты: