• This repository has been archived on 22/Oct/2020
  • Stars
    star
    1,016
  • Rank 45,279 (Top 0.9 %)
  • Language
    Ruby
  • License
    GNU General Publi...
  • Created almost 9 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Ruby framework designed to aid in the penetration testing of WordPress systems.

WordPress Exploit Framework

Build Status Maintainability Coverage Status Gem Version

A Ruby framework designed to aid in the penetration testing of WordPress systems.


Installation

To install the latest stable build, run gem install wpxf.

After installation, you can launch the WordPress Exploit Framework console by running wpxf.

What do I need to run it?

Ruby >= 2.4.4 is required to run WordPress Exploit Framework.

Troubleshooting Installation

Debian Systems

If you have issues installing WPXF's dependencies (in particular, Nokogiri), first make sure you have all the tooling necessary to compile C extensions:

sudo apt-get install build-essential patch

It’s possible that you don’t have important development header files installed on your system. Here’s what you should do if you should find yourself in this situation:

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

Windows Systems

If you are experiencing errors that indicate that libcurl.dll could not be loaded, you will need to ensure the latest libcurl binary is included in your Ruby bin folder, or any other folder that is in your environment's PATH variable.

The latest version can be downloaded from http://curl.haxx.se/download.html. As of 16/05/2016, the latest release is marked as Win32 2000/XP zip 7.40.0 libcurl SSL. After downloading the archive, extract the contents of the bin directory into your Ruby bin directory (if prompted, don't overwrite any existing DLLs).

How do I use it?

Start the WordPress Exploit Framework console by running wpxf.

Once loaded, you'll be presented with the wpxf prompt, from here you can search for modules using the search command or load a module using the use command.

Loading a module into your environment will allow you to set options with the set command and view information about the module using info.

Below is an example of how one would load the symposium_shell_upload exploit module, set the module and payload options and run the exploit against the target.

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

For a full list of supported commands, take a look at This Wiki Page.

What is the difference between auxiliary and exploit modules?

Auxiliary modules do not allow you to run payloads on the target machine, but instead allow you to extract information from the target, escalate privileges or provide denial of service functionality.

Exploit modules require you to specify a payload which subsequently gets executed on the target machine, allowing you to run arbitrary code to extract information from the machine, establish a remote shell or anything else that you want to do within the context of the web server.

What payloads are available?

  • bind_php: uploads a script that will bind to a specific port and allow WPXF to establish a remote shell.
  • custom: uploads and executes a custom PHP script.
  • download_exec: downloads and runs a remote executable file.
  • meterpreter_bind_tcp: a Meterpreter bind TCP payload generated using msfvenom.
  • meterpreter_reverse_tcp: a Meterpreter reverse TCP payload generated using msfvenom.
  • exec: runs a shell command on the remote server and returns the output to the WPXF session.
  • reverse_tcp: uploads a script that will establish a reverse TCP shell.

All these payloads, with the exception of custom and the Meterpreter payloads, will delete themselves after they have been executed, to avoid leaving them lying around on the target machine after use or in the event that they are being used to establish a shell which fails.

How can I write my own modules and payloads?

Guides on writing modules and payloads can be found on The Wiki and full documentation of the API can be found at https://rastating.github.io/wordpress-exploit-framework

License

Copyright (C) 2015-2018 rastating

Running WordPress Exploit Framework against websites without prior mutual consent may be illegal in your country. The author and parties involved in its development accept no liability and are not responsible for any misuse or damage caused by WordPress Exploit Framework.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

More Repositories

1

joomlavs

A black box, Ruby powered, Joomla vulnerability scanner
Ruby
271
star
2

shiva

An Ansible playbook to provision a host for penetration testing and CTF challenges
Python
235
star
3

dnmasscan

A script that can resolve an input file of domains and scan them with masscan
Shell
154
star
4

pixel.js

A simple and flexible HTML5 and JavaScript powered game engine.
JavaScript
81
star
5

xss-chef

A web application for generating custom XSS payloads
JavaScript
75
star
6

slae

The source code of the SLAE assignments documented at https://rastating.github.io/
C
23
star
7

pga4decrypt

A tool for recovering server credentials from a pgadmin4 database
Python
20
star
8

DroidBeard

An Android app for managing SickBeard.
Java
15
star
9

Keppy-Steinway-Piano

Click here ->
8
star
10

yaircc

yaircc (pronounced yerk) is a free, open-source IRC client for Windows that complies with the standards set by both RFC 1459 and RFC 2812, and also supports a number of defacto standards that have become a part of many IRC clients over the years, such as custom font colours, action messages and more.
C#
8
star
11

secure-chrome

A collection of registry files to help provide a stricter default configuration of Google Chrome in Windows
7
star
12

LEDDisplay

An Arduino library for controlling double/quad digit common anode 7-segment LED displays.
C++
6
star
13

osce-prep

A collection of exploits that I have written in preparation for sitting the OSCE exam.
Python
4
star
14

Glyphduino

An Arduino library for displaying glyphs on LCD screens compatible with the LiquidCrystal library.
C++
3
star
15

graphly

A jQuery graph rendering plugin
JavaScript
2
star
16

rastating.github.io

HTML
2
star
17

openvpn-monitor

A small application for monitoring OpenVPN to send notifications of important events
C#
2
star
18

steamoverload

A Node.js web app for tracking the game progress of your Steam library
CSS
2
star
19

reaver-wps

Automatically exported from code.google.com/p/reaver-wps
C
2
star
20

ebook-library

A web based e-book library viewer powered by Sinatra and React
Ruby
1
star
21

vlc_to_obs

A Ruby script to output the currently playing track in VLC to a text file for use with OBS
Ruby
1
star
22

readme

An Ansible playbook to build a copy of the CTF box, ReadMe
PHP
1
star
23

KeyCore

A bootable keyboard tester powered by Python and TinyCore
Python
1
star