本系列故事纯属虚构,如有雷同纯属巧合
这一天小B正在晒太阳,突然接到了老板的电话,要求对M公司进行一次内部全员邮件钓⻥测试,试图找出那些安全意识薄弱的员工。根据老板的要求,小B开始了这次的有趣的钓⻥之旅。
钓鱼前的准备
在执行这次钓⻥之前小B需要先完成一系列的准备工作,包括:邮件主题选择、搭建一个用于收集员工信息的站点、批量发送邮件的工具、构造钓⻥邮件等。
钓鱼邮件主题选择
网上关于这方面的资料很多大家有兴趣也可以多查查,小B在这里也简单列一些:(PS.我们在伪造邮件主题时也需要注意邮件不能过于逼真,否则会出现命中率极高的情况)
以攻击目的进行分类
针对攻击目标的不同,我们在选择主题时也需要更有针对性一些,这样能提高命中率。
需要控制目标PC或在目标PC植入后⻔或木⻢等信息;
只需要收集目标的个人信息;
以邮件主题进行分类
企业内部通知
人事变动通知:冒充行政部⻔发送人事变动的相关邮件,利用邮件中的附件进行钓⻥;
薪资/奖金通知:同上
安全警告:冒充IT类部⻔发送内部安全警告的相关邮件,利用邮件中的附件或链接进行钓⻥;
企业内部活动
优惠活动:以企业名义给员工发送一些优惠活动,让用户报名参与进行钓⻥;
聚餐活动:以聚餐报名为主题进行钓⻥;
员工信息变更:冒充IT部⻔发送员工个人信息(密码、手机号)已过期或失效需要更新进行钓⻥;
社会实事关注:比如最近的新型冠状病毒
当然了钓⻥的方案还是很多的,还是需要结合实际的情况来定邮件主题。
钓鱼站点准备
由于没有开发资源,并且小B的目的是获取内部员工的信息,所以选择了实事相关的调查问卷来作为本地邮件主题。由于没有开发,小B找了一个开源的调查问卷系统:LimeSurvey(https://www.limesurvey.org/)部署方案使用Apache+MariaDB+PHP即可,我这里简单记录了一下:
# 部署环境是:Centos7.4 最小化安装
关于LimeSurvey的使用这里不过多描述,简单一句话就是:创建调查文件--创建新题组--创建问题。
此时我们就准备好了我们的钓⻥邮件,接下来就是选择一个好用的工具了。
钓鱼工具的选择
相对来说钓⻥工具很多比较经典的有:
Gophish:https://getgophish.com/
(PS.小B也写过相关的文章:https://bloodzer0.github.io/ossa/infrastructure-security/network-security/office-network-security/gophish/)
Swaks:https://www.jetmore.org/john/code/swaks/
(PS.小B也写过:https://mp.weixin.qq.com/s/2xhTg6HhgnFMA7jexgg3AA本文中关于SPF绕过的部分写的有误,后期小B会更新一下)
mail_fishing:https://github.com/SecurityPaper/mail\_fishing
这里不作过多的描述了,为了方便后期使用脚本自定义发送,所以小B选择的是Swaks。选择好工具以后我们就需要来构造我们的邮件了。
构造钓鱼邮件
构造邮件,其实主要是看你参考的邮件主题是如何发送的,根据其模拟一个即可,比如小B模拟的钓⻥邮件如下(当然了因为脱敏小B并没有截完整):
做好这一切的准备后,我们就可以开始发送邮件了。
使用Swaks发送钓鱼邮件
导出邮件为eml或其他格式的内容
小B使用的网易邮箱大师与Outlook的macOS客户端。如果使用网易邮箱大师那么在导出邮件的格式为eml;如果是Outlook那么导出的就是源文件,保存为TXT即可。
但是需要对文件进行修改,我们先来看一下网易邮箱大师导出的eml文件修改内容:
对于Outlook的邮件修改内容也大致相同,建议在修改以后先使用--data加载测试是否能发送成功。
发送钓鱼邮件
如果使用126作为发件服务器,要求--from后的参数与--au的参数一致,如果使用smtp2go平台则没有这个要求,并且显示代发信息的时候会有一些不同。同时需要注意的是修改的eml被我保存在test.txt文件中,并且需要保证文件中To参数的值与--to的值一致,否则会出现收到的邮件没有收件人:
./swaks --to yyfortest@126.com --from sender_user@126.com --ehlo 126.com --h-From "OA <oa@126.com>" --data test.txt --server smtp.126.com --au sendder_user@126.com --ap sender_user_pass
./swaks --to yyfortest@126.com --from oa@126.com --ehlo 126.com --h-From "OA <oa@126.com>" --data test.txt --server mail.smtp2go.com --au smtp2go_user --ap smtp2go_user_pass
批量发送邮件
其实我们使用bash脚本就可以批量发送了,但是由于我们这里是加载的邮件内容,并且每次只需的时候需要更改内容中To这一行的收件人,所以小B使用最笨的方法如下:
#!/usr/bin/env python3
统计命中率
在本次测试中,我们的调查问卷系统可以辅助,或者自己编写⻚面将录入的数据写入数据库。
钓鱼邮件防护
识别钓⻥邮件:
看发件人地址(有的时候看到的是表象,发件人是公司内部地址也不一定真实);
看邮件标题;
看正文措辞;
看正文目的;
防范钓⻥邮件:
安装杀毒软件;
个人信息要保密,填写前请人为核对是否属于内部要求;
邮箱账号需要启用双因素校验,即使密码丢了也不怕;
重要的邮件请即时从邮件服务器删除,保存到本地;
不要轻信发件人地址中的"显示名"、不要轻易点开陌生邮件中的链接与附件、不要放松对"熟人"邮件的警惕、不要使用公共场所的网络执行敏感操作、不要将敏感信息发布到互联网;
中招后的操作:
及时报告给IT团队;
及时修改密码;
隔离网络;
进行一次全盘杀毒;
refer
钓⻥邮件模板:https://github.com/SimplySecurity/SimplyTemplate
钓⻥邮件模板:https://github.com/criggs626/PhishingTemplates
钓⻥邮件工具:https://github.com/xHak9x/SocialPhish
如何伪造一封合格的钓⻥邮件:https://blog.csdn.net/yiifaa/article/details/78471241
记一次真实的邮件钓⻥演练:https://xz.aliyun.com/t/5412
记一次企业安全意识宣传活动-钓⻥邮件:https://www.freebuf.com/column/154460.html
钓⻥邮件攻击防范指南:https://cloud.tencent.com/developer/news/234444
谷歌是个好东⻄