【渗透测试】Phishing钓鱼记录
0x00 前言
得到通知需要对某单位内部员工进行一次钓鱼邮件演练,因为之前接触的不多,钓鱼只是娱乐性的自己钓自己,记录下思路和踩坑。
0x01 信息
通过沟通得到了以下信息:
- 钓鱼形式为外部链接钓鱼
- 共计千余个邮箱,全量测试
- 统计时间从发送邮件到第二天上班前
- 统计结果,需要统计哪个邮箱点击链接,哪个邮箱输入了数据
0x02 部署
结合需求信息,采取Gophish+ewomail,Gophish钓鱼服务,可记录到每个邮箱收信之后的操作,ewomail邮箱网关服务,主要记录下部署过程和踩坑。
首先是Gophish,无需安装,项目仓库直接下载对应的版本即可gophish
修改config.json,主要就是两个端口,注意下默认监听端口不要和已有服务冲突即可:
1 | { |
根目录运行./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 则是给邮件添加附件。
如下是官⽅提供的其他可以使⽤的参数:
1 | {{.RId}} |
可先对上述参数进行测试:
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为申请的域名:
1 | docker run -d -h mail.xxx.com --restart=always \ |
如果提示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访问
前端地址,重要!!需要先进行配置:
1 | http://mail.xxx.com.cn:8080/ //ewomail后台管理页面,admin/ewomail,管理smtp地址邮箱 |
实际测试中发现,给企业邮箱发邮件可能会收到系统邮件提示550 Ip frequency limited,可能需要进行白名单设置,QQ邮箱可直接发送。
测试smtp服务,可通过以下脚本:
1 | #coding: utf-8 |
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的地址,如果不加白会导致触发邮箱服务黑名单。