
Сканер безопасности WordPress, который выявляет уязвимости, перечисляет плагины/темы/пользователей и проверяет пароли на слабость. Интегрируется с WPScan API для получения данных об уязвимостях в реальном времени.
Сканер безопасности WordPress
База данных уязвимостей WordPress от WPScan - Плагин безопасности WordPress
Stream error in the HTTP/2 framing layerПри использовании дистрибутива для пентеста (например, Kali Linux) рекомендуется устанавливать/обновлять wpscan через пакетный менеджер, если он доступен.
brew install wpscanteam/tap/wpscan
WPScan зависит от гемов с нативными расширениями (например, yajl-ruby, nokogiri, ffi), поэтому перед gem install wpscan должны быть установлены рабочий C-тулчейн и заголовочные файлы для разработки на Ruby. Без них установка завершится ошибками вида Failed to build gem native extension или make: x86_64-linux-gnu-gcc: No such file or directory (см. #1844).
sudo apt install build-essential ruby-dev
sudo dnf install @development-tools ruby-devel
sudo pacman -S base-devel ruby
sudo apk add build-base ruby-dev
xcode-select --install).Затем установите гем:
gem install wpscan
В MacOSX, если возникает Gem::FilePermissionError из-за System Integrity Protection (SIP) от Apple, либо установите RVM и переустановите wpscan, либо выполните sudo gem install -n /usr/local/bin wpscan (см. #1286)
Вы можете обновить локальную базу данных с помощью wpscan --update
Обновление самого WPScan выполняется либо через gem update wpscan, либо через пакетный менеджер (это особенно важно для таких дистрибутивов, как Kali Linux: apt-get update && apt-get upgrade), в зависимости от того, как WPScan был (пред)установлен
Скачайте образ с помощью docker pull wpscanteam/wpscan
Перебор имён пользователей
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u
Перебор диапазона имён пользователей
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u1-100
** замените u1-100 на диапазон по вашему выбору.
Образ содержит копию локальной базы данных, встроенную на этапе сборки. Поскольку в примерах команд выше используется --rm, любые обновления базы данных, выполненные во время запуска, отбрасываются при выходе из контейнера, поэтому следующий запуск снова начнётся с (возможно устаревшей) встроенной копии.
Монтирование именованного тома в /wpscan/.cache/wpscan/db (каталог кэша пользователя wpscan внутри контейнера) сохраняет базу данных между запусками, поэтому wpscan --update повторно загружает только те файлы, контрольные суммы которых действительно изменились, а предупреждение об устаревании данных через 5 дней ведёт себя так же, как и при локальной установке:
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --update
Именованный том создаётся автоматически при первом использовании, если он ещё не существует.
Полная документация пользователя доступна здесь: https://github.com/wpscanteam/wpscan/wiki/WPScan-User-Documentation
wpscan --url blog.tld Эта команда выполнит сканирование блога с параметрами по умолчанию, обеспечивающими хороший баланс между скоростью и точностью. Она выполняет определение версии, темы и поиск интересных находок. Для перебора плагинов, тем, пользователей, резервных папок и т. д. используйте опцию -e (например, -e ap для всех плагинов, -e vp для уязвимых плагинов, -e bf для резервных папок).
Если требуется более скрытный подход, можно использовать wpscan --stealthy --url blog.tld.
Поэтому при использовании опции --enumerate не забудьте соответствующим образом задать --plugins-detection, поскольку по умолчанию она имеет значение 'passive'.
За дополнительными параметрами откройте терминал и введите wpscan --help (если вы собрали wpscan из исходников, вводите команду вне git-репозитория)
Расположение базы данных соответствует спецификации XDG Base Directory:
~/.cache/wpscan/db (или $XDG_CACHE_HOME/wpscan/db, если задано)~/.wpscan/db (устаревший путь, сохранён для обратной совместимости)Файлы времени выполнения, такие как HTTP-кэш по умолчанию и cookie jar, сохраняются в $TMPDIR/wpscan, если задан $TMPDIR. В противном случае используется тот же пользовательский каталог кэша XDG, например ~/.cache/wpscan/cache и ~/.cache/wpscan/cookie_jar.txt. Эти значения по умолчанию можно переопределить с помощью --cache-dir и --cookie-jar.
Чтобы перенести существующую установку на путь XDG:
mv ~/.wpscan ~/.cache/wpscan
CLI-инструмент WPScan использует API базы данных уязвимостей WordPress для получения данных об уязвимостях WordPress в реальном времени. Чтобы WPScan мог получать данные об уязвимостях, необходимо указать API-токен через опцию --api-token или через файл конфигурации, как описано ниже. API-токен можно получить, зарегистрировав аккаунт на WPScan.com.
Бесплатно предоставляется до 25 API-запросов в день — этого должно быть достаточно для сканирования большинства сайтов на WordPress как минимум раз в день. Когда дневной лимит в 25 API-запросов исчерпан, WPScan продолжит работать в обычном режиме, но без данных об уязвимостях.