Как проверить и найти вредоносный код, вирус на сайте

Дата:
|
Автор:

naiti-vredonosnui-codВредоносный код на сайте

Как найти на сайте вредоносный код, плагины, логи и сервисы чтобы проверить сайт на вирусы.

Доброго времени суток! Сегодня решил написать статью на тему блогинга. Эта тематика меня не привлекает и обычно я пишу о другом, но здесь так получилось, что столкнулся, в июле этого года, с одной неприятной вещью на своем сайте и пришлось не мало повоевать прежде чем проблема решилась.

Ну а если появился опыт и некоторые знания, почему бы не поделиться с блогерами- коллегами, труд которых я уважаю и которые, я знаю бывают, на моем сайте. В общем пока в памяти живо...

Неприятная вещь с которой я столкнулся,- это вирус на сайте. Вредоносный код, который появлялся в некоторых файлах и ломал движок сайта на Вордпресс.

Проявлялось это тем, что возникала ошибка при одобрении комментариев, не работало меню вставки картинок и виджет.

В общем я уже сталкивался с подобным раньше, когда подключал на сайте какой нибудь плагин, который конфликтовал с шаблоном или другими плагинами и поэтому сначала подумал что дело в каком то новом плагине(в его обновлении) или рекламном коде. Короче в чем то новом, что я недавно сделал на сайте.

Не буду тянуть резину и рассказывать все подробности, в общем, в итоге все дело оказалось во вредоносном скрипте, который каким то образом проник на мой сайт. И это не мудрено, если учесть что я хоть и установил защиту, но не слишком обращал на все это внимание, - пользовался малозащищенным доступом к хостингу для подключения к сайту; сохранял пароль при входе в админку, не использовал другие, более совершенные, способы защиты.

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

Начну наверно с того, что в кратце расскажу как я искал вредоносный код:

Сразу, как узнал что на сайте какой то вирус, сам просматривал различные файлы, и открывая очередной файл, нажимал Ctrl + F, и в маленьком, открывшемсякак проверить сайт на вирусы окошке (справа, вверху) просто вставлял наиболее встречающиеся вредоносные команды-коды (о которых будет чуть ниже) и жал Enter.. Таким образом проверял основные файлы темы и движка Вордпресс.

Так вообще легко можно найти любой кусочек кода или слова в документе.

А если вы знаете что вирус появился не давно, то при проверке этим нудным способом, нужно проверять файлы, которые по "дате редактирования"(смотрите справа от файла), были изменены недавно.

Я покопался  пару дней- не хрена не нашел, и сначала обратился с просьбой к Людмиле, автору шаблона моего сайта.

Кстати она делает красивые и что важно, оптимизированные и удобные в управлении шаблоны на различные темы. К тому же, встроенные в них скрипты- функции позволяют обходится без многих важных, но тяжелых плагинов, даже All In One SEO Pack не нужен.

Людмила полностью обновила Вордпресс, то есть не только движок(как это делаем мы с вами) а абсолютно все файлы и потом удалила с хостинга все прежние, старые. Вроде бы это сначала помогло, но уже вскоре сбои повторились. Обратился за помощью к фрилансеру на этом сервисе https://www.fl.ru/.

Написал, в мной созданном проекте, примерно следующее,-  "На сайте есть вредоносный код, это подтвердилось и т.д... Если вы хорошо разбираетесь в программировании и имеете опыт в устранении подобных проблем, прошу вашей помощи". Предложение я получил в этот же день.

Переходим к вредоносному коду на сайте:

Для начала как проверить сайт на вирусы: Это можно сделать на сервисе http://2ip.ru/site-virus-scaner/.

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

Он учитывает и указывает подозрения в тех случаях, где к примеру, есть рекламные коды с iframe-вставками. В общем может кричать и ложную тревогу, так что не кипишуйте увидев красную надпись. Главное что сервис укажет- относит ли Google и Yandex ваш сайт к безопасным. Этот сайт годится для быстрой проверки на вирус.

