gophish最新安装+避坑指北

最近公司安排进行钓鱼邮件演练,对gophish进行学习,此文档是在前人基础上创作而成,增加了自己遇到的问题,以及排错过程。一起学习,如有侵权请联系。

Gophish 是为企业和渗透测试人员设计的开源网络钓鱼工具包。 它提供了快速,轻松地设置和执行网络钓鱼攻击以及安全意识培训的能力。

Gophish 项目地址:https://github.com/gophish/gophish
Gophish 官网地址:Gophish - Open Source Phishing Framework

安装:

linux教程建议参考:钓鱼工具gophish史上最详细教程(附实例) —— 手把手教你成为“捕鱼人”_Ve99tr’s Blog-CSDN博客_gophish - 《安全收集》 - 极客文档

具体的安装步骤并不困难,本次环境在windows环境下进行,在github上下载项目。目前最新版为0.12.1

下载完成之后,在config.json文件进行更改

点击gophish.exe进行运行,首次运行之后。在首次启动 Gophish 时会随机生成一个初始密码并将其打印在终端中。

访问后端地址 https://127.0.0.1:3333 (如果访问不上请查看是否端口被占用,或者使用的是http)

进入后台后,左边的栏目即代表各个功能,分别是Dashboard 仪表板Campaigns 钓鱼事件Users & Groups 用户和组Email Templates 邮件模板Landing Pages 钓鱼页面Sending Profiles 发件策略六大功能
 

实际使用配置

Dashboard 仪表板

监控邮件发送的实时情况。

Campaigns 钓鱼事件

Campaigns 的作用是将上述四个功能Sending ProfilesEmail TemplatesLanding PagesUsers & Groups联系起来,并创建钓鱼事件
在 Campaigns 中,可以新建钓鱼事件,并选择编辑好的钓鱼邮件模板,钓鱼页面,通过配置好的发件邮箱,将钓鱼邮件发送给目标用户组内的所有用户

点击New Campaign新建一个钓鱼事件
Name 是为新建的钓鱼事件进行命名
Email Template 即钓鱼邮件模板,这里选择刚刚上面编辑好的钓鱼邮件模板

Landing Page 即钓鱼页面

URL 是用来替换选定钓鱼邮件模板中超链接的值,该值指向部署了选定钓鱼页面的 url 网址

需要填写当前运行 gophish 脚本主机的 ip

Launch Date:
Launch Date 即钓鱼事件的实施日期。默认即可发送

(可选)Send Emails By:

Send Emails By完成发件时间
Launch Date作为起始发件时间,Send Emails By 作为完成发件时间,而它们之间的时间将被所有邮件以分钟为单位平分
Sending Profile:
Sending Profile 即发件策略

Groups:
Groups 即接收钓鱼邮件的目标用户组,这里选择刚刚编辑好的名为目标 1 组的目标用户组

填写完以上字段,点击Launch Campaign后将会创建本次钓鱼事件(注意:如果未修改Launch Date,则默认在创建钓鱼事件后就立即开始发送钓鱼邮件)

Users & Groups 用户和组

Users & Groups 的作用是将钓鱼的目标邮箱导入 gophish 中准备发送
点击New Group新建一个钓鱼的目标用户组
Name:
Name 是为当前新建的用户组命名,命名随意


 

Bulk Import Users:
Bulk Import Users 是批量导入用户邮箱,它通过上传符合特定模板的CSV 文件来批量导入目标用户邮箱
点击旁边灰色字体的Download CSV Template可以下载特定的 CSV 模板文件。其中,模板文件的Email是必填项,其余的Frist NameLast NamePosition可选填

Add:
除了批量导入目标用户的邮箱,gophish 也提供了单个邮箱的导入方法,这对于开始钓鱼前,钓鱼组内部测试十分方便,不需要繁琐的文件上传,直接填写Email即可,同样其余的Frist NameLast NamePosition可选填

编辑好目标用户的邮箱后,点击Save Changes即可保存编辑好的目标邮箱保存在 gophish 中

Email Templates 邮件模板

Name:
同样的,这个字段是对当前新建的钓鱼邮件模板进行命名。命名根据喜好

Import Email:

Landing Pages 钓鱼页面一样,gophish 为编辑邮件内容提供了两种方式。

第一种就是Import Email

用户可以先在自己的邮箱系统中设计好钓鱼邮件,然后发送测试账号,收到设计好的邮件后,打开并选择导出为 eml 文件或者显示邮件原文

然后将内容复制到 gophish 的 Import Email中,即可将设计好的钓鱼邮件导入

需要注意,在点击Import之前需要勾选上Change Links to Point to Landing Page,该功能实现了当创建钓鱼事件后,会将邮件中的超链接自动转变为钓鱼网站的 URL

