There are news reports of new Wordpress XML-PRC brute force attacks being seen in the wild. The SANS Internet Storm Center also has a Diary entry showing similar data. We have captured similar attacks in our web honeypots so we wanted to share more data with the community. Please reference earlier blog posts we have done related to Wordpress:
- Wordpress XML-RPC Pingback Vulnerability Analysis
- Defending Wordpress Logins from Brute Force Attacks
Thanks goes to my SpiderLabs Research colleague Robert Rowley for help in validating data for this blog post.
Wordpress XML-RPC wp.getUsersBlogs Component
Here is the general format of accessing this XML-RPC component:
As you can see, it is expecting username and password parameters.
Example Honeypot Attack
Here is the data captured on our ModSecurity honepot:
This request was sending the following credentials:
- username = admin
- password = jeepjeep
Since we do not have Wordpress installed on our honeypot, there was no real response to this XML-RPC request. If we do send this request to some demo sites we have with Wordpress, we can see different methods of response.
Component Not Installed/Activated
If you do not have XML-RPC installed or activated, then you would receive a response similar to the following:
Component Activated but Incorrect Credentials
If the XML-RPC component is activated, but the user sends incorrect credentials along with the wp.getUsersBlogs request, they would receive a response similar to the following:
Component Activated with Correct Credentials
If the client sends the correct credentials to the XML-RPC component, then they would receive and XML response similar to the following:
Not Just wp.getUsersBlogs
It is important to note that the use of the wp.getUsersBlogs is but one of many possible vectors here so implementing a dumb block of that specific XML-RPC call will not suffice. Pretty much all of the components listed in XML-RPC API documentation require a username/password.
Block the WinHttp.WinHttpRequest.5 User-Agent
There are many reports that list this as some type of scraper tool possibly related to a virus. We have added this User-Agent string to our OWASP ModSecurity CRS repo.
Alert on XML-RPC Authentication Failures
We have added rules to our commercial ModSecurity rules package that will identify these XML-RPC authentication errors in the response bodies and generate alerts.