За последнюю неделю жертвами заражений и атак подбором пароля по словарю (brute force) стали тысячи сайтов, работающих на платформе WordPress.

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

Parse error: syntax error, unexpected ‘)’ in /home/user/public_html/site/wp-config.php on line 91

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

Виновником масштабных brute force-нападений, зафиксированных Sucuri и SANS, является, по всей видимости, xmlrpc.php — та же PHP-библиотека, которая весной помогла злоумышленникам провести серию DDoS-атак с WordPress-сайтов. В ходе текущей кампании атакующие используют функцию wp.getUsersBlogs XMLRPC. Образцы запросов, опубликованные Даниелем Веземаном в дневнике InfoSec Handlers Diary Blog института SANS, наглядно демонстрируют попытки подобрать пароль (admin, admin123) на атакуемом сайте:

wp_bruteforce

Скриншот Robert Paprocki, опубликованный им на cryptobells.com и впоследствии отосланный специалистам из SANS.

По свидетельству экспертов, ранее brute force-атаки всегда проводились через обращение к wp-login.php, и специализированные средства защиты, такие как плагин BruteProtect, умеют их отражать. Использование XMLRPC ускоряет процесс и позволяет обойти таких сторожей. «Большинство этих аддонов отслеживают лишь wp_login.php в связке с результатом wp_login_failed, они не отреагируют на ошибку по входу в формате XMLRPC», — поясняет Веземан. Эксперт особо отметил, что просмотр HTTP-логов на сервере тоже вряд ли что-нибудь даст: веб-сервер без проблем принимает запросы злоумышленников и выдает предусмотренное регламентом XML-сообщение: «403 — Not Authorized».

Sucuri регистрирует сотни попыток brute force-взлома в сутки с использованием разных комбинаций «логин–пароль». По данным экспертов, с начала июля число таких попыток возросло в 10 раз; всего за истекший период они насчитали около 1 млн атак и 17 тыс. IP-адресов-источников. При этом список паролей, которым оперируют атакующие, вполне стандартен, тогда как при подборе логина они нередко используют имя домена или пытаются угадать имя администратора.

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

Категории: Главное, Хакеры