需要注意的是当引用邮箱的源文件或者elm文件时,可能会出现乱码。此时建议挑选一些其他邮箱的elm。或者先用测试进行尝试。

<html>

<head>

<title></title>

<style type="text/css">@font-face { font-family: TencentSans; src: url("moz-extension://abbc392a-f3aa-4953-ab64-301cc40d840c/static/fonts/TencentSans.woff2"); }

</style>

<style type="text/css">@font-face { font-family: TencentSans; src: url("moz-extension://abbc392a-f3aa-4953-ab64-301cc40d840c/static/fonts/TencentSans.woff2"); }

</style>

<style type="text/css">@font-face { font-family: TencentSans; src: url("moz-extension://abbc392a-f3aa-4953-ab64-301cc40d840c/static/fonts/TencentSans.woff2"); }

</style>

</head>

<body>

<div class="__aliyun_email_body_block">

<div style="font-family: Tahoma, Arial, STHeitiSC-Light, SimSun">

<div style="clear: both; font-family: Tahoma, Arial, STHeitiSC-Light, SimSun;">&nbsp;</div>

<div style="clear: both; font-family: Tahoma, Arial, STHeitiSC-Light, SimSun;">因为黑客攻击,请全体员工即可点击更改地址,更改身份认证账号:<a href="{{.URL}}" target="_blank">更改地址</a></div>

</div>

</div>

<p>{{.Tracker}}</p>

<div id="transmart-crx-shadow-root" style="all: initial;">&nbsp;</div>

<div id="transmart-crx-shadow-root" style="all: initial;">&nbsp;</div>

</body>

<div id="transmart-crx-shadow-root" style="all: initial;">&nbsp;</div>

</html>

{{.URL}} 是gophish需要替换钓鱼邮件地址的变量。


Subject:
Subject 是邮件的主题,通常为了提高邮件的真实性,需要自己去编造一个吸引人的主题。这里简单填写成发件人+地址如:人事部<xxxxx@qq.com>

内容编辑框:
内容编辑框是编写邮件内容的第二种模式,内容编辑框提供了TextHTML两种模式来编写邮件内容,使用方式与正常的编辑器无异。
其中 HTML 模式下的预览功能比较常用到,在编辑好内容后,点击预览,就可以清晰看到邮件呈现的具体内容以及格式

Add Tracking Image:
Add Tracking Image 是在钓鱼邮件末添加一个跟踪图像,用来跟踪受害用户是否打开了收到的钓鱼邮件。默认情况下是勾选的,如果不勾选就无法跟踪到受害用户是否打开了钓鱼邮件
(注:跟踪受害用户是否点击钓鱼链接以及捕捉提交数据不受其影响)
Add Files:
Add Files 是在发送的邮件中添加附件,一是可以添加相关文件提高邮件真实性,二是可以配合免杀木马诱导受害用户下载并打开

当填写完以上字段后,点击Save Template,就能保存当前编辑好的钓鱼邮件模板

Landing Pages 钓鱼页面

完成钓鱼邮件的编写后,下一步则需要设计由邮件中超链接指向的钓鱼网页,点击New Page新建页面


Name:
Name 是用于为当前新建的钓鱼页面命名,名字随意

Import Site:
与钓鱼邮件模板的编辑一样,gophish 为钓鱼页面的设计也提供了两种方式

第一种则是Import Site
点击 Import Site 后,填写被伪造网站的 URL,再点击 Import,即可通过互联网自动抓取被伪造网站的前端代码
这里以伪造 百度地图界面为例,在 Import Site 中填写http://www.baidu.com,并点击import

此方法复制页面与原始页面多少有点差距,因此可以在第二种方法内容编辑框下进行编辑,调整。

内容编辑框:
内容编辑框是编辑钓鱼页面的第二种方法,但是绝大多数情况下,它更偏向于用来辅助第一种方法,即对导入的页面进行源码修改以及预览。

由于编码的不同,通常直接通过 Import Site 导入的网站,其中文部分多少存在乱码现象,这时候就需要查看源码并手动修改过来

也可以通过第三方浏览器插件抓取页面然后进行,将页面内容复制到编辑页面,推荐插件SingIeFile(谷歌,火狐,edge浏览器通用)


 

