WPScan


Описание WPScan

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

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

Автор: The WPScan Team

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

Справка по WPScan

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

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

wpscan [опции]

Опции:

        --url URL                                 URL блога для сканирования
                                                  Разрешены протоколы: http, https
                                                  Если не один не указан, то протокол по умолчанию: http
                                                  Эта опция обязательна, если не указаны опции update или help
    -h, --help                                    Показать справку и выйти
        --version                                 Показать версию и выйти
        --ignore-main-redirect                    Игнорировать главный редирект (если есть) и сканировать целевой url
    -v, --verbose                                 Вербальный режим
        --[no-]banner                             Показывать или нет баннер
                                                  По умолчанию: true
    -o, --output ФАЙЛ                             Вывод в ФАЙЛ
    -f, --format ФОРМАТ                           Вывод результатов в указанном формате
                                                  Доступные варианты: cli-no-colour, cli-no-color, json, cli
        --detection-mode РЕЖИМ                    По умолчанию: mixed
                                                  Доступны на выбор: mixed, passive, aggressive
        --scope ДОМЕНЫ                            Разделённые запятой (суб-)домены для рассмотрения в рамках. 
                                                  Подстановочный символ(ы) разрешены в trd валидных доменов, например: *.target.tld
                                                  Разделитель, используемый между величинами: ','
        --user-agent, --ua ЗНАЧЕНИЕ
        --headers HEADERS                         Дополнительные заголовки для добавления к запросам
                                                  Разделитель, используемый между заголовками: '; '
                                                  Пример: 'X-Forwarded-For: 127.0.0.1', 'X-Forwarded-For: 127.0.0.1; Another: aaa'
        --vhost ЗНАЧЕНИЕ                          Виртуальный хост (Заголовок хоста) для использования в запросе
        --random-user-agent, --rua                Использовать произвольный user-agent для каждого сканирования
        --user-agents-list ПУТЬ_ДО_ФАЙЛА          Список агентов для использования с --random-user-agent
        --http-auth login:password
    -t, --max-threads ЗНАЧЕНИЕ                    Максимальное использование потоков
                                                  По умолчанию: 5
        --throttle МиллиСекунды                   Миллисекунды для ожидания перед совершением другого веб-запроса. Если используется, максимальное число потоков будет установлено на 1.
        --request-timeout СЕКУНДЫ                 Таймаут запроса в секундах
                                                  По умолчанию: 60
        --connect-timeout СЕКУНДЫ                 Таймаут соединения в секундах
                                                  По умолчанию: 30
        --disable-tls-checks                      Отключить верификацию SSL/TLS сертификата
        --proxy protocol://IP:порт                Поддерживаемые протоколы зависят от установленной cURL
        --proxy-auth логин:пароль
        --cookie-string КУКИ                      Строка куки для использования в запросах, формат: куки1=значение1[; куки2=значение2]
        --cookie-jar ПУТЬ_ДО_ФАЙЛА                Файл для чтения и записи куки
                                                  По умолчанию: /tmp/wpscan/cookie_jar.txt
        --cache-ttl TIME_TO_LIVE                  Время жизни кэша в секундах
                                                  По умолчанию: 600
        --clear-cache                             Очищать кэш перед сканированием
        --cache-dir ПУТЬ                          По умолчанию: /tmp/wpscan/cache
        --server СЕРВЕР                           Принудительная загрузка указанных модулей сервера
                                                  Доступные выборы: apache, iis, nginx
        --force                                   Не проверять, работает ли цель на WordPress
        --[no-]update                             Обновлять или нет базу данных
                                                  Эта опция обязательна, если не указаны help или version
        --wp-content-dir ПАПКА
        --wp-plugins-dir ПАПКА
        --interesting-findings-detection РЕЖИМ     Использовать указанный режим для выявления интересных находок. 
                                                  Доступные выборы: mixed, passive, aggressive
        --wp-version-all                          Проверить все версии расположения
        --wp-version-detection РЕЖИМ              Использовать указанный режим для определения версии WordPress, вместо глобального режим (--detection-mode).
                                                  Доступные выбборы: mixed, passive, aggressive
        --main-theme-detection РЕЖИМ              Использовать указанный режим для определения главной темы, вместо глобального режима (--detection-mode).
                                                  Доступны на выбор: mixed, passive, aggressive
    -e, --enumerate [OPTS]                        Процесс перечисления
                                                  Выбор доступен из:
                                                   vp   Уязвимые плагины
                                                   ap   Все плагины
                                                   p    Плагины
                                                   vt   Уязвимые темы
                                                   at   Все темы
                                                   t    Темы
                                                   tt   Timthumbs
                                                   cb   Резервные копии конфигурационных файлов
                                                   dbe  Db экспорты
                                                   u    Диапазон ID пользователей. Например: u1-5
                                                        Используемый разделитель диапазонов: '-'
                                                        Значение если аргумент не указан: 1-10
                                                   m    Диапазон ID медиа. Например m1-15
                                                        Используемый разделитель диапазонов: '-'
                                                        Значение если аргумент не указан: 1-100
                                                  Разделитель, используемый между этими значениями: ','
                                                  По умолчанию: Все плагины, Резервные копии конфигурационных файлов
                                                  Значение, если аргумент не указан: vp,vt,tt,cb,dbe,u,m
                                                  Несовместимые выборы (может использоваться только один из каждоый группы):
                                                   - vp, ap, p
                                                   - vt, at, t
        --exclude-content-based РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ ИЛИ СТРОКА  Исключить все ответы, содержащие регулярное выражение (не чувствительно к регистру) на стадии перечисления.
                                                  Проверяются и заголовки, и тело. Разделители регулярных выражений не требуются.
        --plugins-list СПИСОК                     Список плагинов для перечисления
                                                  Примеры: 'a1', 'a1,a2,a3', '/tmp/a.txt'
        --plugins-detection РЕЖИМ                 Использовать указанный режим для перечисления Плагинов вместо глобального режима (--detection-mode).
                                                  По умолчанию: passive
                                                  Доступные для выбора: mixed, passive, aggressive
        --plugins-version-all                     Проверять все версии расположения плагинов в соответствии с выбранным режимом (--detection-mode, --plugins-detection и --plugins-version-detection)
        --plugins-version-detection РЕЖИМ         Использовать указанный режим для проверки версий плагинов вместо режимов --detection-mode или --plugins-detection.
                                                  По умолчанию: mixed
                                                  Доступны для выбора: mixed, passive, aggressive
        --themes-list СПИСОК                      Список тем для перечисления
                                                  Примеры: 'a1', 'a1,a2,a3', '/tmp/a.txt'
        --themes-detection РЕЖИМ                  Использовать указанный режим для перечисления Тем, вместо глобального режима (--detection-mode).
                                                  Варианты: mixed, passive, aggressive
        --themes-version-all                      Проверить все варианты расположения тем в соответствии с выбранным режимом (--detection-mode, --themes-detection и --themes-version-detection)
        --themes-version-detection РЕЖИМ          Использовать указанный режим для проверки версий тем вместо режимов --detection-mode или --themes-detection.
                                                  Варианты: mixed, passive, aggressive
        --timthumbs-list ПУТЬ_ДО_ФАЙЛА            Список расположений timthumbs
                                                  По умолчанию: ~/.wpscan/db/timthumbs-v3.txt
        --timthumbs-detection РЕЖИМ               Использовать указанный режим для перечисления Timthumbs, вместо глобального режима (--detection-mode).
                                                  Доступные варианты: mixed, passive, aggressive
        --config-backups-list ПУТЬ_ДО_ФАЙЛА        Список резервных копий конфигурационных файлов
                                                  По умолчанию: ~/.wpscan/db/config_backups.txt
        --config-backups-detection РЕЖИМ           Использовать указанный режим для перечисления резервных копий конфигурационных файлов вместо глобального режима (--detection-mode).
                                                  Доступны для выбора: mixed, passive, aggressive
        --db-exports-list ПУТЬ_ДО_ФАЙЛА           Список для использования путей экспорта БД
                                                  По умолчанию: ~/.wpscan/db/db_exports.txt
        --db-exports-detection РЕЖИМ              Использовать указанный режим для перечисления экспорта БД вместо глобального режима (--detection-mode).
                                                  Доступны для выбора: mixed, passive, aggressive
        --medias-detection РЕЖИМ                  Использовать указанный режим для перечисления медиа файлов вместо глобального режима (--detection-mode).
                                                  Доступны для выбора: mixed, passive, aggressive
        --users-list СПИСОК                       Список пользователей для проверки во время стадии перечисления пользователей из сообщений об ошибках входа
                                                  Примеры: 'a1', 'a1,a2,a3', '/tmp/a.txt'
        --users-detection РЕЖИМ                   Использовать указанный режим для перечисления Пользователей вместо глобального режима (--detection-mode).
                                                  Варианты выбора: mixed, passive, aggressive
    -P, --passwords ПУТЬ_ДО_ФАЙЛА                 Список паролей для использования во время атаки на пароли.
                                                  Если опция --username/s не указана, то перечисление пользователей не будет запущено.
    -U, --usernames СПИСОК                        Список имён пользователей для использования во время атаки на пароль.
                                                  Примеры: 'a1', 'a1,a2,a3', '/tmp/a.txt'
        --multicall-max-passwords MAX_PWD         Максимальное число паролей для отправки за запрос с XMLRPC multicall
                                                  По умолчанию: 500
        --password-attack АТАКА                   Принудительное использование указанной атаки вместо автоматически определённой.
                                                  Доступны для выбора: wp-login, xmlrpc, xmlrpc-multicall
        --stealthy                                Псевдоним для --random-user-agent --detection-mode passive --plugins-version-detection passive

Руководство по 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 && sudo 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
sudo 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 && sudo 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 && sudo 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


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

  • Plecost (100%)
  • wig (91%)
  • WPForce (88.3%)
  • Xmlrpc brute (79.8%)
  • droopescan (79.8%)
  • Orc (RANDOM - 2.7%)
  • Рекомендуется Вам:

    Comments are Closed