Gophish-钓鱼平台的搭建及使用
平台使用组件
Gophish
部署方式
部署平台:Ubuntu 18.04
1.在https://github.com/gophish/gophish/releases/tag/v0.11.0 下载对应系统的压缩包
wget https://github.com/gophish/gophish/releases/download/v0.11.0/gophish-v0.11.0-linux-64bit.zip
然后解压
2.修改config.json的监听地址
将这里的127.0.0.1修改为0.0.0.0
admin_server是后台管理页面
phish_server是钓鱼网站
3.然后运行(如果出错,添加 sudo)
./gophish
4.访问https://IP:3333
操作手册
登陆
在启动项目时会将账号密码输出在终端
首次登陆要求重新设置密码
模块介绍
Dashboard仪表板
、Campaigns钓鱼事件
、Users & Groups用户和组
、Email Templates邮件模板
、Landing Pages钓鱼页面
、Sending Profiles发件策略
六大功能
Sending Profiles 发件策略
Name: Name字段是为新建的发件策略进行命名,不会影响到钓鱼的实施,建议以发件邮箱为名字,例如如果使用163邮箱来发送钓鱼邮件,则Name字段可以写xxxxxx@163.com
Interface Type: Interface Type 是接口类型,默认为SMTP类型
且不可修改,因此需要发件邮箱开启SMTP服务
From: From 是发件人,即钓鱼邮件所显示的发件人。(在实际使用中,一般需要进行近似域名伪造)这里为了容易理解,就暂时以163邮箱为例,所以From字段可以写:test<xxxx@163.com>
xxxx要和之后填的username相同
Host: Host 是smtp服务器的地址,格式是smtp.example.com:25,例如163邮箱的smtp服务器地址为smtp.163.com
Username: Username 是smtp服务认证的用户名,如果是163邮箱,Username则是自己的163邮箱号xxxx@163.com
Password: Password 是smtp服务认证的密码,例如163邮箱,需要在登录163邮箱后,点击 设置
选择开启
开启之后会获取一个授权码
密码则填这个授权码
VRMEOAXWWTCXTQLL
(可选)Email Headers: Email Headers 是自定义邮件头字段,例如邮件头的X-Mailer
字段,若不修改此字段的值,通过gophish发出的邮件,其邮件头的X-Mailer的值默认为gophish
设置好以上字段,可以点击Send Test Email
来发送测试邮件,以检测smtp服务器是否认证通过
成功收到测试邮箱
在实际钓鱼中,不可能使用自己的163邮箱去发送钓鱼邮件,最好的方式是使用自己的服务器,申请近似域名,搭建邮件服务器来发件
Landing Pages 钓鱼页面
完成钓鱼邮件的编写后,下一步则需要设计由邮件中超链接指向的钓鱼网页,点击New Page
新建页面
Name: Name 是用于为当前新建的钓鱼页面命名,可以简单命名为钓鱼页面1
Import Site: 与钓鱼邮件模板的编辑一样,gophish为钓鱼页面的设计也提供了两种方式,第一种则是Import Site 点击Import Site后,填写被伪造网站的URL,再点击Import,即可通过互联网自动抓取被伪造网站的前端代码 这里以伪造word press后台登录界面为例,在Import Site中填写https://xxxxxx.top/wp-login.php,并点击import
内容编辑框: 内容编辑框是编辑钓鱼页面的第二种方法,但是绝大多数情况下,它更偏向于用来辅助第一种方法,即对导入的页面进行源码修改以及预览。
(重点)Capture Submitted Data:
通常,进行钓鱼的目的往往是捕获受害用户的用户名及密码,因此,在点击Save Page之前,记得一定要勾选Capture Submitted Data 当勾选了Capture Submitted Data后,页面会多出一个Capture Passwords的选项,显然是捕获密码。通常,可以选择勾选上以验证账号的可用性。如果仅仅是测试并统计受害用户是否提交数据而不泄露账号隐私,则可以不用勾选 另外,当勾选了Capture Submitted Data后,页面还会多出一个Redirect to,其作用是当受害用户点击提交表单后,将页面重定向到指定的URL。可以填写被伪造网站的URL,营造出一种受害用户第一次填写账号密码填错的感觉 (一般来说,当一个登录页面提交的表单数据与数据库中不一致时,登录页面的URL会被添加上一个出错参数,以提示用户账号或密码出错,所以在Redirect to中,最好填写带出错参数的URL)
填写好以上参数,点击Save Page
,即可保存编辑好的钓鱼页面
Email Templates 钓鱼邮件模板
完成了邮箱配置之后,就可以使用gophish发送邮件了。所以,接下来需要去编写钓鱼邮件的内容 点击New Template
新建钓鱼邮件模板,依次介绍填写各个字段
Name: 同样的,这个字段是对当前新建的钓鱼邮件模板进行命名。可以简单的命名为:邮件模板1
Import Email: gophish为编辑邮件内容提供了两种方式,第一种就是Import Email
用户可以先在自己的邮箱系统中设计好钓鱼邮件,然后发送给自己或其他伙伴,收到设计好的邮件后,打开并选择导出为eml文件或者显示邮件原文,然后将内容复制到gophish的Import Email中,即可将设计好的钓鱼邮件导入
例如:下边是一个模板,点击显示原文
复制原文 然后点击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 用户和组
当完成上面三个功能的内容编辑,钓鱼准备工作就已经完成了80%,Users & Groups
的作用是将钓鱼的目标邮箱导入gophish中准备发送 点击New Group
新建一个钓鱼的目标用户组
Name: Name 是为当前新建的用户组命名,这里简单命名为目标1组
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中,可以新建钓鱼事件,并选择编辑好的钓鱼邮件模板,钓鱼页面,通过配置好的发件邮箱,将钓鱼邮件发送给目标用户组内的所有用户
点击New Campaign
新建一个钓鱼事件
Name: Name 是为新建的钓鱼事件进行命名,这里简单命名为第一次钓鱼
选择刚刚配置好的选项
(重点)URL: URL 是用来替换选定钓鱼邮件模板中超链接的值,该值指向部署了选定钓鱼页面的url网址(这里比较绕,下面具体解释一下,看完解释再来理解这句话)
简单来说,这里的URL需要填写当前运行gophish脚本主机的ip。 因为启动gophish后,gophish默认监听了3333和80端口,其中3333端口是后台管理系统,而81端口就是用来部署钓鱼页面的。 当URL填写了http://主机IP/,并成功创建了当前的钓鱼事件后。gophish会在主机的80端口部署当前钓鱼事件所选定的钓鱼页面,并在发送的钓鱼邮件里,将其中所有的超链接都替换成部署在80端口的钓鱼页面的url
所以,这里的URL填写我本地当前运行gophish主机的IP对应的url,即http://192.168.0.104:81
Launch Date: Launch Date 即钓鱼事件的实施日期,通常如果仅发送少量的邮箱,该项不需要修改。如果需要发送大量的邮箱,则配合旁边的Send Emails By
效果更佳
(可选)Send Emails By: Send Emails By 配合Launch Date使用,可以理解为当前钓鱼事件下所有钓鱼邮件发送完成的时间。Launch Date作为起始发件时间,Send Emails By 作为完成发件时间,而它们之间的时间将被所有邮件以分钟为单位平分。
例如,Launch Date的值为2020.07.22,09:00,Send Emails By的值为2020.07.22,09:04,该钓鱼事件需要发送50封钓鱼邮件。 那么经过以上设定,从9:00到9:04共有5个发件点,这5个发件点被50封邮件平分,即每个发件点将发送10封,也就是每分钟仅发送10封。
这样的好处在于,当需要发送大量的钓鱼邮件,而发件邮箱服务器并未限制每分钟的发件数,那么通过该设定可以限制钓鱼邮件不受约束的发出,从而防止因短时间大量邮件抵达目标邮箱而导致的垃圾邮件检测,甚至发件邮箱服务器IP被目标邮箱服务器封禁
Sending Profile: Sending Profile 即发件策略,这里选择刚刚编辑好的名为XXXXX@163.com
的发件策略
Groups: Groups 即接收钓鱼邮件的目标用户组,这里选择刚刚编辑好的名为目标1组
的目标用户组
填写完以上字段,点击Launch Campaign
后将会创建本次钓鱼事件(注意:如果未修改Launch Date
,则默认在创建钓鱼事件后就立即开始发送钓鱼邮件)
点击链接之后会跳转到钓鱼页面
之后填写账号密码后会将数据发送到钓鱼平台 如果设置了跳转链接还会跳转到指定链接
Dashboard 仪表板
当创建了钓鱼事件后,Dashboard 会自动开始统计数据。统计的数据项包括邮件发送成功的数量及比率,邮件被打开的数量及比率,钓鱼链接被点击的数量及比率,账密数据被提交的数量和比率,以及收到电子邮件报告的数量和比率。另外,还有时间轴记录了每个行为发生的时间点
收到数据后会展示出来