(重点)Capture Submitted Data:
勾选Capture Submitted Data捕获提交的数据
当勾选了Capture Submitted Data后,页面会多出一个Capture Passwords的选项,显然是捕获密码。通常,可以选择勾选上以验证账号的可用性。如果仅仅是测试并统计受害用户是否提交数据而不泄露账号隐私,则可以不用勾选
另外,当勾选了Capture Submitted Data后,页面还会多出一个Redirect to,其作用是当受害用户点击提交表单后,将页面重定向到指定的 URL。可以填写被伪造网站的 URL,营造出一种受害用户第一次填写账号密码填错的感觉
(一般来说,当一个登录页面提交的表单数据与数据库中不一致时,登录页面的 URL 会被添加上一个出错参数,以提示用户账号或密码出错,所以在Redirect to中,最好填写带出错参数的 URL)
因此,令此处的 Redirect to 的值为https://mail.XX.edu.cn/cgi-bin/loginpage?errtype=1

填写好以上参数,点击Save Page,即可保存编辑好的钓鱼页面

必看)经验之谈 · 注意事项
在实战时捕获真实网页来作为钓鱼页面时,通过 Import 并非能够能够达到理想下的克隆,总结了网上各种报错总结一下几点

  1. 【捕获不到提交的数据】导入后要在 HTML 编辑框的非 Source 模式下观察源码解析情况,如果明显发现存在许多地方未加载,则有可能导入的源码并非页面完全加载后的前端代码,而是一个半成品,需要通过浏览器二次解析,渲染未加载的 DOM。这种情况下,除非能够直接爬取页面完全加载后的前端代码,否则无法利用 gophish 进行钓鱼,造成的原因是不满足。
  2. 【捕获不到提交的数据】导入的前端源码,必须存在严格存在<form method="post" ···><input name="aaa" ··· /> ··· <input type="submit" ··· /></form>结构,即表单(POST 方式)— Input 标签(具有 name 属性)Input 标签(submit 类型)— 表单闭合的结构,如果不满足则无法捕获到提交的数据
  3. 【捕获不到提交的数据】在满足第 2 点的结构的情况下,还需要求<form method="post" ···>在浏览器解析渲染后(即预览情况下)不能包含action属性,或者action 属性的值为空。否则将会把表单数据提交给 action 指定的页面,而导致无法被捕获到
  4. 【捕获数据不齐全】对于需要被捕获的表单数据,除了input 标签需要被包含在<form>中,还需满足该<input>存在name属性。例如<input name="username">, 否则会因为没有字段名而导致value被忽略
  5. 【密码被加密】针对https页面的 import,通常密码会进行加密处理,这时需要通过审计导入的前端代码,找到加密的JavaScript 函数(多数情况存在于单独的js 文件中,通过 src 引入),将其在 gophish 的 HTML 编辑框中删除,阻止表单数据被加密

以上 5 点是在实践中总结出来的宝贵经验,或许还有其他许多坑未填,但所有的坑通常都围绕在<form><input /></form>结构中,常见的真是页面并非简单的form结构,因此有时间就需要结合实际情况进行修改。

这边有测试页面,可以先进行测试页面看是否能够进行数据捕获。如果这个测试页面无法捕获数据,大概率时设置问题,如果可以捕获数据,就需要修改你想要操作的网页代码。

<html>

<head>

<title></title>

</head>

<body>

<form action="" method="post" name="form"><label>Username:</label> <input name="username" type="text"/><br/>

<label>Password:</label> <input name="password" type="password"/><br/>

<input id="login" name="login" type="submit" value="Login"/> </form>

</body></html>

Sending Profiles 发件策略

Sending Profiles 的主要作用是将用来发送钓鱼邮件的邮箱配置到 gophish

点击New Profile新建一个策略,依次来填写各个字段
Name:
Name 字段是为新建的发件策略进行命名,名字随意根据自己喜好。

Interface Type:
Interface Type 是接口类型,默认为SMTP 类型且不可修改,因此需要发件邮箱开启 SMTP 服务
From:
From 是发件人,即钓鱼邮件所显示的发件人。在网上的老版教程中使用的是<xxxx@qq.com>

在新版中定义发送名字在Email Templates 邮件模板中。这边就填写实际发送的邮件地址

Host:
Host 是 smtp 服务器的地址,格式是 smtp.example.com:25,例如 qq 邮箱的 smtp 服务器地址为smtp.qq.com

Username:
Username 是 smtp 服务认证的用户名,这里填写的用户名需要和From发件人一致。
Password:
Password 是 smtp 服务认证的密码,例如 qq 邮箱,需要在登录 qq 邮箱后,点击 设置 - 账户 - 开启 SMPT 服务 生成授权码,Password 的值则可以填收到的授权码

(可选)Email Headers:
Email Headers 是自定义邮件头字段,例如邮件头的X-Mailer字段,若不修改此字段的值,通过 gophish 发出的邮件,其邮件头的 X-Mailer 的值默认为 gophish

设置好以上字段,可以点击Send Test Email来发送测试邮件,以检测 smtp 服务器是否认证通过

成功收到测试邮件:

至此,发件邮箱的配置已经完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山风邀月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值