You are here: Home » Веб приложения » WPScan

WPScan

Описание WPScan

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

Домашняя страница: http://wpscan.org/

Автор: The WPScan Team

Лицензия: Другая

Справка по WPScan

Некоторые значения можно изменить в конфигурационном файле, смотрите example.conf.json

--update                            Обновить базы данных до последней версии.
--url       | -u <url цели>       URL/домен WordPress для сканирования.
--force     | -f                    Принудить WPScan не проверять, работает ли удалённый сайт на WordPress.
--enumerate | -e [опция(опции)]        Перечисление.
  опции :
    u        имена пользователей от id 1 до 10
    u[10-20] имена пользователей от id 10 до 20 (вы должны использовать символы [])
    p        плагины
    vp       только уязвимые плагины
    ap       все плагины (может занять много времени)
    tt       timthumbs
    t        темы
    vt       только уязвимые темы
    at       все темы (может занять много времени)
 Можно использовать много величин : "-e tt,p" перечислит timthumbs и плагины
  Если опции не введены, то будет использован набор по умолчанию "vt,tt,u,vp"

--exclude-content-based "<регулярное выражение или строка>"
                                    Используется с опцией перечисления, исключить все вхождения,
                                    основанные на предоставленном регулярном выражении или строке.
                                    Вам не нужно писать разделитель регулярного выражения, но вы 
                                    должны взять его в кавычки (простые или двойные).
--config-file  | -c <конфигурационный файл>   Использовать особый конфигурационный файл, смотрите example.conf.json.
--user-agent   | -a <пользовательский агент>    Использовать особый пользовательский агент.
--cookie <Строка>                   Строка из которой считываются куки.
--random-agent | -r                 Использовать случайный пользовательский агент.
--follow-redirection                Если целевой url имеет редирект, программа проследует по нему не спрашивая вас хотите вы этого или нет
--batch                             Никогда не спрашивать пользовательский ввод, использовать поведение по умолчанию.
--no-color                          Не использовать цвета в выводе.
--log                               Создать текстовый файл log.txt с выводом WPScan.
--no-banner                         Не показывать баннер WPScan.
--disable-accept-header             Предотвращает отправку WPScan заголовка Accept HTTP.
--disable-referer                   Предотвращает настройку в заголовке Referer.
--disable-tls-checks                Отключает верификацию SSL/TLS сертификата.
--wp-content-dir <директория содержимого wp>   WPScan пробует найти директорию содержимого
                                    (например, wp-content) сканированием индексной страницы, 
                                    тем не менее, вы можете определить её. Поддиректории разрешены.
--wp-plugins-dir <директория плагинов wp>   То же самое, что и --wp-content-dir но для директории плагинов.
                                    Если не задана, WPScan будет использовать wp-content-dir/plugins. Поддиректории разрешены