antivirus-alarmБолее серьезный ресурс для проверки сайта на вредоносный код http://antivirus-alarm.ru/. Проверяет различные функции такие как вирус на сайте, вредоносные JavaScript, плавающие вредоносные фреймы, IE атак, укажет сомнительные ссылки и т.п. Для сканирования он использует антивирусные базы известных, мировых компаний, поэтому и полное сканирование сайта может длиться довольно долго.

Ещё на этом сервисе(внизу) есть раздел где можно посмотреть как выглядят различные виды обнаруживаемых вредоносных кодов.

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

Поиск ошибок и Логи на хостинге

 
Кстати, если вообще говорить об ошибках на сайте, то чтобы в будущем можно было быстро узнать о каких либо ошибках, которые вдруг появились в скриптах или вызваны конфликтом плагинов, ошибки в кодах и файлах,- обязательно подключите логи на своем хостинге.

Как правило, даже на мощных хостингах таких как http://www.timeweb.ru/ это функция не подключена. Вы сами должны написать в тех.поддержку вашего хостера, что бы подключили логи такие как error_log и access_log. 

error_log

Эти файлы автоматически будут архивироваться на вашем хостинге рядом с корневой(главной) папкой(public.html). Вы их скачиваете себе на комп, открываете например в обычном Ворде и смотрите что находится в данном файле. Особенно это актуально для error_log.

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

access_log - покажет все возможные подключения к вашему серверу. Сами вы вряд ли станете в нем разбираться(там куча всего), я так точно забил, но фрилансеру, если будет нужно, показать можно.

В основном нужен access_log  для обнаружения тех, кто использует URL картинок с вашего сайта и тем самым нагружает ваш сервер, хотя это можно легко предотвратить но об этом в другой статье.

А когда будете просматривать скачанный вами файл error_log(его вы легко проверите сами), и он окажется пуст, значит у вас все в порядке, ошибок нет.

И так, где и как проверить сайт на вирусы и на ошибки вы теперь знаете. А теперь о важных сервисах и плагинах по поиску и удалению вредоносного кода.

Сервис для постоянной проверки

 
servisНу, а сейчас о хорошем сервисе, к которому я подключил свой сайт, и то же рекомендую сделать вам, лишним не будет.

Сервис http://www.siteguard.ru/. Что он дает? Во- первых он находит все подозрительные коды и показывает весь их внешний вид. В том числе безопасные скрипты, так что в этом он как и все. Хотя на мой взгляд и более избирательный.

Но главное его преимущество в том, что зарегистрировавшись и подключив сайт к этому сервису, он автоматически будет его сканировать в определенное время и в случае обнаружения любого нового кода, в том числе и безопасного. Будет высылать, на проверку, сообщение вам на емейл.

Это даст возможность, в случае чего нехорошего, быстрей среагировать и принять меры пока Яндекс торомозит(как иногда он любит делать) и первым не обнаружит вирус.

Ведь потом, помимо падения посещаемости, будет дополнительная морока с тем, чтобы поисковик восстановил доверие к сайту. То есть это даст вам некоторое преимущество во времени. Эта услуга на сервисе бесплатная, по крайней мере пока.

Ну, а если уж Яндекс обнаружил и повесил на ваш сайт клеймо, то все- кранты, сайт можно забыть..... Ахах, шучу конечно, надеюсь ваше сердце бьется..

Ничего страшного друзья, просто сразу после удаления вируса, обязательно идите на Яндекс Вебмастер и пишите в тех. поддержку письмо, а иначе так и будет сайт считаться опасным. То же самое и с GoogleСтатус здорового ему восстановят в течении ближайших 1-3 дней.

Теперь о плагинах для поиска вируса

К хорошим плагинам для поиска вредоносного кода на сайте смело можно отнести Exploit Scanner. И как написал в своей статье автор этого плагина, этот инструмент оказал мне неоценимую услугу, потому как вредоносный код, в моем случае, появлялся в разных местах сайта. Рекомендую почитать про этот плагин подробней по ссылке автора.

Например на моем сайте, вредный код явно полюбил файл functions.php так как после первого удаления, через время снова оказался на том же самом месте. Кроме того код был обнаружен плагином в файле index.html и в каком то файле с окончанием на "js".

