[Перевод] 5 способов взломать цели на WordPress

На сегодняшний день более полумиллиарда сайтов работают на WordPress. К сожалению, не каждому уделяется должное внимание с точки зрения безопасности. Вероятность наткнуться на сайт с уязвимым WordPress довольно высока. WordPress часто используется как платформа для блогов или документации, а некоторые охотники за багами пугаются ее и пропускают тестирование таких инстанций, или сосредотачиваются на более доступных уязвимостях.
В этой статье мы рассмотрим несколько способов выявления уязвимостей в целях на WordPress. Поехали!
Что такое WordPress
WordPress — это мощная система управления контентом (CMS), которую можно настроить с помощью обширного рынка плагинов, насчитывающего более 70 000 плагинов. WordPress можно превратить в интернет-магазин, лендинг для бизнеса или просто использовать как платформу для блогов.
Сегодня в интернете существует более 500 миллионов сайтов на WordPress, что составляет более 30% всех сайтов. Многие из них не получают должного внимания относительно безопасности, отчасти из-за нехватки знаний о распространенных уязвимостях, которые часто встречаются в целях на WordPress.

Давайте рассмотрим самые распространенные способы эксплуатации уязвимых сайтов на WordPress.
Эксплуатация целей на WordPress
1) Ищем устаревшие экземпляры
Несмотря на усилия, некоторые предприятия и крупные организации могут быстро забыть про инстанции, которые когда-то настроили, и долго не трогали. Если автоматические обновления не были настроены, вы можете обнаружить экземпляр, который работает на старой версии. Особенно если он размещен самостоятельно, без участия третьей стороны.
Всегда рекомендуется проверять устаревшие экземпляры WordPress, так как они могут быть уязвимы ко всем видам угроз безопасности: от простых проблем с межсайтовым скриптингом (XSS) до критических уязвимостей, таких как SQL-инъекции.
Некоторые экземпляры WordPress раскрывают номер своей версии в meta HTML-теге. Автоматизированные инструменты, такие как WPScan, или расширения для браузеров (BuiltWith или Wappalyzer) также могут помочь вам легко определить номер версии.

Как только вы установили номер версии, вы можете поискать известные уязвимости и эксплойты.
2) Доступные файлы конфигурации
Резервные копии необходимы для любого сайта, однако иногда случается, что администраторы сохраняют файл резервной копии в корневой папке сайта. Это означает, что любой неавторизованный посетитель может просто получить файл с сервера, зная его расположение.
В других случаях администраторы забывают установить правильные настройки конфигурации, такие как запрет на просмотр каталогов или отсутствие файлов .htaccess для предотвращения несанкционированного доступа к определенному каталогу.
Самый простой способ быстро проверить доступ к файлам конфигурации — это поиск проиндексированных файлов. Другой способ найти информацию — это перебор.
Вот некоторые распространенные пути и файлы, которые следует проверить:
.env
.env.bak
.env.php
wp-config-backup.php
wp-config.php.save
wp-config.php~
wp-config.php.old
error_log.log
php_error.log
wp.sql
db.sql
wpbackup.sql
mysql_backup.sql
{TARGET}.zip
{TARGET}-backup.zip
backup.zip
Убедитесь, что заменили {TARGET} на имя вашей цели.
Несколько советов, которые вы можете применить для поиска доступных файлов резервных копий:
Символ тильды в конце имени файла (~) и ключевое слово .save обычно используются редакторами командной строки для создания резервной копии оригинального файла. Если такие файлы не были удалены, вы сможете просмотреть содержимое оригинального файла.
Попробуйте менять расширения файлов. Администраторы сайтов могли создать резервные копии данных, используя другой метод сжатия. Замените .zip в списке выше на: .rar, .tar, .tar.gz, .bak, .gz
СОВЕТ! Попробуйте использовать фаззинг для вашей цели на WordPress с пользовательскими списками слов! (Списки, специально созданные для WordPress-целей, обычно дают больше результатов)
3) Некорректные настройки безопасности
На этапе начальной настройки администраторы WordPress иногда забывают включить или отключить определенные параметры безопасности и следовать рекомендациям. Это может привести к ряду проблем, таких как раскрытие конфиденциальной информации. Рассмотрим распространенные ошибки в конфигурации безопасности, которые часто встречаются в WordPress и являются следствием несоблюдения рекомендаций.
Открытая регистрация
Включенная опция «Anyone can register», позволяет создать учетную запись и дает возможность неавторизованным пользователям повысить свой уровень доступа. Эта функция часто встречается, когда администраторы WordPress создают сообщество, позволяя новым людям регистрироваться и взаимодействовать друг с другом.
Иногда случается, что эта функция задумывалась как временная мера для тестирования, например, на этапе начальной настройки. Если её не отключили, вы можете перейти на страницу /wp-register.php или /wp-login.php? action=register и зарегистрироваться, чтобы создать учетную запись.

