Сегодня более половины всех сайтов работают на CMS, а согласно данным W3Techs 63,7% из них используют WordPress. Если ваш сайт один из таких, тогда в этой статье вы узнаете о том, как проверить его на прочность с помощью одного из самых мощных инструментов для пентеста Wordpress – WPScan. «WPScan» – blackbox сканер уязвимостей WordPress, написанный на Ruby. Позволяет выявлять уязвимости в: WPScan уже предустановлены в ряде ОС для белого хакинга, таких как: WPScan сканирует свою базу данных, чтобы найти устаревшие версии и уязвимости в движке целевого сайта. Для тестов будем использовать Kali Linux, в которой WPScan уже предустановлен. В качестве жертвы будет WordPress, который мы заранее заранее установили на Ubuntu 20.04. О том, как это лучше сделать будет наш следующий пост.  Проверим параметры использования по умолчанию с помощью следующей команды:  Вводим следующую команду, чтобы просканировать WordPress и его сервер. На изображении ниже можно заметить, что WPScan выводит: Он даже обнаружил, что в каталоге загрузки есть список каталогов. Это значит, что любой может перейти к «/wp-content/uploads» для проверки загруженных файлов.  Темы оформления играют важную роль в любой CMS, они контролируют общий внешний вид веб-сайта, включая: WPScan для поиска уязвимостей использует свою базу, которая содержит почти 3 тысячи тем оформления. Чтобы проверить установленные темы целевого движка, введите следующую команду: Где: Чтобы перечислить только темы с уязвимостями можно использовать «vt». Таким образом, запустив указанную выше команду, мы увидим установленные темы и их версию.   Плагины – это небольшие фрагменты кода, которые после установки могут повысить функциональность движка и улучшить его возможности, но порой они наносят больше вреда, чем пользы. Давайте проверим установленные плагины, выполнив следующую команду:  Через несколько секунд, WPScan выводит результат, на котором видно видно, что на целевом сайте установлены плагины: В качестве бонуса мы получаем:  Чтобы вывести список привилегированных пользователей введем следующую команду:  Когда WPScan завершит свою работу, мы получим список всех пользователей с их идентификаторами.  Может ли WPScan одной командой сканировать: Давайте это проверим! Запустите следующую команду, чтобы сканировать темы, плагины и логины одновременно. –e: at: перечислить все темы целевого сайта; –e: ap: перечислить все плагины целевого веб-сайта; –e: u: перечислить все имена пользователей целевого веб-сайта.  С помощью имен пользователей, которые мы уже получили ранее, мы можем попробовать брутфорс. Для этого потребуется еще список паролей по умолчанию, например, «rockyou.txt». Начинаем брутфорс командой: –U и –P используются для настройки списка имен пользователей и списка паролей соответственно.  WPScan сопоставляет логины и пароли, а затем выводит результат на экран. В нашем случае были найдены 3 правильные комбинации.  Мы получили учетные данные администратора: Теперь попробуем с их помощью попасть в админку.  Вводим следующие команды: Этот модуль принимает имя пользователя и пароль администратора, входит в админку и загружает полезные данные, упакованные в виде плагина WordPress, но главное, он дает нам meterpreter сессию.  Здесь, на нашем веб-сайте, мы обнаружили уязвимый плагин, а именно «slideshowgallery», который содержит уязвимость при загрузке файла аутентификации. Для ее использования применим следующий модуль, который предложит нам обратное подключение. На изображении видно, что мы успешно получили meterpreter сессию.  Является ли прокси-сервер проблемой для WPScan? Давайте это выясним! Отныне наш WordPress будет работать через прокси-сервер с номером порта 3128. Теперь, если мы попытаемся сканировать его с использованием параметра по умолчанию, то увидим ошибку.  Итак, давайте попробуем использовать порт прокси для сканирования. Просто выполним следующую команду, чтобы обойти этот прокси-сервер: На изображении ниже видно, что сканирование удалось.  Многие веб-сайты поддерживают HTTP-аутентификацию, что позволяет скрывать важную информацию от тех, кто эту аутентификацию не прошел.  Мы установили аналогичную проверку для нашего сайта с учетными данными: На изображении ниже видно, что при попытке обычного сканирования мы получили предупреждение с просьбой использовать «–http-auth».  Таким образом, после этого предупреждения мы использовали «–http-auth» и ввели свои учетные данные. Сканирование началось...