Четверг , 26 Апрель 2018
Home / Vbulletin 4 / Взломали форум — начинаем восстанавливать (часть 1)
Часть 1 ssh
Часть 1 ssh

Взломали форум — начинаем восстанавливать (часть 1)

В начале нашего цикла статей о восстановлении форума после взломов, мы рассмотрели с вами рекомендации приведенные в предисловии. Теперь пришло время начать само восстановление, поэтапно. Часть 1. В этой части мы рассмотрим несколько стадий к которым вам возможно придется возвращаться время от времени.

Итак приступим к выполнению необходимых действий

В первую очередь вам необходимо временно закрыть форум. Часть 1 имеет 13 пунктов разделенных на буквенные значения от А до Н, все эти стадии распределены так, чтобы вы могли на более поздней стадии исследователь степень нарушения.

Автор: Алексей Раков

Возможно вам необходимо будет вернуться к пункту Е (сканирование через сервисы) или вернуться к Н (Google Webmaster Tools)

Ну что же, приступим.

А) В соответствии с предупреждением которое уже многие знают, нужно удалить (или если вы не очень уверенны переименовать) папку install. Она находится в корне вашего Vbulletin форума. Если у вас установлено несколько копий форума ( в том числе и тестовые форумы), нужно удалить папку install и на них тоже. Если у вас есть доступ к SSH на вашем VPS или выделенном сервере, вы можете использовать команду поиска, чтобы найти все каталоги *install*. И удалить все найденные каталоги в ваших Vbulletin форумах.

find /home -type d -name “*install*” -print

или сохранить все найденное в текстовый файл

find /home -type d -name “*install*” -print > listinstalldirectories.txt

Б) Приготовьте резервную базу MySQL своего форума или форумов, которую вы делали раньше, то есть нужна резервная копия форума, когда он еще не был взломан. Как сделать резервную копию я опишу позже после цикла этих статей.

В) Выполните полное резервное копирование всех файлов прям с корня вашего форума то есть /home/username/public_html, только используйте свой путь. Самый быстрый способ это сделать через SSH вашего VPS или выделенного сервера. К примеру мы расмотрим, что наш форум находится по пути /home/username/public_html, мы сделаем полный бекап всех каталогов включая права на папки и владельца каталогов в /home/username/public_html_backup. (имейте ввиду, что для этого у вас на хостинге должно быть место) Для этого запустим команду:

cp -a /home/username/public_html /home/username/public_html_backup

Если у вас есть вложения которые находятся за пределами корня форума к примеру /home/username/attachments то бекапим и их отдельной командой:

cd /home/username
cp -a attachments attachments_backup

Г) Скачайте эти резервные копии на свой локальный компьютер для последующего анализа.

Д) Найти на вашем серверы логи Apache, логи PHP, FTP, SSH и сохранить все логи на своем компьютере для дальнейшего анализа.

Е) Используем для поиска и подтверждения, что мы инфицированный вирусом веб-сканер от Securi Это конечно не найдет все вирусы на вашем форуме, но это будет начальная точка.

Ж) Отключите на Vbulletin форуме все хаки, сделать это можно через конфиг (config.php), включив в него эту строчку:

define(“DISABLE_HOOKS”, true);

З) Найти и проверить все файлы измененные за последние Х дней. Предположим наш форум находится по адресу /home/username/public_html/forums и мы хотим проверить какие файлы изменялись за последние 14 дней, то мы должны ввести следующую команду:

find /home/username/public_html/forums -mtime -14

Или можем сохранить поиск в файл, чтобы позже изучить подробно

find /home/username/public_html/forums -mtime -14 > modifiedfiles.txt

Вполне возможно, что ваш форум был взломан еще несколько недель или месяцев назад, и только сейчас хакеры решили воспользоваться своим взломом. Поэтому вы можете повторно запустить команду, только изменить дату не 14 а 30 дней. Или еще больше вплоть до 365 дней.

find /home/username/public_html/forums -mtime -30 > modifiedfiles30.txt

find /home/username/public_html/forums -mtime -60 > modifiedfiles60.txt

find /home/username/public_html/forums -mtime -90 > modifiedfiles90.txt

