Гид по технологиям

WPScan — сканер безопасности WordPress

• 4 min read • Безопасность • Обновлено 26 Nov 2025
WPScan — сканер безопасности WordPress
WPScan — сканер безопасности WordPress

Что такое WPScan

WPScan — это сканер безопасности WordPress, написанный на Ruby и запускаемый из командной строки. Он обнаруживает известные уязвимости в ядре WordPress, плагинах и темах, используя локальную базу данных сигнатур и внешние источники. Кратко: инструмент для поиска уже задокументированных проблем, а не для проведения активных эксплуатаций.

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

Основные варианты применения

  • Поиск уязвимых версий плагинов и тем.
  • Быстрая проверка конфигурации и видимых точек доступа.
  • Автоматизация регулярных проверок на CI/CD или на сервере админа.

Предварительные требования

  • Ruby — версии 1.9.2 и новее (рекомендуется ≥ 2.2.3).
  • curl — 7.21 и новее (рекомендуется последняя версия).
  • RubyGems — рекомендуется последняя версия.
  • Git — для клонирования репозитория WPScan.

Windows официально не поддерживается: сервер должен работать под Linux или macOS.

Установка на Ubuntu

Сначала установите Git (если ещё не установлен):

sudo apt-get update
sudo apt-get install git

Затем установите зависимости, требуемые для сборки и работы WPScan:

sudo apt-get install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev build-essential

Клонируйте репозиторий WPScan и установите Ruby-зависимости через bundler:

git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test development

Примечание: если у вас возникают проблемы с правами при установке gem, рассмотрите использование rbenv/rvm или запускайте bundler без sudo в окружении пользователя.

Установка на Arch Linux

Убедитесь, что Ruby и Git установлены, затем выполните команды:

sudo pacman -Syu ruby git libyaml
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test
sudo gem install typhoeus nokogiri

Важно: для Nokogiri могут потребоваться системные библиотеки (libxml2, libxslt). Установите их через pacman при необходимости.

Использование WPScan

Перед использованием перейдите в каталог WPScan:

cd wpscan

Примеры команд:

  • Полная проверка сайта (неинвазивная):
ruby wpscan.rb --url http://yoursiteurl.com
  • Перечисление всех установленных плагинов:
ruby wpscan.rb --url http://yoursiteurl.com --enumerate p
  • Показ только уязвимых плагинов:
ruby wpscan.rb --url http://yoursiteurl.com --enumerate vp
  • Перечисление всех тем:
ruby wpscan.rb --url http://yoursiteurl.com --enumerate t
  • Только уязвимые темы:
ruby wpscan.rb --url http://yoursiteurl.com --enumerate vt
  • Обновление локальной базы данных WPScan:
ruby wpscan.rb --update

Пример вывода

[!] Title: W3 Total Cache - Remote Code Execution
    Reference: https://wpvulndb.com/vulnerabilities/6622
    Reference: http://www.acunetix.com/blog/web-security-zone/wp-plugins-remote-code-execution/
    Reference: http://wordpress.org/support/topic/pwn3d
    Reference: http://blog.sucuri.net/2013/04/update-wp-super-cache-and-w3tc-immediately-remote-code-execution-vulnerability-disclosed.html
    Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2010
    Reference: https://secunia.com/advisories/53052/
    Reference: http://osvdb.org/show/osvdb/92652
    Reference: https://www.rapid7.com/db/modules/exploit/unix/webapp/php_wordpress_total_cache
    Reference: https://www.exploit-db.com/exploits/25137/
[i] Fixed in: 0.9.2.9

[!] Title: WordPress SEO by Yoast <= 1.7.3.3 - Blind SQL Injection
    Reference: https://wpvulndb.com/vulnerabilities/7841
    Reference: https://wordpress.org/plugins/wordpress-seo/changelog/
    Reference: http://packetstormsecurity.com/files/130811/
    Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2292
    Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2293
    Reference: http://osvdb.org/show/osvdb/119425
    Reference: http://osvdb.org/show/osvdb/119426
    Reference: https://www.exploit-db.com/exploits/36413/
[i] Fixed in: 1.7.4

Из вывода видно, какие плагины уязвимы и в каких версиях уже устранены проблемы. Рекомендуется обновить уязвимые компоненты до безопасных версий.

Мини-методология (как проводить проверку регулярно)

  1. Подготовка: убедитесь, что у вас есть разрешение на сканирование.
  2. Обновление: выполните ruby wpscan.rb --update для синхронизации базы.
  3. Быстрая проверка: запустите ruby wpscan.rb --url http://site --enumerate vp,vt.
  4. Анализ: сопоставьте найденные уязвимости с версиями и ссылками в отчёте.
  5. Ремедиация: обновите плагины/темы/ядро или примените компенсирующие меры.
  6. Регрессия: выполните повторную проверку после фикса.

Чек-листы по ролям

Администратор сервера:

  • Установить WPScan и настроить периодические задания (cron).
  • Держать систему и библиотеки в актуальном состоянии.
  • Обновлять базу WPScan перед запусками.

Разработчик/DevOps:

  • Автоматизировать сканирование в пайплайне CI для staging.
  • Привязывать отчёты к тикетам на исправление уязвимостей.

Аудитор/инженер безопасности:

  • Сопоставлять результаты WPScan с внутренними SAST/DAST.
  • Вести журнал и оценивать влияние уязвимостей.

Критерии приёмки

  • Все выявленные уязвимые плагины/темы обновлены до версий, где CVE/описание устранены, или отключены.
  • Регулярные проверки запускаются минимум раз в неделю (или чаще для критичных ресурсов).
  • Для каждого критичного уязвимого компонента есть план отката и тесты после обновления.

Важно: автоматические сканеры не заменяют ручной ревью и тестирование в тестовой среде.

Рекомендации по укреплению безопасности

  • Минимизируйте количество установленных плагинов.
  • Используйте проверенные и активно поддерживаемые плагины с рейтингом/активностью разработки.
  • Ограничьте доступ к административной части по IP и применяйте двухфакторную аутентификацию.
  • Регулярно делайте резервные копии перед обновлениями.

Конфиденциальность и соответствие (GDPR)

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

Когда WPScan не подходит (ограничения)

  • Для обнаружения нулевого дня (0-day) и неизвестных векторных атак WPScan неэффективен.
  • Для полного аудита безопасности требуется сочетание динамического тестирования, ручного ревью кода и проверки конфигурации сервера.

Быстрый план действий (SOP)

  1. Обновить базу: ruby wpscan.rb --update.
  2. Выполнить скан: ruby wpscan.rb --url http://yoursiteurl.com --enumerate vp,vt.
  3. Сформировать отчёт и приоритизировать по CVSS/классу риска.
  4. Создать задачи на исправление, проверить в staging.
  5. После деплоя выполнить регрессионный скан.

Однострочный глоссарий

  • CVE — идентификатор публично известной уязвимости.
  • WPScan DB — локальная и удалённая база сигнатур уязвимостей для WPScan.
  • Enumerate — опция перечисления плагинов/тем/пользователей.

Заключение

WPScan — полезный инструмент для администраторов и специалистов по безопасности, позволяющий быстро находить известные уязвимости в установках WordPress. Он не заменяет полноценный аудит, но при регулярном использовании значительно снижает риск эксплуатации известных проблем.

Если вы уже использовали WPScan — поделитесь практиками и проблемами, с которыми столкнулись, чтобы сообщество могло улучшать процесс проверки.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро