Установка WPScan на Ubuntu: Ruby 3.3, Docker и API-токен

Установка WPScan на Ubuntu: Ruby 3.3, Docker и API-токен

WPScan это консольный сканер безопасности WordPress на Ruby. Он определяет версию ядра, плагины и темы и сверяет их с базой уязвимостей WPScan, где, по данным сервиса, уже больше 88 тысяч записей по ядру, плагинам и темам. Свежая версия сканера 4.1.0 вышла 23 июля 2026 года, и требования к системе у неё выросли. Ниже установка на Ubuntu и основные команды.

Что нужно WPScan 4.x и какой Ruby в Ubuntu

По README, WPScan 4.x нужен Ruby не ниже 3.3, curl не ниже 7.72 и компилятор для нативных расширений (nokogiri, ffi, yajl-ruby). Без компилятора и заголовков Ruby установка падает с ошибкой «Failed to build gem native extension».

В Ubuntu 26.04 в репозитории Ruby 3.3, его хватает. В Ubuntu 24.04 штатный Ruby 3.2, для свежего WPScan он уже старый: там проще запустить сканер в Docker или поставить новый Ruby через rbenv.

Установка через gem на Ubuntu 26.04

Обновите систему и поставьте Ruby с заголовками и компилятором:

sudo apt update && sudo apt upgrade -y
sudo apt install -y ruby-full build-essential ruby-dev

Ставить гемы под root без нужды не стоит. Удобнее держать их в домашней папке:

echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Для zsh те же строки идут в ~/.zshrc. Теперь сам сканер:

gem install wpscan
wpscan --version
wpscan --update

wpscan --update обновляет локальную базу. Сам сканер обновляется командой gem update wpscan.

Вариант без Ruby: Docker

Если Ruby на хосте трогать не хочется (или стоит Ubuntu 24.04), есть официальный образ. Базу лучше хранить в именованном томе, иначе при каждом запуске с --rm она начинается со старой копии, вшитой в образ:

docker pull wpscanteam/wpscan
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --update
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://example.com

API-токен: 25 запросов в день бесплатно

Без токена WPScan найдёт версию, плагины и темы, но данных об уязвимостях не покажет. Токен выдают после регистрации на wpscan.com. Бесплатно дают 25 запросов к API в день: один запрос уходит на версию WordPress, по одному на каждый найденный плагин и тему. Для одного сайта со средним набором плагинов этого обычно хватает на проверку раз в день.

Чтобы не вводить токен каждый раз, его можно положить в переменную окружения WPSCAN_API_TOKEN или в файл ~/.config/wpscan/scan.yml:

cli_options:
  api_token: 'YOUR_API_TOKEN'

Бесплатный тариф на странице цен рассчитан на исследователей и некоммерческое использование, для крупных компаний есть Enterprise с ценой по запросу. Владельцам небольших сайтов WPScan предлагает плагин Jetpack Protect, который берёт данные из той же базы. По лицензии WPScan проверять свои системы и использовать сканер в пентестах можно бесплатно, а вот продавать сканирование как сервис или встраивать WPScan в коммерческий продукт можно только с платной лицензией.

Основные команды сканирования

Базовая проверка сайта:

wpscan --url https://example.com --api-token YOUR_TOKEN

Плагины и темы ищутся ключом -e (--enumerate): vp уязвимые плагины, ap все плагины, vt и at то же для тем, bf папки бэкапов. По умолчанию плагины определяются пассивно, по коду страниц, поэтому для полного списка добавьте --plugins-detection aggressive:

wpscan --url https://example.com -e vp,vt --plugins-detection aggressive
wpscan --url https://example.com -e bf

Перебор логинов пользователей, только на своих сайтах или с явного разрешения:

wpscan --url https://example.com -e u

Сканировать только свои сайты

Запускайте WPScan только на сайтах, которыми владеете, или при письменном разрешении владельца. Агрессивное сканирование чужого сайта без договора легко примут за атаку, а хостер может заблокировать ваш IP. На своём сайте сканер полезно гонять после крупных обновлений плагинов и перед сдачей проекта.

Если нужна проверка сайта целиком, по моему прайс-листу диагностика сайта (WordPress и плагины, формы, Метрика, скорость, список рекомендаций) стоит от 5 000 ₽.

В итоге WPScan ставится одной командой gem install на Ubuntu 26.04 или запускается в Docker, а для данных об уязвимостях нужен бесплатный токен на 25 запросов в день. Он не заменяет обновления, файрвол и бэкапы, зато быстро показывает, что на сайте уже известно как дыра. Нашли уязвимый плагин: обновите или отключите сразу, не откладывая отчёт.

Источники и ссылки


Комментарии загружаются…