网络钓鱼框架 Gophish 使用介绍
Gophish 是一个功能强大的开源网络钓鱼框架,可以轻松测试组织的网络钓鱼风险,专为企业和渗透测试人员设计。
Gophish
- GitHub:https://github.com/gophish/gophish
- 官网地址:https://getgophish.com/
安装 Gophish
下载 Gophish 对应版本 :https://github.com/gophish/gophish/releases,解压即可。
配置信息:
$ cat config.json
{
"admin_server": {
"listen_url": "0.0.0.0:3333",
"use_tls": true,
"cert_path": "gophish_admin.crt",
"key_path": "gophish_admin.key"
},
"phish_server": {
"listen_url": "0.0.0.0:80",
"use_tls": false,
"cert_path": "example.crt",
"key_path": "example.key"
},
"db_name": "sqlite3",
"db_path": "gophish.db",
"migrations_prefix": "db/db_",
"contact_address": "",
"logging": {
"filename": "",
"level": ""
}
}
注意事项:
- 若需要远程访问后台管理界面,将
listen_url
修改为0.0.0.0:3333
,端口可自定义。 - 如果仅通过本地访问,保持
127.0.0.1:3333
即可。
运行 Gophish
运行 Gophish 脚本:
./gophish &
访问后台管理系统:
本地打开浏览器,访问 https://ip:3333/
(注意使用 https 协议)
可能会提示证书不正确,依次点击 高级
— 继续转到页面
,输入默认账密进行登录:admin/XXX
初始化密码位于启动日志中:
time="2021-09-28T17:52:08Z" level=info msg="Please login with the username admin and the password 4304d5255378177d"
功能介绍
进入后台后,左边的栏目即代表各个功能,分别是:
- Dashboard 仪表板
- Campaigns 钓鱼事件
- Users & Groups 用户和组
- Email Templates 邮件模板
- Landing Pages 钓鱼页面
- Sending Profiles 发件策略
如下图所示:
Sending Profiles
Sending Profiles(发件策略)的主要作用是将用来发送钓鱼邮件的邮箱配置到 gophish。
点击 New Profile
新建一个策略,依次来填写各个字段:
成功收到测试邮件:
至此,发件邮箱的配置已经完成。
当然,在实际钓鱼中,不可能使用自己的私人邮箱去发送钓鱼邮件。
因此,如果需要大批量去发送钓鱼邮件,最好的方式是使用自己的服务器,申请近似域名,搭建邮件服务器来发件。
Landing Pages
Landing Pages(钓鱼页面)是设计由邮件中超链接指向的钓鱼网页。
点击 New Page
新建页面:
Email Templates
Email Templates(钓鱼邮件模板)用来编写钓鱼邮件的内容。
点击 New Template
新建钓鱼邮件模板,依次介绍填写各个字段:
- 在发送的邮件中添加附件,一是可以添加相关文件提高邮件真实性,二是可以配合免杀木马诱导受害用户下载并打开。
Users & Groups
Users & Groups(用户和组)的作用是将钓鱼的目标邮箱导入系统中准备发送。
Campaigns
Campaigns(钓鱼事件)的作用是将上述四个功能 Sending Profiles
、Email Templates
、Landing Pages
、Users & Groups
联系起来,并创建钓鱼事件,发送钓鱼邮件。
在 Campaigns 中,可以新建钓鱼事件,并选择编辑好的钓鱼邮件模板,钓鱼页面,通过配置好的发件邮箱,将钓鱼邮件发送给目标用户组内的所有用户
注意事项:
Send Emails By 配合 Launch Date 使用,可以理解为当前钓鱼事件下所有钓鱼邮件发送完成的时间。
Launch Date
作为起始发件时间,Send Emails By
作为完成发件时间,而它们之间的时间将被所有邮件以分钟为单位平分
。这样的好处在于,当需要发送大量的钓鱼邮件,而发件邮箱服务器并未限制每分钟的发件数,那么通过该设定可以限制钓鱼邮件不受约束的发出,从而防止因短时间大量邮件抵达目标邮箱而导致的垃圾邮件检测,甚至发件邮箱服务器 IP 被目标邮箱服务器封禁
如果未修改
Launch Date
,则默认在创建钓鱼事件后就立即开始发送钓鱼邮件。
Dashboard
Dashboard(仪表板)自动开始统计数据。
统计的数据项包括:
- Email Sent:邮件发送成功的数量及比率
- Email Opened:邮件被打开的数量及比率
- Clicked Link:钓鱼链接被点击的数量及比率
- Submitted Data:账号密码数据被提交的数量和比率
- Email Reported:收到电子邮件报告的数量和比率
另外,还有时间轴记录了每个行为发生的时间点。
关于电子邮件报告,详情参考:
https://docs.getgophish.com/user-guide/documentation/email-reporting
Dashboard 统计的是 所有钓鱼事件 的数据,而非单个钓鱼事件的数据,如果仅需要查看单个钓鱼事件的统计数据,可以在 Campaigns
中找到该钓鱼事件,点击 View Results
按钮查看。
测试使用
在 Sending Profiles(发件策略)中,配置自己的个人邮箱地址。
在 Landing Pages(钓鱼页面)中,配置一个包含登录页的网站。比如
https://email.163.com/
,进行加载后,保存页面。在 Email Templates(钓鱼邮件模板)中,配置想要发送的邮件模块,如下所示:
在 Users & Groups(用户和组)中,配置收件人的地址列表。
在 Campaigns(钓鱼事件)中,关联上述配置。保存即可发送测试邮件。
在收件人邮箱中,即可查看钓鱼邮件。如下所示:
点击超链接 163 邮箱,发现钓鱼网站与 163 邮箱的登录地址非常类似,但网址完全不一样!!!
当然,由于 163 邮箱的安全性做的极好,会在登录窗口进行提示:
无法登录,请开启浏览器 cookies 或更换浏览器后刷新重试。
注意:
- 最终钓鱼地址中的
?rid=DYNJnZy
具有唯一性,即唯一指向打开的这封钓鱼邮件,换句话说DYNJnZy
是为这封邮件的收件人唯一分配的
。
如果此次钓鱼的 Campaigns 选择的目标存在多个目标邮箱,则 gophish 会为每一封目标邮件分配一个唯一的 rid 值,以此来区别不同的收件人。
参考资料
- https://blog.csdn.net/qq_42939527/article/details/107485116