gophish搭建使用
gophish搭建使用
参考链接:https://blog.csdn.net/qq_42939527/article/details/107485116
Gophish项目地址:https://github.com/gophish/gophish
Gophish:开源网络钓鱼工具包
[Gophish](https://getgophish.com/) 是一个开源网络钓鱼工具包,专为企业和渗透测试人员设计。它提供了快速轻松地设置和执行网络钓鱼参与和安全意识培训的能力。
搭建过程(Linux)
操作系统:Linux debian 6.1.0-25-amd64
如果是在云服务器上搭建,记得开放相关端口
下载压缩包,解压
wget https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip |
修改配置文件,赋予权限
cd gophish |
我这里因为是部署在服务器上,所以listen_url修改成0.0.0.0:3333了
|
运行 gophish:
sudo ./gophish |
注意账号是admin,默认密码会打印在终端
访问后台管理系统:
https://your_ip:3333 |
输入账号密码进入后台,会提示要先重置密码,设置好密码后
访问钓鱼界面:
http://your_ip |
文章中提到用./gophish启动脚本过一段时间会断了,需要长期保持运行可以结合nohup与&来启动
nohup ./gophish & |
nohup 介绍:
https://blog.csdn.net/weixin_49114503/article/details/134266408
进入后台后,左边的栏目即代表各个功能,分别是Dashboard 仪表板
、Campaigns 钓鱼事件
、Users & Groups 用户和组
、Email Templates 邮件模板
、Landing Pages 钓鱼页面
、Sending Profiles 发件策略
六大功能
Sending Profiles 发件策略
Sending Profiles 的主要作用是将用来发送钓鱼邮件的邮箱配置到 gophish
点击New Profile
新建一个策略,依次来填写各个字段
Name:
Name 字段是为新建的发件策略进行命名,不会影响到钓鱼的实施,建议以发件邮箱为名字,例如如果使用 qq 邮箱来发送钓鱼邮件,则 Name 字段可以写xxxxxx@qq.com
Interface Type:
Interface Type 是接口类型,默认为SMTP 类型
且不可修改,因此需要发件邮箱开启 SMTP 服务
查看linux是否开启SMTPhttps://www.dongmanai.cn/post/B99dB22BE8Eb.html
telnet 邮件服务器 25 |
我这边是没有,配置一下
sudo apt-get install postfix //一直ok |
配置SMTP
sudo vim /etc/postfix/main.cf |
在文件中找到以下行
myhostname = host.domain.tld |
取消注释并将以下内容添加到文件末尾
relayhost = [smtp.gmail.com]587 |
From:
From 是发件人,即钓鱼邮件所显示的发件人。(在实际使用中,一般需要进行近似域名伪造)这里为了容易理解,就暂时以 qq 邮箱为例,所以 From 字段可以写:test<xxxxxx@qq.com>
,我这里是填纯邮箱,不然会报501
Host:
Host 是 smtp 服务器的地址,格式是 smtp.example.com:25,例如 qq 邮箱的 smtp 服务器地址为smtp.qq.com
,这里25好像用不了,可以改成465https://blog.csdn.net/xhy18634297976/article/details/129187561
Username:
Username 是 smtp 服务认证的用户名,如果是 qq 邮箱,Username 则是自己的 qq 邮箱号xxxx@qq.com
Password:
Password 是 smtp 服务认证的密码,例如 qq 邮箱,需要在登录 qq 邮箱后,点击 设置
- 账户
- 开启 SMPT 服务
生成授权码
,Password 的值则可以填收到的授权码
(可选)Email Headers:
Email Headers 是自定义邮件头字段,例如邮件头的X-Mailer
字段,若不修改此字段的值,通过 gophish 发出的邮件,其邮件头的 X-Mailer 的值默认为 gophish
至此,发件邮箱的配置已经完成。当然,在实际钓鱼中,不可能使用自己的 qq 邮箱去发送钓鱼邮件。一是暴露自身身份,且邮件真实性低,二是 qq 邮箱这类第三方邮箱对每个用户每日发件数存在限制。
因此,如果需要大批量去发送钓鱼邮件,最好的方式是使用自己的服务器,申请近似域名,搭建邮件服务器来发件
Landing Pages 钓鱼页面
完成钓鱼邮件的编写后,下一步则需要设计由邮件中超链接指向的钓鱼网页,点击New Page
新建页面
Name:
Name 是用于为当前新建的钓鱼页面命名,可以简单命名为钓鱼页面 1
Import Site:
与钓鱼邮件模板的编辑一样,gophish 为钓鱼页面的设计也提供了两种方式,第一种则是Import Site
点击 Import Site 后,填写被伪造网站的 URL
,再点击 Import,即可通过互联网自动抓取被伪造网站的前端代码,有点站点做了反爬,可能不好导入
内容编辑框:
内容编辑框是编辑钓鱼页面的第二种方法,但是绝大多数情况下,它更偏向于用来辅助第一种方法,即对导入的页面进行源码修改以及预览。
由于编码的不同,通常直接通过 Import Site 导入的网站,其中文部分多少存在乱码现象
,这时候就需要查看源码并手动修改
过来
(重点)Capture Submitted Data:
这个是用来后去用户提交的数据的,勾选后会多一个是否抓取密码,也可以勾上测试一下,最后填写重定向的地址即可,如账号或密码错误的页面等
填写好以上参数,点击Save Page
,即可保存编辑好的钓鱼页面
Email Templates 钓鱼邮件模板
完成了邮箱配置之后,就可以使用 gophish 发送邮件了。所以,接下来需要去编写钓鱼邮件的内容
点击New Template
新建钓鱼邮件模板,依次介绍填写各个字段
Name:
同样的,这个字段是对当前新建的钓鱼邮件模板进行命名。
Import Email:
gophish 为编辑邮件内容提供了两种方式,第一种就是Import Email
用户可以先在自己的邮箱系统中设计好钓鱼邮件,然后发送给自己或其他伙伴,收到设计好的邮件后,打开并选择导出为 eml 文件
或者显示邮件原文
,然后将内容复制到 gophish 的 Import Email
中,即可将设计好的钓鱼邮件导入
需要注意,在点击Import
之前需要勾选上Change Links to Point to Landing Page
,该功能实现了当创建钓鱼事件后,会将邮件中的超链接自动转变为钓鱼网站的 URL
Subject:
Subject 是邮件的主题,通常为了提高邮件的真实性,需要自己去编造一个吸引人的主题。
内容编辑框:
内容编辑框是编写邮件内容的第二种模式,内容编辑框提供了Text
和HTML
两种模式来编写邮件内容,使用方式与正常的编辑器无异。
其中 HTML 模式下的预览功能
比较常用到,在编辑好内容后,点击预览,就可以清晰看到邮件呈现的具体内容以及格式
Add Tracking Image:
Add Tracking Image 是在钓鱼邮件末添加一个跟踪图像
,用来跟踪受害用户是否打开了收到的钓鱼邮件。默认情况下是勾选的,如果不勾选就无法跟踪到受害用户是否打开了钓鱼邮件
(注:跟踪受害用户是否点击钓鱼链接以及捕捉提交数据不受其影响)
Add Files:
Add Files 是在发送的邮件中添加附件
,一是可以添加相关文件提高邮件真实性,二是可以配合免杀木马诱导受害用户下载并打开
当填写完以上字段后,点击Save Template
,就能保存当前编辑好的钓鱼邮件模板
Users & Groups 用户和组
Users & Groups
的作用是将钓鱼的目标邮箱导入 gophish 中准备发送
点击New Group
新建一个钓鱼的目标用户组
Name:
Name 是为当前新建的用户组命名
Bulk Import Users:
Bulk Import Users 是批量导入用户邮箱,它通过上传符合特定模板的CSV 文件
来批量导入目标用户邮箱
点击旁边灰色字体的Download CSV Template
可以下载特定的 CSV 模板文件。其中,模板文件的Email
是必填项,其余的Frist Name
、Last Name
、Position
可选填
Add:
除了批量导入目标用户的邮箱,gophish 也提供了单个邮箱的导入方法,这对于开始钓鱼前,钓鱼组内部测试十分方便,不需要繁琐的文件上传,直接填写Email
即可,同样其余的Frist Name
、Last Name
、Position
可选填
编辑好目标用户的邮箱后,点击Save Changes
即可保存编辑好的目标邮箱保存在 gophish 中
Campaigns 钓鱼事件
Campaigns 的作用是将上述四个功能Sending Profiles
、Email Templates
、Landing Pages
、Users & Groups
联系起来,并创建钓鱼事件
在 Campaigns 中,可以新建钓鱼事件,并选择编辑好的钓鱼邮件模板,钓鱼页面,通过配置好的发件邮箱,将钓鱼邮件发送给目标用户组内的所有用户
Name:
Name 是为新建的钓鱼事件进行命名
Email Template:
Email Template 即钓鱼邮件模板,这里选择刚刚上面编辑好的钓鱼邮件模板
Landing Page:
Landing Page 即钓鱼页面
(重点)URL:
URL 是用来替换选定钓鱼邮件模板中超链接的值,该值指向部署了选定钓鱼页面的 url 网址(这里比较绕,下面具体解释一下,看完解释再来理解这句话)简单来说,这里的 URL 需要填写当前运行 gophish 脚本主机的 ip。
因为启动 gophish 后,gophish 默认监听了3333
和80
端口,其中3333
端口是后台管理系统,而80
端口就是用来部署钓鱼页面的。
当 URL 填写了http:// 主机 IP/
,并成功创建了当前的钓鱼事件后。gophish 会在主机的80
端口部署当前钓鱼事件所选定的钓鱼页面
,并在发送的钓鱼邮件里,将其中所有的超链接
都替换成部署在80
端口的钓鱼页面的 url
Launch Date:
Launch Date 即钓鱼事件的实施日期,通常如果仅发送少量的邮箱,该项不需要修改。如果需要发送大量的邮箱,则配合旁边的Send Emails By
效果更佳
(可选)Send Emails By:
Send Emails By 配合Launch Date
使用,可以理解为当前钓鱼事件下所有钓鱼邮件发送完成的时间。Launch Date
作为起始发件时间,Send Emails By
作为完成发件时间,而它们之间的时间将被所有邮件以分钟为单位平分
。
Dashboard 仪表板
当创建了钓鱼事件后,Dashboard 会自动开始统计数据。统计的数据项包括邮件发送成功的数量及比率
,邮件被打开的数量及比率
,钓鱼链接被点击的数量及比率
,账密数据被提交的数量和比率
,以及收到电子邮件报告的数量和比率
。另外,还有时间轴记录了每个行为发生的时间点
需要注意的是,Dashboard 统计的是所有钓鱼事件
的数据,而非单个钓鱼事件的数据,如果仅需要查看单个钓鱼事件的统计数据,可以在Campaigns
中找到该钓鱼事件,点击View Results
按钮查看
真实场景考虑:
近似域名、搭建自己的邮箱服务器,选择邮件主题,确定发件人等