Как использовать WPScan для поиска уязвимостей безопасности на сайтах WordPress?

Миллионы веб-сайтов работают на WordPress и занимают первое место с 62% доли рынка в мире CMS..


Недавний отчет об уязвимости веб-приложения Acunetix показывает, что около 30% сайтов WordPress признаны уязвимыми.

Существует множество онлайн-сканеров безопасности для сканирования вашего сайта. Однако, если вы ищете программное обеспечение для установки и сканирования со своего сервера, то WPScan – ваш друг. Это полезно, если ваш сайт находится в частной сети или в интранете, где Интернет недоступен. Или хотите протестировать несколько сайтов несколько раз.

WPScan – это бесплатное программное обеспечение, которое помогает вам выявлять проблемы безопасности на вашем сайте WordPress. Это делает несколько вещей, таких как:

  • Проверьте, использует ли сайт уязвимую версию WP
  • Проверьте, актуальна ли тема и плагин или она известна как уязвимая
  • Проверьте Timthumbs
  • Проверка резервной копии конфигурации, экспорт БД
  • Атака грубой силы

и многое другое…

Есть несколько способов использовать WPScan.

  • Устанавливая на серверы Linux
  • Использование Docker
  • Использование предустановленного дистрибутива Linux, такого как Kali Linux, BackBox, Pentoo, BlackArch и т. Д..
  • Онлайн версия

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

Следующие тестируются на CentOS 7.x.

  • Авторизуйтесь в CentOS с рутом
  • Обновите репозиторий

ням обновление -у

  • Установите последнюю версию Ruby и их зависимости

yum -y установить curl gpg gcc gcc-c ++ сделать патч autoconf automake автоматизировать бизон патч libffi-devel libtool readline-devel sqlite-devel zlib-devel openssl-devel && gpg –keyserver hkp: //pool.sks-keyservers.net –recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB && curl -sSL https://get.rvm.io | bash -s stable –ruby

  • Установить Руби Нокогири

yum -y установить rubygem-nokogiri

  • Перезагрузите сервер и затем установите WPScan с помощью команды gem

гем установить wpscan

Это займет несколько секунд, чтобы установить, и однажды сделано; вы должны увидеть что-то вроде этого.

Закончена установка документации для ffi, get_process_mem, mini_portile2, nokogiri, concurrent-ruby, i18n, thread_safe, tzinfo, zeitwerk, activesupport, public_suffix, адресуемый, opt_parse_validator, ruby-progressbar, ethon, typhoeus, yajl-sms-yby-sby-yby-sby-yby-sby-yby-sby wpscan через 32 секунды
Установлено 20 драгоценных камней

WPScan установлен и готов к использованию. Выполните wpscan, и вы увидите, что он возвращается ниже.

[[Электронная почта защищена] ~] # wpscan
Требуется одна из следующих опций: url, update, help, hh, version

Пожалуйста, используйте –help / -h для списка доступных опций.
[[Электронная почта защищена] ~] #

Вот вывод одного из тестов сайта.