--proxy <[protocol://]host:port>    Работать через прокси. Поддерживаются HTTP, SOCKS4 SOCKS4A и SOCKS5.
                                    Если протокол не указан, то будет использоваться протокол HTTP (в форматеhost:port).
--proxy-auth <username:password>    Установить данные для аутентификации на прокси.
--basic-auth <username:password>    Установить базовую аутентификацию HTTP.
--wordlist | -w <список-слов>          Передать словарь для брутфорса словарей.
--username | -U <имя пользователя>          Брутфорсить только по данному имени пользователя.
--usernames     <путь-до-файла>      Брутфорсить только имена пользователей из файла.
--cache-dir       <cache-directory> Установить директорию кэша.
--cache-ttl <cache-ttl> Typhoeus кэш TTL.
--request-timeout <таймаут-запроса> Таймаут запроса.
--connect-timeout <таймаут-соединения> Таймаут соединения.
--threads  | -t <количество потоков> Число потоков для использования при многопоточных запросах.
--max-threads     <максимум-потоков>     Максимальное количество потоков.
--throttle        <milliseconds>    Ожидать в миллисекундах перед следующим веб-просом. Если используется, --threads должна быть установлена на 1.
--help     | -h                     Этот экран помощи.
--verbose  | -v                     Вербальный вывод.
--version                           Показать текущую версию и выйти.

Руководство по WPScan

Страница man отсутствует.

Примеры запуска WPScan

Справка по программе

ruby ./wpscan.rb --help

Сделать «ненавязчивую» проверку

ruby ./wpscan.rb --url www.example.com

Выполнить брутфорс пароля по перечисленным пользователям с использованием 50 потоков

ruby ./wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50

Выполнить фрутфорс паролей только по имени 'admin'

ruby ./wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin

Перечислить установленные плагины

ruby ./wpscan.rb --url www.example.com --enumerate p

Перечислить установленный темы

ruby ./wpscan.rb --url www.example.com --enumerate t

Перечислить пользователей

ruby ./wpscan.rb --url www.example.com --enumerate u

Перечислить установленные timthumb

ruby ./wpscan.rb --url www.example.com --enumerate tt

Использовать HTTP прокси

ruby ./wpscan.rb --url www.example.com --proxy 127.0.0.1:8118

Использовать SOCKS5 прокси … (нужна cURL >= v7.21.7)

ruby ./wpscan.rb --url www.example.com --proxy socks5://127.0.0.1:9000

Использовать заданную директорию контента

ruby ./wpscan.rb -u www.example.com --wp-content-dir директория-контента

Использовать заданную директорию плагинов

ruby ./wpscan.rb -u www.example.com --wp-plugins-dir wp-content/custom-plugins

Обновить БД

ruby ./wpscan.rb --update

Режим отладки

ruby ./wpscan.rb --url www.example.com --debug-output 2>debug.log

Смотрите README для дальнейшей информации.

Установка WPScan

WPScan предустановлена на следующие дистрибутивы Linux:

Требования:

  • Ruby >= 2.1.9 - Рекомендуется: 2.2.3
  • Curl >= 7.21 - Рекомендуется: последний FYI, 7.29 имеет ошибку сегментации
  • RubyGems - Рекомендуется: последний
  • Git

Windows не поддерживается. Если программа установлена из Github обновите код с git pull. База данных обновляется так wpscan.rb --update.

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

sudo apt-get install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev build-essential libgmp-dev zlib1g-dev git
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test
./wpscan.rb --help

Установка на Debian:

sudo apt-get install gcc git ruby ruby-dev libcurl4-openssl-dev make zlib1g-dev
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler
bundle install --without test --path vendor/bundle
./wpscan.rb --help

Установка на Fedora:

sudo dnf install gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel libcurl-devel patch rpm-build
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test
./wpscan.rb --help

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

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

Установка на Mac OSX:

Нужны Apple Xcode, Command Line Tools и (чтобы появилась возможность установить FFI gem), Смотрите http://stackoverflow.com/questions/17775115/cant-setup-ruby-environment-installing-fii-gem-error

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

Установка с RVM:

# Установите все зависимости для вашей ОС (смотрите выше)
cd ~
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc
rvm install 2.3.3
rvm use 2.3.3 --default
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
gem install bundler
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
gem install bundler
bundle install --without test

Скриншоты WPScan

01

02

03

Инструкции по WPScan

Известные проблемы

Ошибка сегментации Typhoeus

Обновите cURL до версии => 7.21 (возможно, придётся устанавливать из исходников).

Прокси не работает

Обновите cURL до версии => 7.21.7 (возможно, придётся устанавливать из исходников).

Установка cURL из исходников:

Загрузите исходники отсюда http://curl.haxx.se/download.html

Распакуйте архив

Откройте директорию с распакованными файлами

./configure
make
sudo make install
sudo ldconfig

не может загрузить такой файл — readline:

sudo aptitude install libreadline5-dev libncurses5-dev

Затем откройте директорию readline gem (вам самим нужно найти её)

cd ~/.rvm/src/ruby-1.9.2-p180/ext/readline
ruby extconf.rb
make
make install

Смотрите http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console/ для дополнительных подробностей

нет такого файла для загрузки — rubygems

update-alternatives --config ruby

И выберите версию ruby

Смотрите https://github.com/wpscanteam/wpscan/issues/148

Близкие программы: