Аудит плагинов WordPress выявил 35 уязвимостей, затронувших 60 000 серверов

Аудит плагинов WordPress выявил 35 уязвимостей, затронувших 60 000 серверов

Разработав собственную методику, швейцарские специалисты по пентесту обнаружили 35 уязвимостей в WordPress-плагинах, доступных пользователям 60,5 тыс. установок CMS. Большинство найденных проблем позволяют обойти аутентификацию и получить дамп базы данных WordPress через SQL-инъекцию.

Исследование в cyllective началось с изучения выбранных наугад расширений WordPress. Команда тестировщиков быстро отыскала (с помощью RegEx) возможности для внедрения SQL-кода без аутентификации. Был также обнаружен ряд уязвимостей LFI (включение локальных файлов) и RCE (удаленное исполнение кода).

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

Больше всего тестировщиков привлекали уязвимости класса SQLi; для их поиска была разработана система тегов, позволявшая идентифицировать плагины, взаимодействующие с базой данных WordPress; возможность строковой интерполяции (вставки новых значений в SQL-подобные строки), наличие защиты от попыток санации полей запроса, а также возможность интернет-доступа к конечным устройствам, не защищенным аутентификацией.

В результате фильтрации контрольная выборка сократилась до 5 тыс. объектов. Проработав три месяца, исследователи совокупно обнаружили 35 новых уязвимостей, которые можно было использовать без аутентификации (список приведен в блог-записи cyllective, некоторые CVE перепутаны).

Подавляющее большинство находок позволяло провести SQL-инъекцию и выгрузить все содержимое базы данных WordPress — не самая большая беда, как отметил лидер команды пентеста в интервью The Daily Swig. В плагине sitemap-by-click5, например, был найден недочет, который гораздо больше встревожил исследователей, — возможность обновления произвольных опций (настроек) WordPress.

Используя эту уязвимость (CVE-2022-0952, повышение привилегий), можно включить механизм регистрации и задать дефолтному юзеру роль администратора. По сути, злоумышленник мог беспрепятственно создать новый админ-аккаунт и захватить контроль над WordPress. В рамках атаки подобная возможность позволяет загрузить вредоносные PHP-файлы, которые обеспечат удаленное исполнение кода на сервере из-под аккаунта с минимальными привилегиями.

Найденные проблемы, как выяснилось, затрагивают 60,5 тыс. активных экземпляров WordPress. Процесс оповещения прошел гладко благодаря WPScan, которая координировала связь между заинтересованными сторонами (авторами опасных находок, создателями плагинов и представителями WordPress.org). Отчеты высылались по мере выявления уязвимостей; иногда исследователи за день отправляли по 4-5 сообщений.

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

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Яндекс Дзен, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

Серверы Redis атакует новый Golang-зловред

Эксперты Aqua Security обнаружили на ловушках новую вредоносную программу, нацеленную на серверы Redis. Поскольку зловред написан на Go, ему было присвоено кодовое имя Redigo. Для внедрения используется критическая RCE-уязвимость, устраненная еще в феврале.

Данная проблема (CVE-2022-0543, 10 баллов из 10 возможных по CVSS) позволяет обойти песочницу для Lua-скриптов в Redis и выполнить сторонний код на удаленном хосте. Уязвимость актуальна для некоторых вариантов Debian и Ubuntu и была устранена обновлением Redis-пакета до версии 5.6.0.16.-1.

Тем не менее, злоумышленники до сих пор пытаются использовать эту лазейку. Их рвение подогревает доступность PoC-экспойта.

Атака Redigo, согласно результатам анализа, начинается со сканирования портов 6379, используемых Redis. Обнаружив открытый порт, хакеры пытаются подключиться и запустить выполнение следующих команд:

  1. INFO — получение информации о сервере, в том числе о наличии CVE-2022-0543;
  2. SLAVEOF — создание реплики сервера атакующих;
  3. REPLCONF — настройка внешнего соединения для этой копии;
  4. PSYNC — запуск потока репликации с мастер-сервера; подобный бэкдор используется, в числе прочего, для разделяемого объекта exp_lin.so (сохраняется на диске);
  5. MODULE LOAD — загрузка модуля exp_lin.so для проведения эксплойта;
  6. SLAVEOF NO ONE — отключение репликации; в результате реплика получает статус мастер-сервера.

Библиотека exp_lin.so не только запускает эксплойт, но также обеспечивает выполнение дальнейших команд. С этой целью в файл, по словам исследователей, включена реализация system.exec. Используя эту функциональность, авторы атаки получают информацию об архитектуре CPU, а затем загружают Redigo, повышают привилегии зловредного файла и запускают его на исполнение.

 

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

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Яндекс Дзен, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru