Эксперты Sucuri фиксируют резкий рост числа случаев использования протокола XML-RPC с целью взлома учетных записей WordPress путем перебора ходовых логинов и паролей. Повысить эффективность брутфорса злоумышленникам помогает метод system.multicall, позволяющий в данном случае опробовать сотни разных комбинаций с помощью HTTP-запроса.

Брутфорс-атаки на WordPress — не редкость, однако подбор многократным обращением к странице регистрации по HTTP/HTTPS слишком очевиден и быстро оканчивается блокировкой атакующего IP. Чтобы сделать атаку менее шумной, злоумышленники начали использовать XML-RPC — протокол вызова удаленных процедур, который поддерживают многие популярные CMS-платформы. На WordPress версий 3.5 и выше эта функция по умолчанию включена.

Беда в том, что специализированные защитные решения для WordPress реагируют лишь на ошибку обращения к wp-login.php, игнорируя попытки входа в формате XMLRPC. Просмотр HTTP-логов на сервере в данном случае тоже вряд ли поможет: запросы злоумышленников принимаются без проблем, и в случае неудачи им выдается стандартное XML-сообщение об ошибке (403 — Not Authorized).

Протокол XML-RPC предусматривает в числе прочего использование метода system.multicall, позволяющего выполнить сразу много команд в рамках одного запроса. Этим и воспользовались злоумышленники. «Подав три или четыре HTTP-запроса, атакующие могут опробовать тысячи паролей, обходя средства защиты, призванные отслеживать и блокировать попытки брутфорса», — констатирует в блоге Sucuri Дэниел Сид (Daniel Cid), основатель и технический директор ИБ-компании.

По словам эксперта, первая multicall-атака была обнаружена 10 сентября. Затем число таких попыток начало неуклонно расти, а 29-го произошел резкий скачок вверх. Так, за один день, 7 октября, исследователи зафиксировали около 60 тыс. брутфорс-атак на WordPress с использованием XML-RPC и system.multicall.

Поскольку атакующие не прибегают к эксплойту, а используют стандартный функционал CMS-платформы, патчем данную проблему не решить. Во избежание злоупотреблений Сид рекомендует заблокировать доступ к файлу xmlrpc.php, однако лишь в том случае, если он никак не используется (к нему обращаются некоторые WordPress-плагины, например JetPack). Доступ можно закрыть через .htaccess или с помощью плагинов, таких как WordPress Simple Firewall, iThemes Security, Disable XML-RPC.

Если блокировка невозможна без нарушения функциональности, можно фильтровать запросы system.multicall на уровне брандмауэра веб-приложений (WAF). По словам эксперта, такие запросы редко используются itw, зато их запрет поможет эффективно пресечь попытку усилить брутфорс, осуществляемый через XML-RPC.

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