Но к сожалению почему то не обнаружил кода в базе данных, хотя плагин специализируется на этом. Вообще, код там нашли вручную, в файле wp_wfHits.sql.

В этом файле содержалась куча информации о различных ссылках и много другой всевозможной инфы, это что то вроде кеша, памяти, которая собирала о сайте всЁ и вся. На вашем хостинге возможно вся эта информация хранится в файле под другим названием, но у меня в этом.

И вообще, на будущее, подобную информацию нужно удалять, то есть чистить базу данных MySQL не только спец. плагинами WP-Optimize и Optimize DB, но и вручную на хостинге перейдя в раздел Базы данных MySQL (иначе никак) Это важно чтобы не захламлять базу данных, ведь это влияет на скорость сайта, и тем самым на поведенческий фактор и посещаемость.

У меня например база данных сократилась с 63 Мб до 14Мб. Делать только это нужно аккуратно, предварительно сделав БЕКАП. Ну обо всем таком подробней как нибудь в другой раз или почитайте на блоге Александра Борисова в этой статье.

Только замечу ещё важную вещь,- если при входе в базу данных MySQL, вы забыли пароль и решили его сменить на новый(это легко сделать в данном разделе), то не забудьте зайти в главную папку public.html и найти в ней файл wp-config.php, а в нем найти вот это:

fail 1

и вместо старого пароля (звездочки), вписать этот новый, иначе вместо сайта вы увидите надпись типа,- "Нет доступа к запрашиваемым базам данных", то есть ваш сайт испарится, ну не совсем конечно.

Что то я отвлекся. И так продолжаем, плагин Exploit Scanner, так же как и антивирусные сервисы, реагирует не только на вирус, но и на здоровые скрипты. Поэтому, где бы вы и чем не проверяли сайт, никогда не торопитесь что то удалять.

Нередко под подозрение попадают счетчики статистики, такие как Ливинтернет, Яндекс Метрика, Mail.ru и вот к примеру, какие кусочки показывающие суть, можно увидеть в таких скриптах(выделено зеленым):

коды счетчиков

 Кроме этого, скрипты рекламы, кнопки и виджеты от соц. сетей:

коды определения

А так же среди подозрительных могут оказаться коды самого шаблона.

Просматривая эти файлы находите в них знакомые вставки- названия, таким способом можно спокойно исключить 90% всех подозрений выданных плагином или сервисом. Ну, а в остальном придется поразбираться. И можно сравнивать старый файл из прошлого БЕКАПА, с новой его версией, в котором был найден этот код, и тем самым тоже понять, в нем ли находится угроза.

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

Я не буду демонстрировать вам найденный код, я оставил его на http://www.siteguard.ru/, и множества подобного вы можете посмотреть на сервисе выше.

Скажу только что он имел в себе такие вкрапления,- Evil и base64_decode в начале самого кода, потом шифрованная длинная абракадабра и iframe и echo внутри кода.

Наиболее часто встречаемыми вредоносными кодами считаются файлы с командами,- sscounter; Evil; base64_decode; iframe; explode.

Но вы должны учесть что к примеру такие части как base64_decode ; iframe; explode не так уж редко используются и в безопасном коде, например у меня сейчас один рекламный скрипт содержит в себе вставку iframe. 

И когда присутствует в коде команда iframe, то как правило, если это вредоносный скрипт,  где то рядом(внутри) есть ссылка на другой сайт, опять же если это не рекламный код. Ссылка может быть обычного и скрытого вида в виде абракадабры.

Теперь о Плагине ТАС. - плагин для обнаружения вирусов на сайте Theme Authenticity Checker (TAC) знаю о таком, но сам не воспользовался, точней сказать, установил уже после удаления вредоносного кода, когда сайт уже какое то время нормально проработал и ещё раз проверил сайт этим плагином.

Конкретней, он ищет несанкционированные(чужие) ссылки на сайте, встроенные вредоносным кодом и перенаправляющие на посторонний ресурс. После активации, его настройки ищите в разделе "Внешний вид".

Скачать плагин можно с официального сайта Вордпресс здесь или установить его через админку.

И ещё один плагин который может вам очень помочь в будущем belavir. Он определяет несанкционированные изменения в php файлах движка Вордпресс.

Принцип действия плагина,- он хеширует php-файлы и потом сравнивает текущие хеши с более ранними версиями и если обнаруживает несоответствия, отображает информацию в админке сайта. К примеру:

Если же, просмотрев показанный файл, понимаете что это вы его редактировали, тогда просто нажмите кнопку "сброс". В настройках плагин не нуждается, закачайте и активируйте.

Этот плагин поможет быстрей обнаружить внедренный вирус. Следует только учесть, что он как и все прежние плагины и сервисы, будет показывать все незнакомые, в том числе и здоровые коды. Здесь важно разобраться в самом начале, после установки, а потом будет проще. Если вдруг что то изменится, то выведет один код,  да и вы уже будете знать меняли ли вы что нибудь, где нибудь или нет. 

Сразу скажу, плагин конфликтует с другим классным плагином WP Security Scan, что это за плагин (в другой статье) в общем придется выбирать тот или этот.

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

Но плагины что я привел выше, кроме belavir, можно установить, а после проверки сайта, попросту отключать их из админки чтобы не создавать лишней нагрузки. То есть они будут оставаться на сайте, но будут отключены. Тоже касается и плагинов оптимизации базы данных(приведенных выше).

Вот страница автора плагина belavir, где вы можете его смело скачать(смотреть справа), сайт одобрен Вордпресс, но перед этим обязательно прочитайте статью на той же странице. 

Ну и на этом пока все, а под конец напишу как можно удалить закодированную ссылку, которая может оказаться в новом шаблоне.

Удаление закодированной ссылки

 
Если удалить такую кодированную ссылку то можно поломать весь шаблон так как ссылка объединяет в себе определенные файлы и повлияет на функции темы.

Вот для вида начало и окончание подобной ссылки:

kodir-kod

 Кстати, если заметили в ней тоже скрывается команда base64_decode.

И так, для начала находим кодированную ссылку, обычна она длинная и чаще всего находится либо в  footer.php либо functions.php.

И перед   "<a href=" или  "<?php"(может быть и такое начало), ставим к примеру такой знак "***- это будет метка для нашей ссылки. 

Далее заходим на свой сайт(на главную) и правой кнопкой мыши открываем всплывающее окошко, в нем выбираем- "исходный код страницы" либо "просмотр кода элемента" (в зависимости от браузера).

Нам предстанет весь код нашего сайта.

Теперь на клавиатуре жмем Ctrl+F и ищем маленькое окно внизу слева. Вводим в него наши *** и нам сразу покажет(желтым цветом) где находится этот символ вместе с нашей кодированной ссылкой.

После этого нужно скопировать все то, что находится от начала нашей метки и до самого низа кода. После чего возвращаемся к тому нашему файлу, в котором мы нашли эту ссылку и вместо неё вставляем тот кусок кода, который мы только что скопировали.

В этом копированном коде и будут находиться закодированные ссылки, только сейчас они стали нормального вида и их теперь не проблема безопасно удалить.

И напоследок:

- Не забывайте проверять свой ПК на вирусы. Трояны воруют пароли с компа, и при соединении с хостингом, - передают данные злоумышленникам.как найти вирус на сайте

- При соединении с вашим хостингом для закачки каких то файлов используйте не порт 21, а порт 22(есть при наличии SSH подключения на хостинге). Это специальное подключение для безопасного доступа.

Если такого доступа в ПУ на сервисе нет, обратитесь в тех .поддержку за информацией. Возможно такой доступ есть, но он включается только при более дорогом тарифном плане, что было в моем случае на моем хостинге. Ну если сайт уже не плохо раскручен, то я думаю нет смысла экономить на безопасности.

И при соединении к хостеру c клиента Fizila или любого другого, - не сохраняйте в них пароли.

- Хоть иногда меняйте пароль к Панели Управления сайта и базе данных. Сам пароль должен состоять не менее чем из 20 символов с разным регистром.

