Example #1
0
def do_set_pushover_applicationtoken(user, command):
    cmd = command.replace("set-pushover-applicationtoken ", "")
    cmd = cmd.replace("set-pushover-applicationtoken", "")
    update_item("Pushover_APIToken", "C2Server", cmd)
    print_good("Updated Pushover API Token: %s\r\n" % cmd)
    input("Press Enter to continue...")
    clear()
Example #2
0
def do_set_killdate(user, command):
    cmd = command.replace("set-killdate ", "")
    cmd = cmd.replace("set-killdate", "")
    update_item("KillDate", "C2Server", cmd)
    print_good("Updated KillDate (Remember to generate new payloads and get new implants): %s\r\n" % cmd)
    input("Press Enter to continue...")
    clear()
Example #3
0
def do_set_pushover_userkeys(user, command):
    cmd = command.replace("set-pushover-userkeys ", "")
    cmd = cmd.replace("set-pushover-userkeys", "")
    update_item("Pushover_APIUser", "C2Server", cmd)
    print_good("Updated Pushover User Token: (Restart C2 Server): %s\r\n" % cmd)
    input("Press Enter to continue...")
    clear()
Example #4
0
def do_set_defaultbeacon(user, command):
    new_sleep = command.replace("set-defaultbeacon ", "")
    new_sleep = new_sleep.replace("set-defaultbeacon", "")
    if not validate_sleep_time(new_sleep):
        print_bad("Invalid sleep command, please specify a time such as 50s, 10m or 1h")
    else:
        update_item("DefaultSleep", "C2Server", new_sleep)
        print_good("Updated set-defaultbeacon (Restart C2 Server): %s\r\n" % new_sleep)
    input("Press Enter to continue...")
    clear()
Example #5
0
def do_createproxypayload(user, command, creds=None):
    params = re.compile("createproxypayload ", re.IGNORECASE)
    params = params.sub("", command)
    creds = None
    if "-credid" in params:
        creds, params = get_creds_from_params(params, user)
        if creds is None:
            return
        if not creds['Password']:
            print_bad("This command does not support credentials with hashes")
            input("Press Enter to continue...")
            clear()
            return
    if creds is not None:
        proxyuser = "******" % (creds['Domain'], creds['Username'])
        proxypass = creds['Password']
    else:
        proxyuser = input(Colours.GREEN + "Proxy User: e.g. Domain\\user ")
        proxypass = input("Proxy Password: e.g. Password1 ")
    proxyurl = input(Colours.GREEN +
                     "Proxy URL: .e.g. http://10.150.10.1:8080 ")
    credsexpire = input("Password/Account Expiration Date: .e.g. 15/03/2018 ")
    update_item("ProxyURL", "C2Server", proxyurl)
    update_item("ProxyUser", "C2Server", proxyuser)
    update_item("ProxyPass", "C2Server", proxypass)
    C2 = get_c2server_all()
    newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], C2[13],
                          C2[11], "", "", C2[17], C2[18], C2[19],
                          "%s?p" % get_newimplanturl(), PayloadsDirectory)
    newPayload.CreateRaw("Proxy")
    newPayload.CreateDlls("Proxy")
    newPayload.CreateShellcode("Proxy")
    newPayload.CreateEXE("Proxy")
    newPayload.CreateMsbuild("Proxy")
    newPayload.CreateCS("Proxy")
    new_urldetails("Proxy", C2[1], C2[3], proxyurl, proxyuser, proxypass,
                   credsexpire)
    print_good("Created new proxy payloads")
    input("Press Enter to continue...")
    clear()
Example #6
0
def existingdb(db):
    print("Using existing %s database / project" % db + Colours.GREEN)
    database_connect()
    C2 = get_c2server_all()
    if ((C2[1] == PayloadCommsHost) and (C2[3] == DomainFrontHeader)):
        qstart = "%squickstart.txt" % (PoshProjectDirectory)
        if os.path.exists(qstart):
            with open(qstart, 'r') as f:
                print(f.read())
    else:
        print("Error different IP so regenerating payloads")
        if os.path.exists("%spayloads_old" % PoshProjectDirectory):
            import shutil
            shutil.rmtree("%spayloads_old" % PoshProjectDirectory)
        os.rename("%spayloads" % PoshProjectDirectory,
                  "%spayloads_old" % PoshProjectDirectory)
        os.makedirs("%spayloads" % PoshProjectDirectory)
        C2 = get_c2server_all()
        newPayload = Payloads(C2[5], C2[2], PayloadCommsHost,
                              DomainFrontHeader, C2[8], C2[12], C2[13], C2[11],
                              "", "", C2[17], C2[18], C2[19],
                              get_newimplanturl(), PayloadsDirectory)
        new_urldetails("updated_host", PayloadCommsHost, C2[3], "", "", "", "")
        update_item("PayloadCommsHost", "C2Server", PayloadCommsHost)
        update_item("QuickCommand", "C2Server", QuickCommand)
        update_item("DomainFrontHeader", "C2Server", DomainFrontHeader)
        newPayload.CreateRaw()
        newPayload.CreateDlls()
        newPayload.CreateShellcode()
        newPayload.CreateSCT()
        newPayload.CreateHTA()
        newPayload.CreateCS()
        newPayload.CreateMacro()
        newPayload.CreateEXE()
        newPayload.CreateMsbuild()
        newPayload.CreatePython()
        newPayload.WriteQuickstart(PoshProjectDirectory + 'quickstart.txt')
Example #7
0
def do_turnon_notifications(user, command):
    update_item("EnableNotifications", "C2Server", "Yes")
    print_good("Turned on notifications on new implant")
    input("Press Enter to continue...")
    clear()