Вот пошаговое руководство по этому процессу:
1. Поиск вредоносного кода в файлах
Использование команд Unix:
- Поиск измененных файлов:
find . -name '*.ph*' -mtime -7
Найдет файлы PHP, измененные за последнюю неделю. - Поиск по времени изменения атрибутов:
find . -name '*.ph*' -ctime -7
Для нахождения файлов, у которых менялись атрибуты. - Поиск изменений в определенном временном интервале:
find . -name '*.ph*' -newermt 2015-01-25 ! -newermt 2015-01-30 -ls
Для нахождения файлов, измененных в указанный временной интервал. - Поиск по фрагменту кода в файлах:
grep -ril 'stummann.net/steffen/google-analytics/jquery-1.6.5.min.js' *
Найдет файлы, содержащие указанный фрагмент. - Поиск файлов с флагом guid/suid:
find / -perm -4000 -o -perm -2000
Определит файлы с установленными флагами, что может указать на потенциально опасные скрипты. - Поиск запущенных скриптов:
lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk '{ if(!str) { str=$1 } else { str=str","$1 }}END{print str}'` | grep vhosts | grep php
Покажет, какие PHP-скрипты запущены в данный момент и загружают CPU.
2. Поиск вредоносного кода в каталогах
- Анализ директории загрузок и кэша: Для Joomla:
find ./images -name '*.ph*'
Для WordPress:find wp-content/uploads -name '*.ph*'
Проверяет каталоги на наличие подозрительных файлов. - Поиск файлов с подозрительными именами: Ищите файлы с нестандартными именами или именами, содержащими случайные цифры, такие как
php
,fyi.php
,n2fd2.php
. - Поиск дорвеев: Если в каталоге есть множество
.php
или.html
файлов, это может указывать на дорвей.
3. Анализ базы данных
- Поиск инъекций в базе данных: Проверьте таблицы базы данных на наличие подозрительных записей, скриптов или PHP-кода, особенно в шаблонах и временных таблицах.
4. Анализ кэширующих сервисов
- Поиск инъекций в кэше: Если кэширующие сервисы, такие как memcached, настроены неправильно, они могут содержать вредоносный код. Проверьте кэшированные данные на наличие подозрительных элементов.
5. Анализ логов
- Логи веб-сервера: Проверяйте access_log и error_log на наличие подозрительных запросов и ошибок, которые могут указывать на вредоносные действия.
- Логи почтового сервера и FTP: Анализируйте xferlog и заголовки спам-писем для выявления подозрительных файлов и действий.
- Логи защиты CMS и плагинов: Проверяйте логи на предмет попыток атак и их успешность.
6. Инжекты и скрытые скрипты
- Поиск скрытых инъекций в .htaccess и других файлах: Проверьте наличие редиректов и скрытого кода в
.htaccess
, PHP, JavaScript и других скриптах.
Заключение
Ручной поиск вредоносного кода может быть трудоемким процессом, требующим внимательности и терпения. Следуя приведенным методам, можно существенно повысить вероятность обнаружения вредоносного кода и устранения уязвимостей на сайте.
Отправить комментарий