Gophish官网地址:https://getgophish.com/

Gophish项目地址:

https://github.com/gophish/gophish
https://github.com/gophish/gophish/releases/

安装过程

首先,我们将适合自己系统的Gophish包下载到我们的vps上:

mkdir gophish
cd gophish
wget https://github.com/gophish/gophish/releases/download/v0.11.0/gophish-v0.11.0-linux-64bit.zip
unzip gophish-v0.11.0-linux-64bit.zip

目录:

PartⅡ邮件钓鱼平台-冯金伟博客园

然后修改配置文件config.json:

admin_server 是后台管理页面,我们要将 127.0.0.1 改为 0.0.0.0,默认开放的端口为3333。
phishserver是钓鱼网站,默认开放80端口。listenurl 也要是 0.0.0.0,如果 80 端口被占用了可以改为其他端口比如 81。
contact_address 不是一定要加上的,可以加一个。

PartⅡ邮件钓鱼平台-冯金伟博客园

现在,启动gophish了:

chmod +x gophish
./gophish

第一次启动时会在命令行显示初始管理员随机密码。

PartⅡ邮件钓鱼平台-冯金伟博客园

登录后台:

PartⅡ邮件钓鱼平台-冯金伟博客园

功能介绍

该Gophish平台具有如下几个功能,均需要进行配置。

功能 简述
Dashboard 仪表板,查看整体测试情况
Campaigns 每次攻击前需要配置一次
Users & Groups 用户和用户组(添加需要进行钓鱼的邮箱和相关基础信息)
Email Templates 电子邮件模板
Landing Pages 需要伪造的钓鱼页面
Sending Profiles 钓鱼邮箱发送配置

Sending Profiles(钓鱼邮箱发送配置)

Sending Profiles的主要作用是将用来发送钓鱼邮件的邮箱配置到Gophish。点击 “New Profile” 新建一个策略,依次来填写各个字段:

PartⅡ邮件钓鱼平台-冯金伟博客园

Name:Name字段是为新建的发件策略进行命名。

Interface Type:Interface Type 是接口类型,默认为 SMTP类型 且不可修改,因此需要发件邮箱开启SMTP服务

From:From 是发件人,即钓鱼邮件所显示的发件人。(在实际使用中,一般需要进行近似域名伪造)

Host:Host 是SMTP服务器的地址,格式是 smtp.example.com:25

Username:Username 是SMTP服务认证的用户名。

Password:Password 是SMTP服务认证的密码。

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

Email Templates(钓鱼邮件模板)

完成了邮箱配置之后,就可以使用gophish发送邮件了。所以,接下来需要去“Email Templates”中编写钓鱼邮件的内容。点击“New Template”新建钓鱼邮件模板,依次介绍填写各个字段:

PartⅡ邮件钓鱼平台-冯金伟博客园

Name:这个字段是对当前新建的钓鱼邮件模板进行命名。
Import Email:Gophish为编辑邮件内容提供了两种方式,第一种就是 “Import Email”。用户可以先在自己的邮箱系统中设计好钓鱼邮件,然后发送给自己或其他伙伴,收到设计好的邮件后,打开并选择“导出为eml文件”或者“显示邮件原文”,然后将内容复制到gophish的“Import Email”中,即可将设计好的钓鱼邮件的导入。 需要注意的是,在点击“Import”之前需要勾选上“Change Links to Point to Landing Page”,该功能实现了当创建钓鱼事件后,会将邮件中的超链接自动转变为钓鱼网站的URL。
Subject:Subject 是邮件的主题,通常为了提高邮件的真实性,需要自己去编造一个吸引人的主题。
内容编辑框:内容编辑框是编写邮件内容的第二种模式,内容编辑框提供了 TextHTML两种模式来编写邮件内容。
Add Tracking Image:Add Tracking Image 是在钓鱼邮件末添加一个“跟踪图像”,用来跟踪受害用户是否打开了收到的钓鱼邮件。默认情况下是勾选的,如果不勾选就无法跟踪到受害用户是否打开了钓鱼邮件。
Add Files:Add Files 是在发送的邮件中“添加附件”。

正文中可以使用以下参数:

ariable Description
{{.RId}} The target’s unique ID
{{.FirstName}} The target’s first name
{{.LastName}} The target’s last name
{{.Position}} The target’s position
{{.Email}} The target’s email address
{{.From}} The spoofed sender
{{.TrackingURL}} The URL to the tracking handler
{{.Tracker}} An alias for
{{.URL}} The phishing URL
{{.BaseURL}} The base URL with the path and rid parameter stripped. Useful for making links to static files.

