Phishing钓鱼演练平台搭建
0x00 前言
得到通知需要对某单位内部员工进行一次钓鱼邮件演练,因为之前接触的不多,钓鱼只是娱乐性的自己钓自己,记录下思路和踩坑。
0x01 信息
通过沟通得到了以下信息:
- 钓鱼形式为外部链接钓鱼
- 共计千余个邮箱,全量测试
- 统计时间从发送邮件到第二天上班前
- 统计结果,需要统计哪个邮箱点击链接,哪个邮箱输入了数据
0x02 部署
结合需求信息,采取 Gophish+ewomail,Gophish 钓鱼服务,可记录到每个邮箱收信之后的操作,ewomail 邮箱网关服务,主要记录下部署过程和踩坑。
首先是 Gophish,无需安装,项目仓库直接下载对应的版本即可 gophish
修改 config.json,主要就是两个端口,注意下默认监听端口不要和已有服务冲突即可:
根目录运行 ./gophish 即可运行
建议首次运行不加 nohub,首次登陆需要随机生成的密码,当然,也可直接查看 nohub 文件查看
部署完成大体如下:
首先配置 Sending Profiles,配置发件箱、smtp 服务器信息,这里用 163 邮箱测试:
smtp 端口默认 25,但云主机默认封掉 25 端口,需要改变为 465 端口;
smtp 服务的用户名就是邮箱账号,密码需要邮箱开启 smtp 服务之后得到的授权码,以 163 为例,设置→POP3/SMTP/IMAP 选项开启 SMTP 服务,认证之后即可得到授权码,填入 Password 字段
然后发送测试邮件测试连通性,只需要填第三项的邮箱地址,其余选项可随意填写:
发送成功后,目标邮箱会收到如下邮件,证明连通性 OK:
接着配置 Landing Pages,也就是钓鱼页面,可通过直接导入 Site 或直接编辑 HTML 两种方法配置页面:
实际中发现,有些网站导入效果不是很理想,例如使用 mip22 生成对外链接导入,它就变成了这个样子
预览一下页面,emmmmm:
很难受,有的网站导入效果好,有的网站导入效果就不好,比如说本次钓鱼是想用甲方的邮箱登录地址做链接,但是导进去发现,页面只有一个框框,一片漆黑,连登录框都没出来,暂时还没发现有什么特别好的办法。
然后是 Email Templates,主要配置邮件正文内容,为了后续记录邮件是否打开,可勾选上 AddTrackingImage,它将会在发送的每份邮件源码上插⼊⼀个唯⼀特定的隐藏图⽚,当邮件被打开时,此隐藏图⽚则也会被请求,以此来检测该邮件是否被打开,AddFiles 则是给邮件添加附件。
如下是官⽅提供的其他可以使⽤的参数:
可先对上述参数进行测试:
Users & Groups 就容易理解了,添加目标邮箱即可,不再赘述。
最终 Campaigns 下发任务
注意这里的 URL,需要对应 Gophish 服务端监听的地址端口
确认无误之后,点击 Launch,发送邮件,成功发送后,目标邮箱效果:
如果用户点击了链接,在 Gophish 服务端,即可看到信息:
然后是 Ewomail 搭建:
项目地址:https://gitee.com/laowu5/EwoMail https://github.com/gyxuehu/EwoMail
官方文档:http://doc.ewomail.com/docs/ewomail/jianjie
docker 地址:https://hub.docker.com/r/bestwu/ewomail
源码安装,需要准备一台干净的 CentOS 系统
尝试此种方法,未知原因导致服务很不稳定,启动了一会儿 webmail 就登不上去了。
Docker 简便安装,无需 CentOS,xxx.com 为申请的域名:
如果提示 25 端口被占用,执行 systemctl stop postfix,之后再次安装;
或是修改 10024 端口,(执行上面那个应该就可以,此条留作备选)
接着配置解析:http://doc.ewomail.com/docs/ewomail/main_domain
spf 这里设置 VPS 的地址,如果是 127.0.0.1 发件的时候可能提示 spf check failed
一定是 mail.xxx,不能直接解析 xxx.com
DKMI 这里,首先通过 docker 执行 docker exec ewomail amavisd showkeys
获取,根据文档进行整理之后填入解析等待十分钟,再次执行 docker exec ewomail amavisd testkeys
出现 TESTING#1: dkim._domainkey.xxx.com => pass
字样即为正确
解析配置好之后,可通过域名进行访问,如果没配置也可直接 IP 访问
前端地址,重要!!需要先进行配置:
实际测试中发现,给企业邮箱发邮件可能会收到系统邮件提示 550 Ip frequency limited,可能需要进行白名单设置,QQ 邮箱可直接发送。
测试 smtp 服务,可通过以下脚本:
0x03 联动
经过实际测试,Gophish 和 Ewomail 要在同一台 VPS 下!
原本的想法是 Ewomail 在国外的 VPS,Gophish 在阿里云,但是测试中发现这样配置 Gophish 无法通过 Ewomail 的 smtp 服务发送邮件,报错 Max connection attempts exceeded - dial tcp 127.0.0.1:465: connect: connection refused
而在同一台 VPS 下操作,就可以正常发送:

至此,Gophish 和 Ewomail 已经部署完成,接下来就是配置钓鱼页面准备猎杀时刻。
需要注意,一定要把 Gophish 的 VPS 地址加白,原以为通过 smtp 发件显示的是 smtp 邮箱的地址,但实际上却是 Gophish 的地址,如果不加白会导致触发邮箱服务黑名单。