Включено отображение содержимого директории
Отображение содержимого директорий позволяет посетителям просматривать содержимое определенной веб-директории. Это возможно только в том случае, если веб-сервер поддерживает такой режим и не найден индексный файл. Поэтому рекомендуется отключать отображение содержимого директорий, чтобы предотвратить потенциальное раскрытие информации.
При тестировании целевых объектов на WordPress попробуйте запросить директорию и изучить её содержимое. Наиболее распространенное место, где доступно отображение директории, — это папка /wp-content. Она специально предназначена для загруженного контента в инстансах WordPress.

СОВЕТ: Использование Google dorking позволяет легко находить списки директорий у ваших целей на WordPress.
Идентификация пользователей WordPress через REST API
WordPress предоставляет REST API, который позволяет внешним приложениям взаимодействовать с вашим инстансом WordPress. Один эндпоинт может помочь вам идентифицировать текущих авторов, а также раскрыть адреса электронной почты этих учетных записей (подробнее об этом позже).
Посещение следующего эндпоинта на уязвимом WordPress позволит нам получить всех текущих авторов:
— /wp-json/wp/v2/users
— /wp-json/wp/v2/users/1

Конечно, разработчики будут пытаться заблокировать доступ к этим конечным точкам. К счастью, мы можем обойти эти меры и слабые проверки. Например, по умолчанию WordPress позволяет использовать параметр rest_route. Этот подход особенно полезен, когда сервер или фаервол блокируют весь трафик к REST API эндпоинту wp-json:
/?rest_route=/wp-json/wp/v2/users
Адрес даст тот же ответ, что и wp-json.
4) Слабые учетные данные
Некоторые пользователи предпочитают удобство безопасности и по этой причине используют слабую комбинацию имени пользователя и пароля, которую легко угадать. Используя информацию о полученных пользователях, указанную выше, можно поискать слабые учетные данные и пытаться повысить привилегии.
В следующий раз, тестируя цели на WordPress, попробуйте найти стандартные и слабые учетные данные.
Подсказка! При активированном XMLRPC-эндпоинте можно проводить брутфорс учётных данных для входа, не опасаясь ограничения скорости запросов!
5) Использование уязвимых плагинов и тем WordPress
Плагины и темы для WordPress — настоящая сокровищница для охотников за багами. Плагины и темы открывают дополнительные возможности. С огромным рынком из более чем 70.000 плагинов, каждый из которых добавляет новые эндпоинты, функции и возможности, вероятно, вы столкнетесь с уязвимым плагином.
Быстрый способ проверить уязвимые плагины и темы — сначала найти все включенные расширения на ваших WordPress-целях. Один из способов — просмотреть исходный код встроенных скриптов. Другой способ — провести брутфорс названий плагинов.

Как только вы столкнулись с активным плагином, получите номер его версии и найдите известные CVE и соответствующие эксплоиты.
Подсказка! WPScan имеет список уязвимых плагинов для WordPress!
Заключение
Мы рассмотрели несколько способов обнаружения уязвимостей безопасности в целях на WordPress, от раскрытия конфиденциальных данных до получения доступа через уязвимые плагины. К счастью для нас, нам не нужно вручную выполнять все эти проверки самостоятельно, этот процесс можно легко автоматизировать, используя такие инструменты, как WPScan. Он поможет вам искать уязвимости в большем обьеме.
Вы только что узнали, как взламывать цели на WordPress, теперь самое время проверить свои навыки!
Ещё больше познавательного контента в Telegram-канале — Life-Hack — Хакер