举例:

PartⅡ邮件钓鱼平台-冯金伟博客园

Landing Pages(伪造钓鱼页面)

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

PartⅡ邮件钓鱼平台-冯金伟博客园

Name:Name 是用于为当前新建的钓鱼页面命名,可以简单命名为 “钓鱼页面一”。

Import Site:与钓鱼邮件模板的编辑一样,gophish为钓鱼页面的设计也提供了两种方式,第一种就是 “Import Site”,即克隆目标网站。点击“Import Site”后,填写 被伪造网站的URL,再点击Import,即可通过互联网自动爬取被伪造网站的前端代码。

内容编辑框:内容编辑框是编辑钓鱼页面的第二种方法,但是绝大多数情况下,它更偏向于用来辅助第一种方法,即对导入的页面进行源码修改以及预览。由于编码的不同,通常直接通过“Import Site”导入的网站,其中文部分多少存在乱码现象,这时候就需要查看源码并手动修改过来。

Capture Submitted Data(重点):通常,进行钓鱼的目的往往是捕获受害用户的用户名及密码,因此,在点击Save Page之前,记得一定要勾选左下方的 “Capture Submitted Data” 当勾选了“Capture Submitted Data”后,页面会多出一个“Capture Passwords”的选项,显然是捕获密码,通常可以选择勾选上以验证账号的可用性。如果仅仅是测试并统计受害用户是否提交数据而不泄露账号隐私,则可以不勾选。

当勾选了 “Capture Submitted Data” 后,页面还会多出一个 “Redirect to”,其作用就是当受害用户点击提交表单后,将页面重定向到指定的URL。可以填写被伪造网站的URL,营造出一种受害用户第一次填写账号密码填错的感觉。

Users & Groups(用户和组)

当完成上面三个功能的内容编辑,钓鱼准备工作就已经完成了80%, Users&Groups 的作用是将钓鱼的目标邮箱导入Gophish中准备发送。点击“New Group”新建一个钓鱼的目标用户组:

PartⅡ邮件钓鱼平台-冯金伟博客园

Name:Name 是为当前新建的用户组命名。
Bulk Import Users:Bulk Import Users是批量导入用户邮箱,它通过上传符合特定模板的CSV文件来批量导入目标用户邮箱 点击旁边灰色字体的“Download CSV Template”可以下载特定的CSV模板文件。其中,模板文件的“Email”是必填项,其余的“Frist Name” 、“Last Name”、“Position”皆可选填。

Campaigns(钓鱼事件)

Campaigns 的作用是将上述四个功能Sending Profiles 、Email Templates 、Landing Pages 、Users & Groups联系起来,并创建钓鱼事件。在Campaigns中,可以新建钓鱼事件,并选择编辑好的钓鱼邮件模板,钓鱼页面,通过配置好的发件邮箱,将钓鱼邮件发送给目标用户组内的所有用户。点击“New Campaign”新建一个钓鱼事件:

PartⅡ邮件钓鱼平台-冯金伟博客园

Name:Name 是为新建的钓鱼事件进行命名。
Email Template:Email Template 即钓鱼邮件模板。
Landing Page:Landing Page 即钓鱼页面。
URL(重点):URL 是用来替换选定钓鱼邮件模板中超链接的值,该值指向部署了选定钓鱼页面的url地址。简单来说,这里的URL需要填写当前运行Gophish脚本主机的IP。因为启动Gophish后,Gophish默认监听了3333端口和80端口(我们这配置的是81端口),其中3333端口是后台管理系统,而81端口就是用来部署钓鱼页面的。
Launch Date:Launch Date 即钓鱼事件的实施日期。
Send Emails By(可选):Send Emails By 配合Launch Date使用,可以理解为当前钓鱼事件下所有钓鱼邮件发送完成的时间。Launch Date作为起始发件时间,Send Emails By 作为完成发件时间,而它们之间的时间将被所有邮件以分钟为单位平分。
Sending Profile:Sending Profile 即上文中我们配置的发件邮箱策略。
Groups:Groups 即接收钓鱼邮件的目标用户组。

钓鱼行为举例

收到钓鱼邮件

PartⅡ邮件钓鱼平台-冯金伟博客园

收到来自管理员的重置密码邮件,点击给出的连接

PartⅡ邮件钓鱼平台-冯金伟博客园

输入密码,跳转到钓鱼结果页面

PartⅡ邮件钓鱼平台-冯金伟博客园

结果汇总:

PartⅡ邮件钓鱼平台-冯金伟博客园

查看受害流程:

PartⅡ邮件钓鱼平台-冯金伟博客园