Проверить скрипт на вредоносный код. Обеспечение безопасности в интернете и защита конфиденциальной информации. Если вы нашли что-то интересное

От беды такой ни кто не застрахован, но «предупрежден – значит вооружен» – не пора ли вооружаться…?!

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

В последнее время с опаской захожу в гости на сайты своих посетителей – Avast громогласно, нежным женским голосом пока предупреждает: «Вирусная атака заблокирована!» (скоро, глядишь, ругаться начнет!).

Да и в браузере частенько натыкаюсь на предупреждение: «Этот сайт может угрожать безопасности вашего компьютера».

Где мы ЭТО находим или кто нас ЭТИМ одаривает?
Всех секретов не ведаю, но тем, что знаю – поделюсь.

Основные виновники появления вредоносного кода на сайте – сами владельцы сайтов! Незнание законов не освобождает от последствий их неисполнения!

  • Нельзя хранить свои пароли в компьютере и в памяти
  • Нельзя разрешать браузеру запоминать данные для входа на сайты (пароль, логин)
  • Нельзя (не рекомендуется!) использовать в качестве пароля – имена, даты, читаемые фразы
  • Нельзя работать в админ-панели сайта или активировать ftp-соединение с отключенным или вообще не установленным антивирусом
  • Нельзя ставить себе на сайт сторонний код, не убедившись хотя бы визуально в его «порядочности» – если в коде есть ссылки, проверьте, куда и зачем они ведут.
  • Не рекомендуется при публикации или редактировании статьи копировать текст и вставлять его непосредственно из документа Office Word – вставляйте в редактор “как простой текст” (кнопка)

О последствиях заражения сайта Вы, очевидно, знаете – в результатах поиска вывешивается предупреждение
о том, что на сайт заходить опасно:
«Туда не ходи – сюда ходи…!»

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

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

Зайдите в «Настройки» и включите «Доставку сообщений» на эл. почту. В панели Яндекса можно еще выбрать – какие сообщения высылать, а какие просто сохранять в базе переписки.

Как выглядит, можно ли найти и как удалить вредоносный код самостоятельно?

Я, честно говоря, видел сам своими глазами пока только один (фото – 1).

Находился он в файле «шапки» (Заголовок – header.php) выбранного и скаченного шаблона,
нашел код .

фото – 1 – нажмите для увеличения

Cледует обращать особое внимание на:

  • коды, которые Вы сами не добавляли;
  • тэги script, в которые заключены ссылки на неизвестные Вам ресурсы; текст в которых запутан или зашифрован (фото – 1);
  • скрипты, или баннеры, но так же с непонятным, запутанным кодом или с внешними ссылками на неизвестные Вам сайты;
  • странные ссылки или элементы, оставленные в комментариях.