- Получив на почту непонятное сообщение со ссылкой, проверьте его антивирусом на наличие вредоносного кода и лучше не открывайте все, что только возможно.

- И конечно друзья, перед любыми работами с файлами сайта, и базой данных обязательно делайте бекап корневой папки и базы. И тогда творите что угодно, ломайте хоть ещё много много  раз, все можно вернуть через панель хостинга или фтп клиент закачав на сервис резервную копию сайта. А редактировать файлы нужно в блокноте Notepad++ скачать с официального сайта можно здесь.

Ещё в скорости планирую написать статью как защитить сайт на Вордпресс, и думаю есть чем поделиться. Поэтому если желаете, можете подписаться на обновления

С уважением Андрей Русских

Уважаемые читатели, если статья вам была полезна, буду признателен если понажимаете кнопки (внизу)

Кроссворд для вас
(нажмите чтобы начать, если не видно цифр- обновите страницу)

конкурсный кроссворд


  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Рейтинг: 5 из 5 (2 голоса)
Комментарии к записи:
Перейти к форме комментирования
  1. Кроссворд разгадал, слово послал!

    Ответить
  2. Ключевое слово отправила. Спасибо за кроссворд.

    Ответить
  3. Думаю, что я не первая, но ура, дождались! 🙂

    Ответить
  4. Кнопочки понажимала, статья действительно полезная, только дочитаю завтра, ушла спать (две ночи почти не спала, у старшей дочки ацетон..., дай Бог, чтобы сегодня у нас уже ночь прошла хорошо). Всем УДАЧИ и спокойной ночи!

    Ответить
  5. Кодовое слово отправила.

    Ответить
  6. Статья - полезная, кроссворд - великолепный!!!!

    Ответить
  7. а давно ведете блог?

    На счет базы данных, для начала нужно скачать резервную копию, вверху есть кнопка "Экспорт" . При скачивании поставьте галочки там где 1) скачать со всеми настройками 2) сжатый архив.

    База данных важней чем даже все файлы вместе с корневой папкой на хостинге. В базе все ваши статьи и другие вещи.. После скачивания этого файла, разорхивируйте его и проверьте своим Кашперским или (как я описал на сайте) жмите Ctrl+F и в окно по очереди вставляйте вероятные коды( тоже есть в статье).
    У меня просто Кашперский проверяя этот файл, не видел вредоносный код, поэтому пришлось искать таким способом и нашли. Ну раз тот сервис его видит, попробуйте на нем и проверить это отдельный файл базы данных.

    Ответить
    • Анна там есть подраздел "Компрессия", вот в нем и устанавливаешь нужное сжатие.. Кстати. сжимать можно и в rar- это считается даже более качественное сжатие..а когда нужно загрузмить на сервис, то просто переархевируете на компе на нужное сжатие и все.

      На счет сайта это совсем не дело.. Им действительно приходится не мало заниматься, я так раньше с компа не вылазил.. Сейчас правда меньше..и надо не только статьи писать но и попутно изучать всякие толковые курсы чтобы внедрять самое ценное. Можно все искать и лопатить одно за одним, но это не благодарное занятие и не факт что по делу. И если уж заговорили про это то рекомендую поизучать уроки Борисова.. Я во многом по его курсам обучался и другие по ним поднимали свои сайты, там и по делу все и даже по плану.
      Проверьте ваш сайт- может он не индексируется вообще, поэтому все так плохо. Это здесь можно сделать http://www.cy-pr.com/ Если будет в индексе стоять всего несколько статей - значит нет индексации. Почему?- это уже серьезный вопрос, тут можно долго разбираться..
      А вообще заниматься сайтами или нет.. так скажу- на сайте точно реально заработать и заработать много.. Я правда много не зарабатываю пока, но кое что уже да..но время надо много отдать..Возможно вам нужно попробовать другой сайт начать делать с какой то более развернутой тематикой.. и главное правильно делать, а не только писать статьи..

      Ответить
      • Не за что.. если честно я тоже подумываю о другом.. просто тематик на этом уже много.. а есть неплохой опыт сайтостроения и хочу в общем чисто тематический такой сделать..Ну и здесь тоже пока буду основное выкладывать. И кстати в продвижении совсем нового сайта я не очень то согласен с Борисовым , ну у каждого своя мнение. Но в продвижении и в способах заработка в тематике СЕО и к примеру такой как мои основные, есть, помимо общего, большие отличия.
        Некоторые способы заработка отлично подходящих для Блоговедения мало подходят другим тематикам. Я имею ввиду не что то свое тематичное, а некоторые ОБЩИЕ заработки
        Кстати я сам довел свой блог до 2т и это за первый год при том что понаделал в начале кучу серьезных ошибок, правда не глобальных.

        Ответить
  8. Анна, антивирус Касперского в основном указывает на строки с "...wp-content..." и блокирует фотографии.

    Ответить
    • Важно! Это у нас был 4 кроссворд, но так результаты третьего были не засчитаны, то у нас ещё впереди два кроссворда- помним об этом.

      Статья с кроссвордом выйдет на следующей недели!

      Ответить
      • да... теперь всегда статьи по конкурсу будут выходить в это время, не раньше- не позже, а то у меня ощущение, что кое кого загонял

        Ответить
  9. Очень полезная статья Спасибо огромное!!! и самое главное по человечески написана, (простыми доступными словами) Не сведущему легче разобраться. и ведь каждый может столкнуться с такими проблемками.

    Ответить
    • я не понял у вас тоже свой сайт есть...а почему ссылку не дали? Все участники с сайтами будут потом в итогах и их ссылки тоже на странице будут..только закрытые, но это все равно вашему сайтк плюс будет..даже от роботов, потому как закрытая ссылка=- это упоминание, чем больше таких упоминаний и с разных сайтов- тем лучше..

      Ответить
      • Здравствуйте Андрей ! у меня нет своего сайта я всего лишь читатель, я выше оставляла комментарий о вашей статье " с вирусам". Вы не так поняли меня.

        Ответить
        • теперь я ничего не понимаю... ахах

          Ответить
  10. Все. Разгадала три предыдущих кроссворда. Все отправила в одном сообщении. А два последних уже постараюсь не упустить.

    Ответить
  11. Здравствуйте. А не подскажите случаем сервис поиска вредоносного кода в файле. Буквально пару часов нашел файл, и как мне кажется именно он виновен в спам -рассылках писем из-за которого хостиг заблокировал сам сайт

    Ответить
    • ссылка есть в статье

      Ответить
  12. Только маленький нюанс, "кажу только что он имел в себе такие вкрапления,- Evil и base64_decode ", не Evil, a скорее всего Eval 🙂 такая функция в php, которая выполняет переданный в неё код. Хотя конечно да, она Злая очень 🙂

    Ответить
    • это давно было и сейчас уже не скажу точно..возможно вы правы

      Ответить
  13. Спасибо за статью, полезная

    Re:В основном нужен access_log для обнаружения тех, кто использует URL картинок с вашего сайта и тем самым нагружает ваш сервер, хотя это можно легко предотвратить но об этом в другой статье.

    А в какой статье, не подскажете?

    Ответить
    • К сожалению я очень редко пишу статьи на подобные темы, и об этом не писал.. в интернете посмотрите. наверняка чтонить надете полезное или хостера спросите

      Ответить
  14. Спасибо, разъяснили мне, ведь учиться никогда не поздно.

    Ответить
  15. Спасибо за статью. Очень полезная. Я еще новичок в этом деле, много нового узнала.

    Ответить
  16. Мой сайт заболел файл в шаблоне functions.php заражен и не могу вычислить вредный код. Помогите ради Христа. Вирус HPH.BackDoor.32 и его видит только сканер DrWeb остальные слепые... Писал в поддержку DrWeb сказали что не ошибка что вирус есть в файле, а помочь не хотят.

    Ответить
    • к сожалению я этим не занимаюсь.. но обратитесь к Александру Борисову (блогеру) - он знает кто может вам помочь

      Ответить
Оставьте комментарий к этой записи ↓

* Обязательные для заполнения поля
Внимание: все отзывы проходят модерацию.