Что такое вредоносный код. Что такое вредоносный код Как найти вредоносный код в файлах ядра WordPress

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

Чаще всего заражение происходит из-за человеческого фактора, но что делать, если сайт все-таки взломан?

Основные проблемы

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

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

Ниже я приведу несколько команд, которые можно применять при поиске зараженных файлов и/или загруженных к Вам на сайт shell-ов/backdoor-ов. Для этого нам потребуется программа Putty и SSH-доступ к сайту.

Поиск зараженных файлов

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

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

find /Каталог с сайтом -type f -iname "*" -exec grep -Him1 "eval" {} \; > ./eval.log
find /Каталог с сайтом -type f -iname "*" -exec grep -Him1 "base64" {} \; > ./base64.log
find /Каталог с сайтом -type f -iname "*" -exec grep -Him1 "file_get_contents" {} \; > ./file_get_contents.log

Поиск директорий с полными правами на запись

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

find ./Каталог с сайтом -perm 777 -type d

Поиск измененных файлов за период

Если Вы знаете когда примерно произошло заражение, можно посмотреть список измененных файлов за последние несколько дней (параметр –mtime -7 указывает на дату изменения отличную от текущей за 7 прошлых дней)

find ./Каталог с сайтом -type f -iname "*" -mtime -7

Что делать, если сайт заражен?

Итак, предположим, что мы нашли зараженные файлы или shell-файл. Перед тем как его удалить/удалить из него вредоносный код, запомните его имя (полный путь), дату изменения/создания файла, его gid и id пользователя (для unix систем), это позволит найти способ его загрузки к нам на сайт. Начнем с пользователя и группы:

Посмотрите, от какого пользователя работает Ваш web-сервер:

ps -aux | grep "apache2" | awk {"print $1"}


Если этот пользователь совпадает с пользователем, создавшим вредоносный файл, то можно предположить, что он был загружен через сам сайт. Если же нет – файл могли загрузить через ftp (мы настоятельно рекомендуем изменить пароли к FTP-серверу и административной панели сайта).

cat ./site.ru.access.log | grep “имя filenameOfShellScript”


И получаем вывод всех запросов к нашему скрипту. По нему определяем userAgent и ip адрес нашего взломщика.

Следующей командой мы получаем список всех запросов, на которые он к нам заходил.

cat ./site.ru.access.log | grep “ip” | grep “userAgent”


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

Ижаковский Андрей, системный администратор

Проанализируйте способы заражения:

    Злоумышленник может получить пароли к администраторским панелям CMS, FTP или SSH аккаунтам. Обычно пароли подбирают или крадут с помощью троянских программ , заразивших компьютер вебмастера.

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

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

Найдите браузерный вредоносный код

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

Вы также можете самостоятельно воспроизвести проблему с помощью виртуальной машины .

Найдите серверный вредоносный код

Остановите веб-сервер, чтобы оградить посетителей сайта от потенциальной опасности. Затем проверьте антивирусом файлы веб-сервера и все рабочие станции, с которых администрируют сервер (можно использовать бесплатные антивирусные утилиты) и смените все пароли: root, FTP, SSH, от административных панелей хостинга и CMS.

Если до заражения была сделана резервная копия сайта, восстановите ее.

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

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

Проверьте наличие вредоносного кода:

  • во всех серверных скриптах, шаблонах CMS, базах данных;

    в конфигурационных файлах веб-сервера или интерпретатора серверных скриптов;

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

Признаки вредоносного кода:

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

    Обфусцированный (нечитаемый, неструктурированный) код.

    Дата модификации файлов совпадает с временем заражения или более поздняя. Этот параметр ненадежен, так как дата модификации файлов может быть изменена вирусом.

    Использование характерных для вредоносного кода функций. Примеры таких функций для языка PHP:

    • динамическое исполнение кода (eval , assert , create_function);

Вредоносный код удален, что дальше?

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

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

Если вы нашли что-то интересное

Яндекс постоянно ищет и исследует новые виды заражений и публикует результаты исследований в блоге Безопасного поиска Яндекса .

Если вы обнаружили на своем сайте вредоносный или подозрительный код,

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

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

В последнее время с опаской захожу в гости на сайты своих посетителей – 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
  • Удаляйте подозрительные коды, если Вы уверены в своих действиях

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

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

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

    Вчера, проверяя свою почту, я обнаружил письмо от Google, о том что посещение определенных страниц моего сайта может привести к заражению компьютеров пользователей вредоносными программами. Теперь пользователям, переходящим на эти страницы по ссылкам в результатах поиска Google.ru, отображается страница с предупреждением. Этот сайт не был добавлен мной в панель вебмастера Google, поэтому я был оповещен по почте. В панели вебмастера у меня находилось еще несколько сайтов, зайдя туда я в ужасе увидел предупреждение о вредоносном коде еще на двух своих сайтах.
    В итоге, на трех моих сайтах поселился вредоносный код , который мне предстояло найти и уничтожить. Один из сайтов работал на вордпрессе, другие два состояли из обычных php страниц.

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

    Как правило, чаще всего сайты заражает так называемый iframe-вирус . По сути, этот вирус состоит из кода …. . Вирус ворует все пароли с Total Commander или другого ftp-клиента . В моем случае, произошло тоже самое, код iframe прописался в нескольких десятках файлов на моем сайте. На сайте, который работал на вордпрессе, вредоносный код успел обосноваться лишь в footer.php .

    И так, как найти вредоносный код , если Вы обнаружили что Ваш сайт заражен:

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

    2. Меняем и удаляем пароли в ftp-клиенте . Больше никогда не храним пароли в ftp-клиентах, всегда вводим их вручную.

    3. Можно зайти на хостинг по ftp , и посмотреть что изменилось в Ваших файлах. Отсортируйте файлы по дате последнего изменения. У тех файлов, которые заражены, дата должна быть свежая и одинаковая. Откройте эти файлы и ищите код iframe , как правило этот код располагается в самом конце. В основном, вредоносный код прописывается в файлах: index.php, index.html , в файлах с расширением .js . Нередко, эта зараза проживает между тегами … .
    Для самописных сайтов, очень внимательно просмотрите все файлы и папки скриптов, вирус частенько прописывается именно там. Так же, излюбленное место обитания этого вируса, в кодах счетчиков для сайта, и в рекламных кодах.

    4. Проверьте файл.htaccess на наличие подозрительного кода. Иногда вредоносный код проникает и в этот файл. Обычно в файлах движка существует несколько директорий, в которых может находиться файл .htaccess. Проверьте все эти файлы и убедитесь в «чистоте» кода.

    Что касается файлов вордпресса или другой CMS , как правило любая CMS состоит из множество файлов и папок, и найти в них вредоносный код очень сложно. Например, для вордпресса могу порекомендовать плагин TAC . Этот плагин проверяет файлы во всех темах в папке themes на наличие стороннего кода. Если TAC найдет не желательный код, то покажет путь к этому файлу. Таким образом, можно вычислить и маскирующийся вирус.
    Скачать плагин TAC: wordpress.org

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

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

    Что такое вредоносный код и как от него избавиться

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

    Вчера, проверяя свою почту, я обнаружил письмо от Google, о том что посещение определенных страниц моего сайта может привести к заражению компьютеров пользователей вредоносными программами. Теперь пользователям, переходящим на эти страницы по ссылкам в результатах поиска Google.ru, отображается страница с предупреждением. Этот сайт не был добавлен мной в панель вебмастера Google, поэтому я был оповещен по почте. В панели вебмастера у меня находилось еще несколько сайтов, зайдя туда я в ужасе увидел предупреждение о вредоносном коде еще на двух своих сайтах.
    В итоге, на трех моих сайтах поселился вредоносный код , который мне предстояло найти и уничтожить. Один из сайтов работал на вордпрессе, другие два состояли из обычных php страниц.

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

    Как правило, чаще всего сайты заражает так называемый iframe-вирус . По сути, этот вирус состоит из кода …. . Вирус ворует все пароли с Total Commander или другого ftp-клиента . В моем случае, произошло тоже самое, код iframe прописался в нескольких десятках файлов на моем сайте. На сайте, который работал на вордпрессе, вредоносный код успел обосноваться лишь в footer.php .

    И так, как найти вредоносный код , если Вы обнаружили что Ваш сайт заражен:

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

    2. Меняем и удаляем пароли в ftp-клиенте . Больше никогда не храним пароли в ftp-клиентах, всегда вводим их вручную.

    3. Можно зайти на хостинг по ftp , и посмотреть что изменилось в Ваших файлах. Отсортируйте файлы по дате последнего изменения. У тех файлов, которые заражены, дата должна быть свежая и одинаковая. Откройте эти файлы и ищите код iframe , как правило этот код располагается в самом конце. В основном, вредоносный код прописывается в файлах: index.php, index.html , в файлах с расширением .js . Нередко, эта зараза проживает между тегами … .
    Для самописных сайтов, очень внимательно просмотрите все файлы и папки скриптов, вирус частенько прописывается именно там. Так же, излюбленное место обитания этого вируса, в кодах счетчиков для сайта, и в рекламных кодах.

    Что касается файлов вордпресса или другой CMS , как правило любая CMS состоит из множество файлов и папок, и найти в них вредоносный код очень сложно. Например, для вордпресса могу порекомендовать плагин TAC . Этот плагин проверяет файлы во всех темах в папке themes на наличие стороннего кода. Если TAC найдет не желательный код, то покажет путь к этому файлу. Таким образом, можно вычислить и маскирующийся вирус.
    Скачать плагин TAC: wordpress.org

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

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