А что все- таки можно и нужно предпринять на первом этапе лечения,
если уж пришла такая беда?
  • проверяем свой компьютер на вирусы (желательно различными антивирусными программами);
  • меняем все пароли – хостинг, админ-панель сайта, FTP-доступ. И никогда их больше не сохраняем в браузере – вводим каждый раз руками;
  • в панели вебмастера Яндекс и Гугл знакомимся с подсказками и уведомлениями по поводу зараженных страниц;
  • проверяем сайт на «бан» от Гугл seobuilding.ru/google-banned.php ;
  • - проверяем сайт сканером sitecheck.sucuri.net/scanner ;
  • для самостоятельного поиска вредоносного кода в файлах можно зайти на хостинг через FTP и просмотреть файлы по последней дате изменения (не забудьте сделать копию сайта!) ;
  • можно просмотреть код страницы в Гугл вебмастер – «диагностика» – «Просмотреть как Googlebot» – и сравнить его с оригинальным кодом, отметить сторонние коды и выяснить, откуда они и зачем;
  • скачиваем файлы и базу данных сайта (через FTP) в компьютер и проверяем антивирусами- рекомендую лечащую утилиту Dr.Web CureIt
  • Удаляйте подозрительные коды, если Вы уверены в своих действиях

    Если не получается вылечить свой сайт своими руками, обращайтесь за помощью – на форумы, к фрилансерам, на свой хостинг… Только не тяните со временем, помните – Ваш сайт не рекомендован для просмотра и поисковые машины ждут от Вас активных действий!

    Всем удачной и безопасной работы!

    Сегодня Яндекс.Вебмастер сообщил мне неприятную новость, касающуюся одного из моих ресурсов. Cообщение информировало, что на страницах сайта обнаружен вредоносный код, который может быть опасен для компьютеров посетителей. При открытии страниц сайта вредоносный код на может привести к нежелательным для пользователя последствиям: заражению компьютера вирусами, несанкционированному использованию его ресурсов, порче и даже кражеличных данных.

    (N.A. своевременное обновление версии браузера повысит безопасность работы в интернете)

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

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

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

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

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

    Вредоносный код на сайте содержал следующий скрипт:

    Этот скрипт был размещен в конце каждой страницы между тэгами и .

    Удалить скрипт можно было двумя способами :

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

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

    Как защитить сайт от заражения вредоносным кодом

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

  • Пользоваться качественным антивирусом . Установить официальную версию лидирующей на данный момент по рейтингу антивирусной программы.
  • Поменять пароль для FTP доступа к сайту и панели управления. Если хостингом поддерживается отключение FTP доступа, отключить его из панели управления и включать по мере необходимости.
  • Обращаться через FTP доступ к сайту только с компьютеров, имеющих хорошую антивирусную защиту с актуальной вирусной базой.
  • Права доступа к файлам и папкам (Chmod) должны строго соответствовать тем, что рекомендует разработчик. В случае изменения прав доступа для редактирования файла, по окончанию работ, обязательно восстанавливать требуемые значения.
  • Выполняя эти четыре основных правила будет значительно сокращена вероятность заражения сайта вредоносным программным обеспечением.

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

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

    Как узнать что сайт стал жертвой атаки, в ходе которой на него попал вредоносный код? Первое и самое простое - сайт перестал работать или выглядит не так, как должен выглядеть "здоровый" ресурс. Это может проявиться в появлении нежелательного контента или исчезновении Вашего, страницы не загружаются или загружаются с ошибками. К тому же, если Ваш сайт добавлен в Яндекс или Google веб-мастер, Вы с большой вероятностью получите уведомление от этих систем о вредоносном коде. В некоторых случаях об уязвимости Вы можете узнать от своего браузера (скриншот из Google Chrome).

    Крайне нежелательно в таких случаях пытаться открывать страницу дальше.

    Ищем вредоносный код на сайте

    Разбираться в мотивах человека, который установил на Ваш сайт вредоносный код, а тем более искать его, мы не будем. Наша основная цель - это найти "плохой" код и удалить его. Для начала необходимо просканировать ресурс, чтобы обнаружить все "зараженные" страницы. Это позволяет сузить круг поиска. К примеру, вредоносный код мог быть помещен в виде Javascript скрипта на какую-нибудь отдельную страницу, скажем в содержимое поста или комментарий к нему. В таком случае проблема может быть решена через админку сайта удалением такого кода из содержимого/комментария. В противном случае, приходиться искать его в исходном коде Вашего ресурса.

    Для сканирования сайта на предмет уязвимостей можно воспользоваться https://sitecheck.sucuri.net В итоге можно увидеть следующее:

    Как видно из скриншота, "плохой" скрипт обнаружен на нескольких страницах сайта, поэтому придется поискать его в исходном коде.

    Получить доступ к исходному коду сайта можно несколькими путями:

  • Самый простой способ - через админку сайта. В Wordpress например, "Внешний вид" -> "Редактор". Такой способ не совсем удобен из-за отсутствия поиска по содержимому файлов, поэтому приходится очень тщательно просматривать их все по отдельности и искать "плохой" скрипт.
  • Многие блоги, корпоративные ресурсы, интернет-магазины расположены на серверах, к которым можно получить доступ через панель управления хостингом. Зачастую такой панелью является cPanel. Для получения доступа необходимо знать логин и пароль. Они обычно высылаются при покупке хостинга лицу, совершающему сделку. После входа в панель управления можно просмотреть абсолютно все исходные файлы через "Диспетчер файлов" и попытаться найти те, которые содержат обнаруженный вредоносный скрипт.
  • Самый удобный способ - через FTP-клиент. Если Вы "общаетесь" со своим ресурсом с помощью FTP-клиента, то без труда сможете запустить поиск по содержимому исходных файлов.
  • Не пытаетесь найти вредоносный код в исходных файлах Вашего сайта, подставив его в поиск полностью. Выделите его уникальную часть, как например googleleadservices.cn в нашем случае, и повторите поиск несколько раз.

    Удаление вредоносного кода

    После обнаружения вредоносного кода его просто необходимо удалить. В нашем случае сайт работал под Joomla, а "плохой" скрипт был вставлен в index.php в корневой директории. Именно поэтому уязвимость была обнаружена сразу на нескольких страницах, так как данный index.php используется при построении всех страниц ресурса.

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

    Профилактика

    Всегда лучше предупредить, чем лечить, поэтому я рекомендую:

  • Использовать "хорошие" пароли для все пользователей сайта (длинные, с цифрами, заглавными и прописными буквами).
  • Серьезно относиться и фильтровать контент, который генерируется на сайте не Вами (гостевые посты, комментарии).
  • Не ждать уведомлений, а периодически сканировать сайт на наличие уязвимостей.
  • Своевременно обновлять систему управления сайтом (Wordpress, Joomla, Drupal, ...).
  • С вопросами и замечаниями прошу в комментарии.

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

    Для обнаружения вредоносного кода в файлах и базе существуют специализированные решения – антивирусы и сканеры для хостингов. Их не так много, из популярных – это AI-BOLIT , MalDet (Linux Malware Detector) и ClamAv .

    Сканеры помогают обнаруживать загруженные веб-шеллы, бэкдоры, фишинговые страницы, спам-рассыльщики и другие типы вредоносных скриптов – все то, что им известно и заранее добавлено в базу сигнатур вредоносного кода. Некоторые сканеры, например, AI-BOLIT, обладают набором эвристических правил, которые позволяют обнаруживать файлы с подозрительным кодом, который часто используется во вредоносных скриптах, или файлы с подозрительными атрибутами, которые могут быть загружены хакерами. Но, к сожалению, даже в случае использования нескольких сканеров на хостинге, возможны ситуации, когда некоторые хакерские скрипты остаются не обнаруженными, что фактически означает, что у злоумышленника остается “черный ход” и он может взломать сайт и получить над ним полный контроль в любой момент.

    Современные вредоносные и хакерские скрипты значительно отличаются от тех, что были 4-5 лет назад. Сейчас разработчики вредоносного кода комбинируют обфускацию, шифрование, декомпозицию, внешнюю подгрузку вредоносного кода и используют другие уловки для того, чтобы обманывать антивирусное ПО. Поэтому вероятность пропуска новых “вредоносов” значительно выше, чем раньше.

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

    Вначале рассмотрим, что именно следует искать при взломе.

  • Хакерские скрипты.
    Чаще всего при взломе загружают файлы, представляющие собой веб-шеллы, бэкдоры, “загрузчики” (uploaders), скрипты для спам-рассылок, фишинговые страницы + обработчики форм, дорвеи и файлы-маркеры взлома (картинки с лого хакерской группы, текстовые файлы с “посланием” от хакеров и т.п.)
  • Инжекты (внедрения кода) в существующих файлах .
    Второй по популярности тип размещения вредоносного и хакерского кода – это инжекты. В существующие файлы сайта.htaccess могут внедрять мобильные и поисковые редиректы, в php/perl скрипты инжектировать бэкдоры, в.js и.html шаблоны встраивать вирусные javascript фрагменты или редиректы на сторонние ресурсы. Возможны инжекты и в медиа-файлах, например.jpg или. Часто вредоносный код состоит из нескольких компонентов: сам вредоносный код хранится в exif-заголовке jpg файла, а исполняется с помощью небольшого управляющего скрипта, код которого не выглядит подозрительным для сканера.
  • Инжекты в базе данных .
    База данных является третьей мишенью для хакера. Здесь возможны статические вставки , , , , которые перенаправляют посетителей на сторонние ресурсы, “шпионят” за ними или заражают компьютер/мобильное устройство посетителя в результате drive-by атаки.
    Кроме того во многих современных CMS (IPB, vBulletin, modx и др.) шаблонизаторы позволяют исполнять php код, а сами шаблоны хранятся в базе данных, поэтому php код веб-шеллов и бэкдоров может быть встроен непосредственно в БД.
  • Инжекты в кэширующих сервисах.
    В результате некорректной или небезопасной настройки кэширующих сервисов, например, memcached, возможны инжекты в закэшированные данные “на лету”. В некоторых случаях хакер может внедрять вредоносный код на страницы сайта без непосредственного взлома последнего.
  • Инжекты / инцицированные элементы в системных компонентах сервера.
    Если хакер получил привелегированный (root) доступ к серверу, он может подменить элементы веб-сервера или кэширующего сервера на инфицированные. Такой веб-сервер будет с одной стороны обеспечивать контроль над сервером с помощью управляющих команд, с другой – время от времени внедрять динамические редиректы и вредоносный код на страницы сайта. Как и в случае инжекта в кэширующий сервис, администратора сайта скорее всего не сможет обнаружить факт взлома сайта, так как все файлы и база данных будут оригинальными. Этот вариант наиболее сложный для лечения.
  • Итак, предположим, что сканерами вы уже проверили файлы на хостинге и дамп базы данных, но они ничего не обнаружили, а вирусный по-прежнему на странице или мобильный редирект продолжает отрабатывать при открытии страниц. Как искать дальше?

    Поиск вручную

    В unix сложно найти более ценную пару команд для поиска файлов и фрагментов, чем find / grep.

    find . -name ‘*.ph*’ -mtime -7

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

    find . -name ‘*.ph*’ -сtime -7

    Если нужно найти изменения в каком-то временном интервале, можно воспользоваться тем же find

    find . -name ‘*.ph*’ -newermt 2015-01-25 ! -newermt 2015-01-30 -ls

    Для поиска в файлах незаменим grep. Он может искать рекурсивно по файлам указанный фрагмент

    grep -ril ‘stummann.net/steffen/google-analytics/jquery-1.6.5.min.js’ *

    При взломе сервера полезно проанализировать файлы, у которых установлен guid/suid флаг

    find / -perm -4000 -o -perm -2000

    Чтобы определить, какие скрипты запущены в данный момент и грузят CPU хостинга, можно вызвать

    lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ‘ { if(!str) { str=$1 } else { str=str»,»$1}}END{print str}’` | grep vhosts | grep php

    Используем мозг и руки для анализа файлов на хостинге
  • Идем в директории upload, cache, tmp, backup, log, images , в которые что-то пишется скриптами или загружается пользователями, и просматриваем содержимое на наличие новых файлов с подозрительными расширениями. Например, для joomla можно проверить.php файлы в каталоге images:find ./images -name ‘*.ph*’Скорее всего, если что-то найдется, то это будет вредонос.
    Для WordPress имеет смысл проверить на скрипты директорию wp-content/uploads, backup и cache каталоги тем.
  • Ищем файлы со странными именами
    Например, php, fyi.php, n2fd2.php. Файлы можно искать
    • по нестандартным сочетаниям символов,
    • наличию цифр 3,4,5,6,7,8,9 в имени файлов
  • Ищем файлы с нехарактерными расширениями
    Допустим, у вас сайт на WordPress или Для них файлы с расширениями.py, .pl, .cgi, .so, .c, .phtml, .php3 будут не совсем обычными. Если какие-то скрипты и файлы с данными расширениями будут обнаружены, скорее всего это будут хакерские инструменты. Возможен процент ложных обнаружений, но он не велик.
  • Ищем файлы с нестандартными атрибутами или датой создания
    Подозрения могут вызывать файлы с атрибутами, отличающимися от существующих на сервере. Например, все.php скрипты были загружены по ftp/sftp и имеют пользователя user, а некоторые созданы пользователем www-data. Имеет смысл проверить последние. Или если дата создания файла скрипта раньше даты создания сайта.
    Для ускорения поиска файлов с подозрительными атрибутами удобно пользоваться unix командой find.
  • Ищем дорвеи по большому числу файлов .html или.php
    Если в каталоге несколько тысяч файлов.php или.html, скорее всего это дорвей.
  • Логи в помощь

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

    • Корреляция даты и времени отправки письма (которые можно узнать из лога почтового сервера или служебного заголовка спам-письма) с запросами из access_log помогают выявить способ рассылки спама или найти скрипт спам-рассыльщика.
    • Анализ трансфер-лога FTP xferlog позволяет понять, какие файлы были загружены в момент взлома, какие изменены и кем.
    • В правильно настроенном логе почтового сервера или в служебном заголовке спам-письма при правильной настройке PHP будет имя или полный путь до скрипта-отправителя, что помогает определять источник спама.
    • По логам проактивной защиты современных CMS и плагинов можно определять, какие атаки были выполнены на сайт и сумела ли CMS им противостоять.
    • По access_log и error_log можно анализировать действия хакера, если известны имена скриптов, которые он вызывал, IP адрес или User Agent. В крайнем случае можно просмотреть POST запросы в день взлома и заражения сайта. Часто анализ позволяет найти другие хакерские скрипты, которые были загружены или уже находились на сервере в момент взлома.
    Контроль целостности

    Намного проще анализировать взлом и искать вредоносные скрипты на сайте, если заранее позаботить о его безопасности. Процедура контроля целостности (integrity check) помогает своевременно обнаруживать изменения на хостинге и определять факт взлом. Один из самых простых и эффективных способов – положить сайт под систему контроля версий (git, svn, cvs). Если грамотно настроить.gitignore, то процесс контроля за изменениями выглядит как вызов команды git status, а поиск вредоносных скриптов и измененных файлов – git diff.

    Также у вас всегда будет резервная копия файлов, до которой можно «откатить» сайт в считанные секунды. Администраторам сервера и продвинутым веб-мастерам можно использовать inotify, tripwire, auditd и другие механизмы для отслеживания обращений к файлам и директориям, и контроля за изменениями в файловой системе.

    К сожалению, не всегда есть возможность настроить систему контроля версий или сторонние сервисы на сервере. В случае shared-хостинга не получится установить систему контроля версий и системные сервисы. Но это не беда, есть достаточно много готовых решений для CMS. На сайте можно установить плагин или отдельный скрипт, который будет отслеживать изменения в файлах. В некоторых CMS уже реализован эффективный мониторинг изменений и механизм integrity check (Например, в Битрикс, DLE). В крайнем случае, если на хостинге есть ssh, можно сформировать эталонный слепок файловой системы командой

    ls -lahR > original_file.txt

    и при возникновении проблем создать новый слепок в другой файл, а затем сравнить их в программах WinDiff, AraxisMerge Tool или BeyondCompare.

    Эпилог

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

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

    Что такое вредоносный код на сайте WordPress

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

    Как попадают вредоносные коды на сайт

    Лазейки для попадания кодов на сайт, также множество.

  • Чаще всего, это темы и плагины скачанные с «левых» ресурсов. Хотя, такое проникновение характерно для, так называемых, зашифрованных ссылок. Явный код так не попадает на сайт.
  • Проникновение вируса при взломе сайта, самое опасное. Как правило, взлом сайта позволяет разместить не только «одноразовый код», но установить код с элементами malware (вредоносной программы). Например, вы находите код, и удаляет его, а он восстанавливается, через некоторое время. Вариантов, опять — таки множество.
  • Сразу замечу, борьба с такими вирусами трудная, а ручное удаление требует знаний. Есть три решения проблемы: первое решение – использовать плагины анитвирисники, например, плагин под названием BulletProof Security .

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

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

    Как искать вредоносный код на WordPress

    Важно понимать, что вредоносный код на WordPress может быть в любом файле сайта, и не обязательно в рабочей теме. Он может занестись с плагином, с темой, с «самодельным» кодом взятого из Интернет. Попробовать найти вредоносный код можно несколькими способами.

    Способ 1. Вручную. Листаете все файлы сайта и сравниваете их с файлами незараженного бэкапа. Находите чужой код – удаляете.

    Способ 2. С помощью плагинов безопасности WordPress. Например, . У этого плагина есть замечательная функция, сканирование файлов сайта на наличие чужого кода и плагин прекрасно справляется с этой задачей.

    Способ 3. Если у вас, разумный support хостинга, и вам кажется, что на сайте «чужой», попросите их просканировать ваш сайт своим антивирусом. В их отчете будет указаны все зараженные файлы. Далее, открываете эти файлы в текстовом редакторе и удаляете вредоносный код.

    Способ 4. Если вы можете работать с SSH доступом к каталогу сайта, то вперед, там своя кухня.

    Важно! Каким бы способом вы не искали вредоносный код, перед поиском и последующим удалением кода, закройте доступ к файлам сайта (включите режим обслуживания). Помните про коды, которые сами восстанавливаются при их удалении.

    Поиск вредоносных кодов по функции eval

    Есть в php такая функция eval . Она позволяет исполнять любой код в ее строке. Причем код может быть закодирован. Именно из-за кодировки вредоносный код выглядит, как набор букв и символов. Популярны две кодировки:

  • Base64;
  • Rot13.
  • Соответственно в этих кодировках функция eval выглядит так:

    • eval (base64_decode (...))
    • eval (str_rot13 (...)) //во внутренних кавычках, длинные не понятные наборы букв и символов..

    Алгоритм поиска вредоносного кода по функции eval следующий (работаем из административной панели):

    • идёте в редактор сайта (Внешний вид→Редактор).
    • копируете файл functions.php .
    • открываете его в текстовом редакторе (например, Notepad++) и по поиску ищите слово: eval .
    • если нашли, не спешите ничего удалять. Нужно понять, что эта функция «просит» исполнить. Чтобы это понять код нужно раскодировать. Для раскодирования есть онлайн инструменты, называемые декодеры.
    Декодеры/Кодеры

    Работают декодеры просто. Копируете код, который нужно расшифровать, вставляете в поле декодера и декодируете.

    На момент написания статьи я не нашел у себя ни одного зашифрованного кода найденного в WordPress. Нашел код с сайта Joomla. В принципе разницы для понимания раскодирования нет. Смотрим фото.

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

    В завершении замечу, чтобы не получить вирус на сайт:

    • Вредоносный код на WordPress чаще приходит с темами и плагинами. Поэтому не ставьте шаблоны и плагины из «левых», не проверенных ресурсов, а если ставите, внимательно их прокачайте, на наличие ссылок и исполнительных функций php. После установки плагинов и тем с «незаконных» ресурсов, проверьте сайт антивирусами.
    • Обязательно делайте периодические бэкапы и выполняйте другие .