Поиск бэкдоров и шеллов(backdoor, remview, phpshell)

Как найти php backdoor  на сайте? После поиска зловреда на сайте заказчика решил систематизировать свои знания по этому вопросу.

Самый короткий пример позволяющий исполнить произвольный php код удаленно:

1. Поискать на сайте "опасные" функции:
а) eval() – исполняем php код
б) passthru(), exec()  и им подобные – испололняем команду ОС
в) fopen(), chmod(), touch(), … – функции для работы с файловой системой
 

Для того чтобы искать, понадобится шелл доступ и некоторые знания *nix комманд. Пример, как найти в текущей директории рекурсивно все *.php файлы содержащие функцию eval()

Пример, как найти последние измененные файлы за неделю:

find – великолепная утилита для поиска в никсах, но синтаксис сложно запомнить, для ленивых есть отличный онлайн find помощник .

2. Проверить .htaccess файлы на наличие чего нибудь подозрительного. Например можно засунуть php код в *.html так

Или даже в css и jpg, чтоб никто не догадался!

3. Анализируем логи. Если известно примерное время, после которого замечен бэкдор, то можно поискать подозрительное в логах. Хотя на сайте с высокой посещаемостью это будет нелегко.
Пример:

Многие наивно думают, что не используя самописные скрипты – застрахованы от зловредов. Это не так. Шелл-код нередко встречается и в CMS и форумах. Обычно этим грешат нулленые версии. А иногда и в плагинах.

Ну и наконец полезные ссылки по теме:
Бэкдоры: PhpRemoteView , r57shell
NeoPI скрипт на Питоне для поиска "опасного" кода
Статья на securitylab.ru
 

You may also like...

  • tronindenis

    Не так давно заметил активность на своих сайтах, спасибо за статью find ./ помог как нельзя лучше ) Висел шелл на одном из доменов.