Вход RSS Форум по заработку на сайтах
Сапа
Продажа ссылок. посещаемость не важна. Сапа- наше все!

Профит
Для посещаемых сайтов от 500 хостов.

GoGetLinks
Для сайтов с параметрами. Очень высокий заработок!
Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 
 
 
 
 
Прокручивать шапку
 

Какая система контекстной рекламы приносит вам наибольший доход?

Смотреть результаты

Загрузка ... Загрузка ...
Архив голосований
 
 
 
 
 

Как удалить вирус со своего хостинга

03.02.2012 от YBV

Если лет 5 назад турецкий хакер, вскрыв мой старенький сайт на phpbb2, всего лишь написал на главной странице: «Привет из Турции», то сегодня хакинг сайтов — это прибыльный бизнес. На вашем сайте могут разместить баннеры, редирект на партнерскую программу, простыню из 500 ссылок на свои дорвеи, просто закачать сам дорвей в глубину сайта — вариантов монетизации вашего белого и пушистого сайта в чужой карман расплодилось довольно много. Что можно сделать с нашей стороны баррикад для противодействия вредоносным скриптам? Советы банальны, избиты и во множестве дублируются в интернете:

  • Не храните пароль от ftp аккаунта в ftp клиенте. Запишите его на бумажке и вводите каждый раз руками без копирования через буфер. В моей практике был случай, когда вирус прямо у меня на глазах пробился через KIS Касперского и успел украсть пароли до того, как KIS его удалил. В то же мгновение на ВСЕ сайты стали заливаться вредоносные шеллы.  И уж, конечно, никакой антивирус не поможет от свеженаписанного  кейлоггера, поселившегося у вас в компьютере, и отсылающего все набираемые с клавиатуры пароли.
  • Поддерживайте вашу CMS в актуальном состоянии.  Как только в каком-нибудь wordpress/joomla/phpbb и проч.  находится уязвимость,  миллионы школьников по всему миру бросаются тестировать ее на наших с вами сайтах. Поэтому обновляйтесь, господа, обновляйтесь регулярно.

Что делать, если вирус уже прокрался на ваш хостинг и заразил, к примеру, все *.php файлы своим включением? Для начала — не паниковать. :cool:

  1. Сканируем свой компьютер на предмет выявления вирусов каким-нибудь серьезным средством вроде последнего Касперского.
  2. Меняем пароль на ftp
  3. В .htaccess корневого каталога вашего ftp аккаунта прописываем:
    Deny from all
    Allow from тут_ваш_IP
    Например, ваш аккаунт называется vasya123, в нем находятся папки с сайтами site1.ru site2.ru и т.д. Так вот, указанный .htaccess надо разместить выше по уровню над всеми папками, чтобы он действовал на все сайты одновременно. Такой ход конем не даст хакеру возможности изменять файлы во время наших работ по очистке.
  4. Ищем шеллы. Шелл — это обычно php cкрипт, позволяющий бороздить ваш ftp аккаунт в качестве файлового менеджера. Когда вы его найдете, ради интереса можете запустить прямо через браузер как часть  своего сайта, например: http://site1.ru/templates/css/w3453650.w.php, просто чтобы понять, как это работает.
    Как найти вредоносные скрипты? Для этого на хостинге должен быть доступен SSH для вашего аккаунта. Если такой возможности нет, то это не хостинг, а недоразумение, и оттуда надо срочно бежать.4.1 Ищем руками — лезем по папкам и ищем файлы, созданные позже остальных на сайте. Долго, мало результативно, но зато наглядно и интересно.4.2 Используем утилиту grep, которая ищет файлы с вхождением определенной строки. Большинство типичных вирусов имеют типичные последовательности кода, по которым их можно вычислить.
    grep -rls «base64_decode|eval\(str_replace" /home/vasya123
    где /home
    /vasya123
    путь до вашего ftp аккаунта на хостинге,
    -r параметр рекурсии, заставляет искать внутри подпапок
    -l список найденных файлов выдается по одному в строке
    -s игнорируются ошибки доступа, например, если логи апача /logs/ имеют другого владельца в системе и вам недоступны
    Полученный список файлов необходимо проанализировать на предмет его деятельности на вашем сайте, здесь знание php и вашей CMS просто необходимо.

    4.3 Ищем файлы, созданные за определенный промежуток времени:
    find /home/vasya123/ -ctime  -40 -ctime +10 >files.txt
    Вышеуказанная команда ищет файлы, созданные от 40 до 10 дней назад и записывает результаты в files.txt Подобные списки могут оказаться очень обширными из-за файлов сессий, логов и иной деятельности ваших сайтов, но жизненно необходимо ее выполнять, чтобы выявить «детские» инклюды в ваши полезные файлы с простым редиректом на домен злоумышленника или другим не зашифрованным base64_decode действием. С промежутком времени необходимо экспериментировать, если неизвестна точная дата заражения. Также необходимо попробовать параметры -atime и -mtime этой команды.

  5. Дальше действуем по ситуации.
    5.1 По дате самого раннего залитого шелла или измененного файла ищем дыру в CMS, через которую пролез злоумышленник. Для этого смотрим логи всех сайтов за указанное время на предмет подозрительно запрошенных URL, что-то вроде site1.ru/?id=9999+union+select+null,’ >’,null+from+table1+into+outfile+’/usr/local/site/www/banners/cmd.php’/* и закрываем либо эту конкретную дырку, либо апгрейдим весь CMS целиком до последней версии.5.2 Удаляем залитые шеллы. Находим в них уникальную строку, свойственную только им, и удаляем через grep:
    grep -rls «2362634892тут уникальный код чтобы не удалить полезные файлы354345345» /home/vasya123 | xargs rm -rf
    Предварительно, конечно, надо запустить grep без параметра | xargs rm -rfчтобы убедиться, что ищутся строго вредоносные файлы.5.3 Если хакер прописал в полезные файлы одинаковый кусок вредоносного кода, то тут поможет вот этот php скрипт Его нужно подправить под свои нужды и запустить в корне каждого сайта через браузер. Также есть замечательный скрипт айболит который ищет вирусы и уязвимости на сайте, но он очень мнительный :smile:

Собственно, это и все. Главное — усвоить логику: сначала удаляем дыру, потом только удаляем последствия дыры. Иначе хакер воспользуется уязвимостью снова.

2 комментария на запись “Как удалить вирус со своего хостинга”
  1. iddqd:

    команда

    grep -rls «часть_кода_вируса″/home/vasya123 | xargs rm -rf

    удалит файлы, содержащие в себе заразу, но иногда эти файлы остаются рабочими и после заражения, поэтому целесообразнее их «лечить», для этого следует использовать следующую команду

    find /path/to/files/ | while read FILE; do sed -i ‘/часть_вредоносного_кода/d’ $FILE; done

    эта команда удалит строки содержащие код вируса и не тронет всё остальное. В итоге получим работающий и не зараженный файл.

Комментировать

(required)

(required)


CAPTCHA
*