find /home/username/public_html/forums -mtime -180 > modifiedfiles180.txt

find /home/username/public_html/forums -mtime -365 > modifiedfiles365.txt

Итак, у вас уже куча сохраненных файлов modifiedfiles.txt со списком измененных файлов, которые охватывают разные диапазоны времени. Это позволит провести более детальный анализ, а также вы сможете использовать какой-либо инструмент для сравнения файлов, чтобы посмотреть различия между ними.

И) Проверьте вредоносных кодов все htaccess файлы на вашем сервере, включая каталоги которые находятся выше форума, к примеру /home/* если ваш форум находится по адресу /home/username/public_html. Хакеры могли изменить ваши htaccess на свои, вставив туда редиректы и так далее. Вы обязательно должны проверить все эти файлы и сравнить с дефолтным или увидеть там то, что делали именно вы. Ниже я приведу команду, которая найдет все htaccess файлы на сервере и покажет их пути.

find /home -name “.htaccess” -print

или все это можно сохранить в текстовый файл

find /home -name “.htaccess” -print > listhtaccessfiles.txt

Есть буржуйские руководства как проверить свои htaccess файлы, здесь, здесь, и здесь

Теперь можно подойти к этому вопросу творчески, можно набрать команду в SSH которая выведет все файлы htaccess содержащие ваше слово или ссылку или еще что. В нашем примере это слово «cat»

for ht in $(find /home -name “.htaccess” -print); do echo $ht; cat $ht; done

Также весь поиск можно сохранить в файле

for ht in $(find /home -name “.htaccess” -print); do echo $ht; cat $ht; done > htaccesscontents.txt

Если вы хотите фильтровать каждый htaccess на наличие содержимого вида ErrorDocument, HTTP_REFERER, HTTP_USER_AGENT RewriteRule, ну или похожие, нам нужно сделать нечто такое:

for ht in $(find /home -name “.htaccess” -print); do echo $ht; egrep -i ‘(ErrorDocument|HTTP_REFERER|HTTP_USER_AGENT|RewriteRule)’ $ht; done

Сохранить поиск в файл

for ht in $(find /home -name “.htaccess” -print); do echo $ht; egrep -i ‘(ErrorDocument|HTTP_REFERER|HTTP_USER_AGENT|RewriteRule)’ $ht; done > htaccesscontents_filtered.txt

К) Можно также проверить все ваши файлы на наличие IFRAME кода. Иногда они активно используются в Vbulletin. Потом можно будет сравнить с оригинальными файлами форума.

find /home -type f -exec grep -irl ‘iframe’ {} \; -print

Сохранить все находки в текстовый файлик

find /home -type f -exec grep -irl ‘iframe’ {} \; -print > listiframefiles.txt

Л) Не будет лишним проверить все наши файлы на наличие base64 кода. Некоторые из них могут внедрены на ваш форум, посему их надо вывести и сравнить с оригинальными файлами.

find /home -type f -exec grep -irl ‘base64’ {} \; -print

Сохранить все в текстовый файлик

find /home -type f -exec grep -irl ‘base64’ {} \; -print > listbase64files.txt

М) Проверяем все Cron задачи на сервере на уровне пользователя на наличие вредоносного кода.

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

или сохранить все в файл

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done > listusercronjobs.txt

вывести server level type

crontab -l

сохранить вывод в файл

crontab -l > listcronjobs.txt

Другие Cron задачи сервера могут быть указаны в следующих каталогах

/etc/crontab
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
/etc/cron.d

Н) Очень рекомендую зарегистрироваться в Gmail, если вы еще не зарегистрированы, чтобы использовать Google Webmaster Tools. Там вы сможете зарегистрировать свой форум для регулярной диагностики форума на наличие инфекционных файлов

На этом первая часть законченна, прочитайте все пожалуйста внимательно, прежде чем, что-либо делать.

Рейтинг статьи

0%

Рейтинг

Оцените данный материал!

User Rating: Be the first one !

About artscripts

Check Also

восстановление vbulletin часть 6

Взломали форум — начинаем восстанавливать (Часть 6)

Настала время заменить все файлы Vbulletin форума новой копией. Для этого скачаем новый zip архив …