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:
- BackBox Linux
- Kali Linux
- Pentoo
- SamuraiWTF
- BlackArch
Требования:
- 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
Инструкции по WPScan
- Поиск уязвимостей в сайтах на WordPress
- Анонимные сканирования с Nmap, sqlmap и WPScan через Tor
- Бесплатный онлайн сервис для сканирования WordPress с помощью WPScan: https://suip.biz/ru/?act=wpscan&color=on
- Безопасность сайтов на WordPress
- Как установить и запустить WPScan в Windows
Известные проблемы
Ошибка сегментации 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
Comments are Closed