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

  • 29.10.2019

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

Каждый вебмастер обнаружив вредоносный код на своем сайте , получает массу не очень приятных впечатлений. Владелец сайта сразу же, в панике пытается найти и уничтожить вирус, и понять каким же образом эта гадость могла попасть на его сайт. Но как показывает практика, найти вредоносный код на сайте не так уж и просто. Ведь вирус может прописаться в один или в несколько файлов, из огромного количества которых состоит сайт, будь то движок работающий на вордпрессе или обычный на 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Ниже я приведу несколько команд, которые можно применять при поиске зараженных файлов и/или загруженных к Вам на сайт 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-запросы из вывода, с помощью которых мог быть залит вредоносный файл.

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

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

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

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

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

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

    Приведенные ниже указания применяются к пользовательским приложениям и программам Скайпа. Они не применяются к программному продукту и веб-службе Skype для бизнеса, предоставляемым корпорацией Майкрософт.

    Что вы можете сделать для обеспечения безопасности

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

    А если вы хотите сообщить о каких-либо подозрительных действиях или проблемах в области безопасности, без колебаний обращайтесь к нам .

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

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

    • Используйте сочетание букв, цифр и других символов, например тех, что расположены на многих клавиатурах над цифрами, т. е. %, *, $, £ и!. Повысить надежность пароля можно, включив в него знаки препинания, символы и другие нестандартные знаки.
    • Не следует использовать имена, даты рождения и слова из словаря, так как их легко угадать.
    • Чем длиннее пароль, тем он надежнее, но не забывайте о том, что длинный пароль сложнее запомнить. Выбирайте такой пароль, который можете запомнить, чтобы не пришлось его записывать.

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

    Используйте в качестве пароля предложение.

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

    Включите в пароль числа, прописные и строчные буквы, чтобы пароль имел вид не "ответэтомарс", а "От3етЭтоМ4рс*".

    Свяжите пароль с чем-то личным для вас.

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

    Попробуйте отвлечься от этого и обратить внимание на то, что видите ("Вот течет река!" или "Желтый автомобиль"), а затем применить наши рекомендации:
    "В0тТ3четРек4*" или "4Ж3лтый автомобиль.$"

    Используйте уникальный пароль на каждом сайте.

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

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

    Регулярно меняйте ваши пароли.

    Даже если вы используете надежный пароль, его нужно регулярно менять.

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

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

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

    • Не открывай вложения электронной почты, полученные от незнакомых людей, а также подозрительные вложения, даже полученные от известных вам людей. В случае сомнения следует связаться с отправителем и получить от него подтверждение того, что письмо не поддельное, даже если на первый взгляд оно кажется безобидным (например, вам пришла электронная открытка или забавная картинка).
    • Даже если вы знаете отправителя, всегда используйте антивирусную программу для проверки файлов, которые вы получаете от других, как через Скайп, так и другими способами. Антивирусная программа на вашем компьютере должна работать постоянно, и не забывайте регулярно обновлять антивирусные базы.
    • Пользуйтесь персональным брандмауэром.
    • Настройте компьютер для регулярного получения последних обновлений системы безопасности и исправлений для своей операционной системы, например Microsoft Windows или Apple Mac OS X, а также для приложений, таких как Adobe Flash, Microsoft Internet Explorer или Mozilla Firefox.
    • С осторожностью подходите к выбору веб-сайтов, которые вы посещаете и с которых скачиваете контент. Старайтесь всегда использовать официальный сайт соответствующих программ.

    Дополнительную информацию о безопасном пользовании Интернетом см. на веб-сайтах InSafe и Get Safe Online .
    (Скайп не несет ответственности за содержимое сторонних сайтов).

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

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

    Для скачивания Скайпа следует использовать только https://www.skype.com (или магазин App Store на мобильной платформе), так как распространение Скайпа через какие-либо другие сайты не осуществляется.

    Перед тем как передавать информацию о своей кредитной карте на веб-сайты, утверждающие, что они перепродают продукты Скайпа, убедитесь, что соответствующий веб-сайт или продавец достоин доверия.

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

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

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

    Уделяйте пристальное внимание сообщениям, имеющим подчеркнуто срочный характер, например "Ваша учетная запись была скомпрометирована. Щелкните здесь для просмотра подробностей", или повелительный характер, например "Подтвердите сведения о вашей учетной записи". При получении сообщения с просьбой выполнить какое-либо действие с учетной записью, не переходите по приведенным в нем ссылкам. Вместо этого введите "skype.com" в браузере и перейдите в свою учетную запись прямо с сайта Скайпа.

    Если вы получили сообщение с вложением якобы от Скайпа, не открывайте это вложение.

    Если вы оказались на каком-либо веб-сайте через ссылку или другой механизм переадресации, убедитесь, что URL-адрес сайта имеет вид skype.com и что в нем отсутствуют другие символы или слова. Например, не стоит доверять веб-сайтам notskype.com и skype1.com.

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