[[Электронная почта защищена] ~] # wpscan –url https://geekflaresg.com
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____ |
\ \ / \ / / | | __) | (___ ___ __ _ _ __ ®
\ \ / \ / / | ___ / \ ___ \ / __ | / _` | ‘_ \
\ / \ / | | ____) | (__ | (_ | | | | |
\ / \ / | _ | | _____ / \ ___ | \ __, _ | _ | | _ |

WordPress Security Scanner от WPScan Team
Версия 3.7.6
При поддержке Automattic – https://automattic.com/
@_WPScan_, @ ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

[+] URL: https://geekflaresg.com/
[+] Начало работы: ср. 8 января 21:14:16 2020

Интересные находки:

[+] https://geekflaresg.com/
| Интересные записи:
| – Сервер: nginx
| – X-Cache-Enabled: True
| – Host-Header: 5d77dd967d63c3104bced1db0cace49c
| – X-Proxy-Cache: MISS
| Найдено по заголовкам (пассивное обнаружение)
| Доверие: 100%

[+] https://geekflaresg.com/robots.txt
| Интересные записи:
| – / wp-admin /
| – /wp-admin/admin-ajax.php
| Найдено: Robots Txt (агрессивное обнаружение)
| Доверие: 100%

[+] https://geekflaresg.com/xmlrpc.php
| Найдено: прямой доступ (агрессивное обнаружение)
| Доверие: 100%
| Ссылки:
| – http://codex.wordpress.org/XML-RPC_Pingback_API
| – https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_ghost_scanner
| – https://www.rapid7.com/db/modules/auxiliary/dos/http/wordpress_xmlrpc_dos
| – https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_xmlrpc_login
| – https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_pingback_access

[+] https://geekflaresg.com/readme.html
| Найдено: прямой доступ (агрессивное обнаружение)
| Доверие: 100%

[+] https://geekflaresg.com/wp-cron.php
| Найдено: прямой доступ (агрессивное обнаружение)
| Доверие: 60%
| Ссылки:
| – https://www.iplocation.net/defend-wordpress-from-ddos
| – https://github.com/wpscanteam/wpscan/issues/1299

[+] Определена версия WordPress 5.3.2 (последняя, ​​выпущена 2019-12-18).
| Найдено: Rss Generator (пассивное обнаружение)
| – https://geekflaresg.com/feed/, https://wordpress.org/?v=5.3.2.
| – https://geekflaresg.com/comments/feed/, https://wordpress.org/?v=5.3.2

[+] Используемая тема WordPress: двадцать семнадцать
| Расположение: https://geekflaresg.com/wp-content/themes/twentyseventeen/
| Последнее обновление: 2019-05-07T00: 00: 00.000Z
| Readme: https://geekflaresg.com/wp-content/themes/twentyseventeen/README.txt
| [!] Версия устарела, последняя версия 2.2
| URL-адрес стиля: https://geekflaresg.com/wp-content/themes/twentyseventeen/style.css
| Название стиля: Двадцать Семнадцать
| URI стиля: https://wordpress.org/themes/twentyseventeen/
| Описание: Twenty Seventeen оживляет ваш сайт с помощью заголовков видео и изображений с эффектом погружения. С fo…
| Автор: команда WordPress
| URI автора: https://wordpress.org/
|
| Найдено: URL на домашней странице (пассивное обнаружение)
| Подтверждено: URL на странице 404 (пассивное обнаружение)
|
| Версия: 2.1 (уверенность 80%)
| Найдено: Стиль (пассивное обнаружение)
| – https://geekflaresg.com/wp-content/themes/twentyseventeen/style.css, матч: «Версия: 2.1»

[+] Перечисление всех плагинов (с помощью пассивных методов)

[я] плагинов не найдено.

[+] Перечисление резервных копий конфигурации (с помощью пассивных и агрессивных методов)
Проверка резервных копий конфигурации – время: 00:00:01 <================================================== =================================================> (21/21) 100,00% Время: 00:00:01

[i] Конфигурационные резервные копии не найдены.

[!] Не предоставлен токен API WPVulnDB, в результате данные об уязвимости не были выведены.
[!] Вы можете получить бесплатный API-токен с 50 ежедневными запросами, зарегистрировавшись по адресу https://wpvulndb.com/users/sign_up.

[+] Закончено: ср. 8 января 21:14:28 2020
[+] Выполнено запросов: 51
[+] Кэшированные запросы: 7
[+] Отправлено данных: 9,52 КБ
[+] Получено данных: 369,97 КБ
[+] Используемая память: 202,898 МБ
[+] Истекшее время: 00:00:12
[[Электронная почта защищена] ~] #

Примечание: если вам нужны данные об уязвимостях в выводе, то вам нужно использовать их API.

Если вы заинтересованы в тестировании конкретных метрик, обратитесь за помощью, выполнив wpscan с синтаксисом –help.

[[Электронная почта защищена] ~] # wpscan –hh
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____ |
\ \ / \ / / | | __) | (___ ___ __ _ _ __ ®
\ \ / \ / / | ___ / \ ___ \ / __ | / _` | ‘_ \
\ / \ / | | ____) | (__ | (_ | | | | |
\ / \ / | _ | | _____ / \ ___ | \ __, _ | _ | | _ |

WordPress Security Scanner от WPScan Team
Версия 3.7.6
При поддержке Automattic – https://automattic.com/
@_WPScan_, @ ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

Использование: wpscan [опции]
–URL-адрес URL-адрес блога для сканирования
Разрешенные протоколы: http, https
Протокол по умолчанию, если не предоставлено: http
Эта опция обязательна, если не предоставлено обновление или справка или чч или версия
-h, –help Показать простую помощь и выйти
–hh Показать полную справку и выйти
–версия Показать версию и выйти
–ignore-main-redirect Игнорировать основной редирект (если есть) и сканировать целевой URL
-v, –verbose Подробный режим
–[нет-] баннер Показывать или нет баннер
По умолчанию: правда
–max-scan-duration SECONDS Прервать сканирование, если оно превышает указанное в секундах время
-o, –output FILE Вывод в FILE
-f, –format FORMAT Вывод результатов в предоставленном формате
Доступные варианты: cli-no-color, cli-no-color, cli, json
–Режим обнаружения Режим по умолчанию: смешанный
Доступные варианты: смешанный, пассивный, агрессивный
–ОБЛАСТИ ОБЛАСТИ Разделенные запятыми (под) домены для рассмотрения в области.
Подстановочные знаки разрешены в списке допустимых доменов, например: * .target.tld
Разделитель для использования между значениями: ‘,’
–user-agent, –ua VALUE
–headers HEADERS Дополнительные заголовки для добавления в запросы
Разделитель для использования между заголовками: ‘; ‘
Примеры: «X-Forwarded-For: 127.0.0.1», «X-Forwarded-For: 127.0.0.1; Другое: ааа ‘
–vhost VALUE Виртуальный хост (заголовок хоста) для использования в запросах
–random-user-agent, –rua Использовать случайный user-agent для каждого сканирования
–user-agents-list FILE-PATH Список агентов для использования с –random-user-agent
По умолчанию: /usr/local/rvm/gems/ruby-2.6.3/gems/cms_scanner-0.8.1/app/user_agents.txt
–http-auth логин: пароль
-t, –max-threads VALUE Максимальное количество потоков для использования
По умолчанию: 5
–throttle MilliSeconds Миллисекунды для ожидания перед выполнением другого веб-запроса. Если используется, максимальные потоки будут установлены на 1.
–Время ожидания запроса SECONDS Время ожидания запроса в секундах
По умолчанию: 60
–Время ожидания соединения в секундах Время ожидания соединения в секундах
По умолчанию: 30
–disable-tls-check Отключает проверку сертификата SSL / TLS и понижает его до TLS1.0 + (для последнего требуется cURL 7.66)
–протокол прокси: // IP: порт Поддерживаемые протоколы зависят от установленного cURL
–proxy-auth логин: пароль
–cookie-string COOKIE Cookie-строка для использования в запросах, формат: cookie1 = value1 [; Cookie2 = значение2]
–cookie-jar FILE-PATH Файл для чтения и записи файлов cookie
По умолчанию: /tmp/wpscan/cookie_jar.txt
–cache-ttl TIME_TO_LIVE Время жизни кеша в секундах
По умолчанию: 600
–очистить кэш Очистить кэш перед проверкой
–cache-dir PATH По умолчанию: / tmp / wpscan / cache
–server SERVER Принудительно загружать предоставленный серверный модуль
Доступные варианты: apache, iis, nginx
–force Не проверять, работает ли цель WordPress
–[no-] update Обновлять базу данных или нет
–api-token TOKEN API-токен WPVulnDB для отображения данных об уязвимостях
–wp-content-dir DIR Каталог wp-content, если пользовательский или не обнаружен, такой как "WP-содержание"
–wp-plugins-dir DIR Каталог плагинов, если пользовательский или не обнаружен, такой как "WP-содержание / плагины"
–РЕЖИМ обнаружения интересных результатов Используйте прилагаемый режим для обнаружения интересных результатов.
Доступные варианты: смешанный, пассивный, агрессивный
–wp-version-all Проверить все расположения версий
–Режим обнаружения wp-версии Используйте предоставленный режим для определения версии WordPress вместо глобального (–detection-mode)..
Доступные варианты: смешанный, пассивный, агрессивный
–РЕЖИМ обнаружения основной темы Используйте поставляемый режим для определения основной темы вместо глобального (–detection-mode)..
Доступные варианты: смешанный, пассивный, агрессивный
-e, –enumerate [OPTS] Процесс перечисления
Доступные варианты:
vp Уязвимые плагины
ap Все плагины
p Популярные плагины
vt Уязвимые темы
на все темы
t Популярные темы
тт Timthumbs
резервные копии конфигурации
dbe db export
u Диапазон идентификаторов пользователей. например: u1-5
Разделитель диапазона для использования: ‘-‘
Значение, если аргумент не указан: 1-10
Диапазон медиа-идентификаторов. например, m1-15
Примечание. Постоянная ссылка должна быть установлена ​​на "гладкий" для тех, кто будет обнаружен
Разделитель диапазона для использования: ‘-‘
Значение, если аргумент не указан: 1-100
Разделитель для использования между значениями: ‘,’
По умолчанию: все плагины, резервные копии конфигурации
Значение, если аргумент не указан: vp, vt, tt, cb, dbe, u, m
Несовместимые варианты (можно использовать только одну из каждой группы / групп):
– вп, ап, р
– Вт, у, т
–REGEXP_OR_STRING на основе exclude-content Исключить все ответы, соответствующие регулярному выражению (без учета регистра) во время частей перечисления.
Заголовки и тело проверяются. Разделители регулярных выражений не требуются.
–список плагинов LIST Список плагинов для перечисления
Примеры: «a1», «a1, a2, a3», «/tmp/a.txt»
–РЕЖИМ определения плагинов Используйте перечисленный режим для перечисления плагинов вместо глобального (–detection-mode) режима.
По умолчанию: пассивный
Доступные варианты: смешанный, пассивный, агрессивный
–plugins-version-all Проверьте все версии версий плагинов в соответствии с выбранным режимом (–detection-mode, –plugins-Detection и –plugins-version-Detection)
–РЕЖИМ обнаружения версий плагинов Используйте прилагаемый режим для проверки версий плагинов вместо режимов –detection-mode или –plugins-Detection.
По умолчанию: смешанный
Доступные варианты: смешанный, пассивный, агрессивный
–порог плагинов THRESHOLD Выдает ошибку, когда количество обнаруженных плагинов в известных местах достигает порогового значения. Установите в 0, чтобы игнорировать порог.
По умолчанию: 100
–список тем LIST Список тем для перечисления
Примеры: «a1», «a1, a2, a3», «/tmp/a.txt»
–РЕЖИМ определения тем Используйте предоставленный режим для перечисления тем вместо глобального (–detection-mode)..
Доступные варианты: смешанный, пассивный, агрессивный
–themes-version-all Проверка всех версий версий тем в соответствии с выбранным режимом (–detection-mode, –themes-Detection и –themes-version-Определение)
–РЕЖИМ определения версий тем Используйте предоставленный режим для проверки версий тем вместо режимов –detection-mode или –themes-Detection.
Доступные варианты: смешанный, пассивный, агрессивный
–порог тем THRESHOLD Выдает ошибку, когда количество обнаруженных тем в известных местах достигает порогового значения. Установите в 0, чтобы игнорировать порог.
По умолчанию: 20
–timthumbs-list FILE-PATH Список местоположений timthumbs для использования
По умолчанию: /root/.wpscan/db/timthumbs-v3.txt
–Режим обнаружения Timthumbs Используйте предоставленный режим для перечисления Timthumbs вместо глобального (–detection-mode) режима.
Доступные варианты: смешанный, пассивный, агрессивный
–config-backups-list FILE-PATH Список имен файлов конфигурационных резервных копий для использования
По умолчанию: /root/.wpscan/db/config_backups.txt
–РЕЖИМ config-backups-Detection Используйте предоставленный режим для перечисления резервных копий конфигурации вместо глобального (–detection-mode) режима.
Доступные варианты: смешанный, пассивный, агрессивный
–db-exports-list FILE-PATH Список путей экспорта БД для использования
По умолчанию: /root/.wpscan/db/db_exports.txt
–РЕЖИМ db-exports-обнаружения Используйте предоставленный режим для перечисления экспортов БД вместо глобального (–detection-mode) режима.
Доступные варианты: смешанный, пассивный, агрессивный
–РЕЖИМ medias-Detection Используйте предоставленный режим для перечисления Medias вместо глобального (–detection-mode) режима.
Доступные варианты: смешанный, пассивный, агрессивный
–users-list LIST Список пользователей для проверки при перечислении пользователей из сообщений об ошибках входа
Примеры: «a1», «a1, a2, a3», «/tmp/a.txt»
–РЕЖИМ обнаружения пользователей Используйте предоставленный режим для перечисления пользователей вместо глобального (–detection-mode) режима.
Доступные варианты: смешанный, пассивный, агрессивный
-P, –passwords FILE-PATH Список паролей, используемых при атаке паролем.
Если опция –username / s не указана, будет выполняться перечисление пользователей.
-U, –usernames LIST Список имен пользователей, используемых при атаке паролем.
Примеры: «a1», «a1, a2, a3», «/tmp/a.txt»
–multicall-max-passwords MAX_PWD Максимальное количество паролей, отправляемых по запросу с помощью XMLRPC multicall
По умолчанию: 500
–атака по паролю Принудительно использовать предоставленную атаку вместо автоматического ее определения.
Доступные варианты: wp-login, xmlrpc, xmlrpc-multicall
–скрытый псевдоним для –random-user-agent – пассивный режим обнаружения –plugins-version-обнаружения пассивный

[[Электронная почта защищена] ~] #

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

Прелесть использования Kali Linux в том, что вам не нужно ничего устанавливать. WPScan предустановлен.

Давайте узнаем, как запустить сканер.

  • Войдите в Kali Linux с рутом и открытым терминалом
  • Запустите сканирование с помощью команды wpscan

wpscan –url https://mysite.com

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

Фанат докера?

Почему бы и нет, легко начать. Убедитесь, что у вас установлен Docker.

  • Извлечь изображение докера WPScan

докер тянуть wpscanteam / wpscan

  • Как только вытащил, запустите его, как показано ниже.

docker run -it –rm wpscanteam / wpscan –url https://example.com

Легко?

Сетевой сканер с поддержкой WPScan

Вы можете использовать следующие инструменты на основе WPScan.

Geekflare

Geekflare WordPress Security Scanner Позволяет быстро выяснить, имеет ли данный сайт WordPress уязвимую версию ядра, тему, плагин и т. д..

Помимо показателей WPScan, он также проверяет следующее.

  • Консоль администратора выставлена?
  • Если Google считает это безопасным
  • Доступно через HTTPS
  • Если интерфейсные библиотеки JavaScript уязвимы

Вам не нужно регистрировать аккаунт; Вы можете запустить тест по требованию БЕСПЛАТНО.

PenTest-Tools

Инструмент от PenTest-Tools позволяет протестировать сайт WP по запросу и создать отчет.

Что дальше?

Отлично сработано! Если ваш сайт не уязвим. Однако, если это так, то работайте над этими пунктами риска. Если вы не знаете, как их смягчить, обратитесь за профессиональной помощью..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map