Вирус на сайте - как его найти и удалить

  1. Проверить на любые изменения файлов
  2. find . -type f -name '*.php' -mtime -2
  3. Сравнение 2-х версий сайта.
  4. diff -r wordpress-clean/ wordpress-hacked/
    Тут clean — чистая наша копия и hacked — зараженная копия. Если хотите исключить какие либо папки из сравнения, можете воспользоваться ключом -x название-папки.
  5. Пример поиска файлов на сервере с зараженным кодом. 
  6. find $PWD -name '*.*' -exec grep -li "iframe" {} \;
    find $PWD -name '*.*' -exec grep -li "unescape" {} \;
    find $PWD -name '*.*' -exec grep -li "fromCharCode" {} \;
    find . -type f -name '*.php' | xargs grep -l "eval *(" --color
    find . -type f -name '*.php' | xargs grep -l "base64_decode *(" --color
    find . -type f -name '*.php' | xargs grep -l "gzinflate *(" --color

  7. Если нет доступа по SSH
  8. <?php
    system("find . -name '*.php' -exec grep -l 'base64_decode *(' {} \; > rem01.txt");
  9. Поиск по базе данных (БД).
  10. В некоторых случаях часть вредоносного кода может находится в самой БД. В таких случаях нужно БД тоже проверять на %base64_% и %eval(% или другие вышеизложенные функции. Искать по БД можете по разному.
  11. Manul от Яндекса http://help.yandex.ru/manul/
  12. Антивирусная проверка, используя специальный сервис поисковой системы Google -http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=168328

Поиск по этому блогу