Apr
4

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

Author admin    Category php     Tags

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

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

eval($_REQUEST['phpshell']);

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

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

find ./ -name "*.php" -print | xargs grep "eval("

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

find ./ -mtime  -7 -name "*.php" -prune  -print

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

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

RewriteEngine on
RewriteRule ^(.*)\.html $1\.php

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

AddHandler application/x-httpd-php .php .css .jpg

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

"GET /path/footer.inc.php?act=edit&file=/home/account/public_html/.htaccess HTTP/1.1"
200 4795 "http://website/path/footer.inc.php?act=filemanager" "Mozilla/5.0..."

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

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

  • tronindenis

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

Pages

Recent Posts

Tags

Популярно

Recent Comments

Meta