0X01 – 免费域名
免费域名平台:freenom.com
注册详细方法:https://zhuanlan.zhihu.com/p/115535965
注意:选中域名进行支付,地址需要选择美国
免费cnd平台:cloudflare.com
注册详细方法:https://zhuanlan.zhihu.com/p/105801731
0X03 – 邮箱收集
在线邮箱收集平台:
http://www.skymem.info/ 显示前10个,多的需购买
https://hunter.io/
https://www.email-format.com/i/search/
邮箱收集工具:
1、theHarvester
下载链接:https://github.com/laramies/theHarvester
python3 theHarvester.py -d xxx.com -l 1000 -b all -f test.html
2、teemo
下载链接:https://github.com/bit4woo/teemo
teemo基本使用 运行环境:python 2.7.* 查看帮助: python teemo.py -h 枚举指定域名(会使用搜索引擎和第三方站点模块): python teemo.py -d example.com 使用代理地址(默认会使用config.py中的设置): python teemo.py -d example.com -x "http://127.0.0.1:9999" 启用枚举模式: python teemo.py -b -d example.com 将结果保存到指定文件(默认会根据config.py中的设置保存到以域名命名的文件中): python teemo.py -d example.com -o result.txt
0X04 – 邮箱验证
在线邮箱验证:https://mailtester.com/testmail.php
邮箱验证工具:
1、verifyemail
下载链接:https://github.com/Tzeross/verifyemail
1 python3 verifyemail.py
链接中的脚本只支持在验证脚本中的邮箱,以下脚本稍作改动,支持test.txt文件读取邮箱,并将验证结果输出为verify.csv。
1 ''' 2 在线验证邮箱真实性 3 ''' 4 5 import random 6 import smtplib 7 import logging 8 import time 9 import csv 10 import dns.resolver 11 12 logging.basicConfig(level=logging.DEBUG, 13 format='%(asctime)s - %(filename)s [line:%(lineno)d] - %(levelname)s: %(message)s') 14 15 logger = logging.getLogger() 16 17 18 def fetch_mx(host): 19 ''' 20 解析服务邮箱 21 :param host: 22 :return: 23 ''' 24 logger.info('正在查找邮箱服务器') 25 answers = dns.resolver.query(host, 'MX') 26 res = [str(rdata.exchange)[:-1] for rdata in answers] 27 logger.info('查找结果为:%s' % res) 28 return res 29 30 31 def verify_istrue(email): 32 ''' 33 :param email: 34 :return: 35 ''' 36 email_list = [] 37 email_obj = {} 38 final_res = {} 39 if isinstance(email, str) or isinstance(email, bytes): 40 email_list.append(email) 41 else: 42 email_list = email 43 44 for em in email_list: 45 name, host = em.split('@') 46 if email_obj.get(host): 47 email_obj[host].append(em) 48 else: 49 email_obj[host] = [em] 50 51 for key in email_obj.keys(): 52 host = random.choice(fetch_mx(key)) 53 logger.info('正在连接服务器...:%s' % host) 54 s = smtplib.SMTP(host, timeout=10) 55 for need_verify in email_obj[key]: 56 helo = s.docmd('HELO chacuo.net') 57 logger.debug(helo) 58 59 send_from = s.docmd('MAIL FROM:<3121113@chacuo.net>') 60 logger.debug(send_from) 61 send_from = s.docmd('RCPT TO:<%s>' % need_verify) 62 logger.debug(send_from) 63 if send_from[0] == 250 or send_from[0] == 451: 64 final_res[need_verify] = True # 存在 65 elif send_from[0] == 550: 66 final_res[need_verify] = False # 不存在 67 else: 68 final_res[need_verify] = None # 未知 69 70 s.close() 71 72 return final_res 73 74 75 if __name__ == '__main__': 76 77 with open('test.txt') as f: 78 data = f.read().splitlines() 79 f.close() 80 81 final_list=verify_istrue(data) 82 83 with open('verify.csv','w') as ff: 84 writer = csv.writer(ff) 85 for final_list1 in final_list.items(): 86 writer.writerow(final_list1) 87 ff.close()
2、mailtester.py
这款工具可以自动组合邮箱地址再根据组合的结果逐个验证。
脚本的好处在于,它会根据 First / Last Name 中的名字随意拼装组合,然后再对其进行逐个验证。
当我们在对邮箱用户进行枚举的时候,尽量多找一些字典,如中国人姓名拼音、字母缩写top100,1000,10000,此处我们需要更多的鱼叉,多一个邮箱就多一份成功率。
当然可以把搜集到疑似网络管理员、运维人员、安全部门的人员提取出来,这些人单独写邮箱或者不发,因为这些人安全意识相对较高,容易打草惊蛇,我们需要对一些非技术员工安全意识薄弱的人下手,挑软柿子捏
这里可以配合这个网址根据收集到的目标信息制定对应人名字典进行组合。
python meiltester.py -start -up
原文链接:https://www.cnblogs.com/persimmon/p/13597698.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/6068