Введение
WPScan расшифровывается как WordPress Security Scanner. Это бесплатный сканер уязвимостей, написанный на языке программирования Ruby, который помогает специалистам по безопасности и блоггерам тестировать уязвимости на своих сайтах WordPress. Это помогает обнаружить любые уязвимости, связанные с темами WordPress, плагинами или любыми другими угрозами безопасности, размещенными на сайте WordPress.
В этом руководстве показано, как установить и использовать сканер уязвимостей WPScan WordPress в Ubuntu 18.04.
Если вы намерены установить WPScan на удаленный сервер, продолжайте читать, в противном случае, если вы хотите установить WPScan на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Предпосылки
Чтобы следовать этому руководству, вам понадобятся:
- Сервер Ubuntu 18.04, настроенный в соответствии с Руководством по начальной настройке сервера для Ubuntu 18.04, включая пользователя без полномочий root с привилегиями sudo и брандмауэр, настроенный с помощью ufw.
Установите зависимости WPScan
Прежде чем вы сможете установить Сканер безопасности WordPress (WPScan), убедитесь, что установлены следующие зависимости и ваша система обновлена.
Обновите список доступных пакетов:
sudo apt update
Обновить доступные пакеты:
sudo apt upgrade -y
Установите зависимости, необходимые для установки WPScan:
sudo apt install curl git libcurl4-openssl-dev make zlib1g-dev gawk g++ gcc libreadline6-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config ruby ruby-bundler ruby-dev -y
WPScan можно установить из репозиториев RubyGem или из исходников.
Установите WPScan с RubyGem
Чтобы установить WPScan из репозиториев RubyGem, выполните следующую команду:
gem install wpscan
Чтобы удалить WPScan, выполните следующую команду:
gem uninstall wpscan
Установите WPScan из исходников
Чтобы установить WPScan из исходников, вам нужно получить доступ к репозиторию Github, чтобы скачать WPScan:
git clone https://github.com/wpscanteam/wpscan
Войдите в папку, созданную с помощью предыдущей команды:
cd wpscan/
Установите WPScan из исходников, это займет несколько минут. От типа терминала:
sudo bundle install && sudo rake install
Вы должны получить выходное сообщение, подобное следующему:
...
Finished in 14 minutes 43 seconds (files took 23.56 seconds to load)
24314 examples, 0 failures, 48 pending
Coverage report generated for RSpec to /root/wpscan/coverage. 1819 /2119 LOC (85.84%) covered.
wpscan 3.6.3 built to pkg/wpscan-3.6.3.gem.
wpscan (3.6.3) installed.
Установка завершена, WPScan готов к использованию.
Обновить WPScan
Вы можете обновить локальную базу данных с помощью следующей команды:
wpscan --update
Обновление утилиты WPScan можно выполнить с помощью следующей команды, если она была установлена вместе с RubyGem:
gem update wpscan
Или с помощью менеджера пакетов:
sudo apt-get update && sudo apt-get upgrade
Примеры сканирования
Вот несколько примеров того, как сканировать блог WordPress на наличие уязвимостей. Убедитесь, что вы запускаете следующие примеры в своем собственном блоге. Сканирование чужих сайтов является незаконным.
Основная команда для сканирования всего блога выглядит следующим образом:
wpscan --url wordpress.example.com
WPScan может сканировать протоколы http и https. Если не указано, по умолчанию будет сканироваться http.
Если вы хотите сохранить результаты вывода сканера в файл, используйте параметр -o имя_файла.txt:
wpscan --url http://wordpress.example.com -o nome_file.txt
Существует три режима обнаружения, в которых wpscan может работать на сайте WordPress: пассивный, агрессивный, смешанный (по умолчанию).
- Пассивный режим выполняет ненавязчивое обнаружение, что означает отправку некоторых запросов на сервер. Обычно он сканирует домашнюю страницу на наличие уязвимостей. Пассивный режим реже обнаруживается решениями IDS/IPS.
- Агрессивный режим, с другой стороны, выполняет более навязчивое сканирование, поскольку отправляет много запросов на сервер. Попробуйте все возможные плагины, даже если к плагину не прикреплены известные уязвимости. Это может привести к увеличению нагрузки на целевой сервер.
- Смешанный режим (по умолчанию) использует комбинацию агрессивного и пассивного режима.
Чтобы указать режим обнаружения:
wpscan --url wordpress.example.com -o test --detection-mode aggressive
Проверьте наличие уязвимых плагинов
Чтобы найти уязвимые плагины в своем блоге WordPress, передайте параметр -e /- enumerate [OPTS] команде wpscan, где может быть [OPTS] ; vp (уязвимые плагины), ap (все плагины), p (плагины). Например, чтобы найти все плагины, к которым прикреплены уязвимости,
wpscan --url wordpress.example.com -e vp
Проверьте наличие уязвимых тем
Точно так же, как мы использовали опцию -e/-enumerate [OPTS] для проверки уязвимых плагинов, то же самое можно сделать и при проверке уязвимых тем; vt (уязвимые темы), at (все темы), t (темы). Например, для поиска тем с известными уязвимостями;
wpscan --url wordpress.example.com -e vt
Просмотр пользователей Wordpress
Чтобы узнать, какие пользователи могут войти на сайт WordPress, вы должны передать опцию -e /- enumerate u, где u в основном указывает идентификаторы пользователей.
wpscan --url wordpress.example.com -eu
Тест на надежность пароля /Bruteforce Attack против пользователя
После перечисления имен пользователей вы можете попытаться выполнить атаку грубой силы, как показано ниже. Этот процесс может быть медленнее в зависимости от количества паролей, указанных в файле паролей (-P, --passwords FILE-PATH) (файл паролей отсутствует в проекте WPScan) и количество потоков (-t, --max-threads VALUE), которые вы используете:
wpscan --url wordpress.example.com -P password-file.txt -U tuo_nome_utente-t 50
Чтобы проверить действительность пароля для нескольких пользователей, используйте ту же команду выше в это время без указанного имени пользователя.
wpscan --url wordpress.example.com -P password-file.txt -t 50
Сканирование Wordpress в необнаруживаемом режиме
Запуск wpscan в скрытом режиме означает (--random-user-agent --detection-mode пассивный --plugins-version-detection пассивный), укажите параметр --stealthy.
wpscan --url wordpress.example.com --stealthy
Вывод
В этом руководстве вы установили и настроили WPScan. Для получения дополнительной информации об использовании WPScan:
wpscan -h