钓鱼工具gophish的使用

一、安装

项目地址:https://github.com/gophish/gophish
打开上面的链接进项目,点右边侧栏的Releases进去下载最新版本。GitHub上很多项目都是要去Releases下载,而不是下载源码......

Linux

下载对应的版本的安装包,使用unzip解压,直接解压后所有文件都会在当前目录,建议使用命令:

unzip gophish-v0.11.0-linux-64bit.zip -d ./gophish

解压后的文件如下:

这里面的gophish就是运行文件,但是默认没有运行权限。

添加权限:

chmod 777 gophish

之后使用命令 ./gophish运行。

注:若是使用公网服务器部署,需要编辑config.json文件,将里面的listen_url修改为0.0.0.0:3333即可,否则无法在远程访问后台管理界面,这里端口可自定义,不一定要3333。

Windows

下载Windows版本的压缩包,之后新建个文件夹解压进里面。

双击gophish.exe运行即可,如果有远程访问后台管理系统的需求,还是参考Linux安装方法编辑config.json文件。

运行

Linux中使用./gophish,windows中双击gophish.exe运行gophish,之后命令行界面可以看到,登录的用户名为admin,密码为随机生成的,这个命令行界面不能关闭,否则程序就停了。

访问后台管理页面:

使用浏览器输入地址https://127.0.0.1:3333或者https://服务器IP:3333,这里必须使用https协议,不能使用http。

注:如果在vps中部署访问,需要在防火墙策略中开启3333端口。

第一次登录使用控制台中给的随机密码登录,之后会让自己设置一个密码,设置完密码后就进入了管理后台的主界面。

里面主要使用的有如下几个模块:

  • Dashboard 仪表盘,展示已发动的攻击情况和受害者信息

  • Campaigns 在此配置每次要发起的攻击

  • Users& Groups 在此设置目标受害者的邮箱

  • EmailTemplates 在此设置钓鱼邮件的模板

  • LandingPages 要在此设置钓鱼页面模板

  • SendingProfiles 在此配置发送钓鱼邮件的邮箱

在下面的实际使用中会对这些模块一一进行介绍。


二、使用流程

1、设置发件人的邮箱

使用SendingProfiles模块来将用来发送钓鱼邮件的邮箱配置到gophish。

点击New Profiles添加新的邮箱,测试可以使用QQ或者163邮箱(需要设置开启“SMTP服务”),但是实际攻击中,这会很容易被认出来,降低钓鱼攻击的成功率。可以注册与受害者邮箱域名类似的域名,然后搭建邮件服务器,再以此服务器来发送钓鱼邮件。

填写的具体格式如下,这里使用qq邮箱:

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。

选择显示邮件原文可以看到;

修改前为gophish:

修改后为 QQMail 2.X:

上面填好后,可以点击Send Test Email来给自己发送测试邮件。

之后可以在自己邮箱收到这样的测试邮件:

注:使用阿里云的服务器时,可能会发送超时,并出现报错:Max connection attempts exceeded - dial tcp 14.18.175.202:25: i/o timeout,这是由于阿里云服务器关闭了25号端口,这个25号端口正是SMTP需要的端口。

具体可以参考:https://blog.csdn.net/nbhh2748/article/details/81320174

2、编辑钓鱼邮件模板

编辑钓鱼邮件模板使用的模块为EmailTemplates ,该模块提供了两种方法编辑邮件内容,第一种是使用Import Email直接导入,另一种是手动编辑。点击New Template创建新的邮件模板。

Import Email:

这种方法支持用户直接导入现有邮件的格式,打开并选择导出为eml文件或者显示邮件原文,然后将内容复制到gophish的Import Email中,即可将设计好的钓鱼邮件导入。

勾选了ChangeLinks to Point to LandingPage之后,邮件模板中的链接会被替换为钓鱼网站的链接,当目标点击邮件中的链接后,会跳转到后续在LandingPages里配置的钓鱼页面里。

内容编辑器:

内容编辑器可以让你手动编辑钓鱼邮件,不过它更偏向于用来辅助第一种方法:对导入的邮件进行源码修改和预览。


Add Files:
Add Files 是在发送的邮件中添加附件,一是可以添加相关文件提高邮件真实性,二是可以配合免杀木马诱导受害用户下载并打开。

3、制作钓鱼页面

钓鱼页面是配合钓鱼邮件使用的,钓鱼邮件的最终目的,通常是通过钓鱼邮件来使受害者点击链接进入精心构造的钓鱼页面,通过钓鱼页面来诱导用户输入敏感信息,如密码等;或者通过钓鱼邮件诱导用户点击下载邮件附件,以此来向受害用户主机植入病毒或木马等。

一般情况下,钓鱼页面都是类似于修改密码或者登录之类的页面,并且要和钓鱼页面所模仿的页面做到尽可能的一样。

和制作钓鱼邮件类似,制作钓鱼页面也有相应的两种方法:

import site:

通过输入url的方式来导入网站,这种方法可通过互联网自动抓取被伪造网站的前端代码。但是也会遇到各种各样的问题,如导入不全,或者中文出现乱码等情况。

内容编辑框:

和制作钓鱼邮件时一样,这里也可以直接编写或修改源码。

正常情况下在导入页面后,会使用这个内容编辑框对源码进行修改微调。当然也能在这里直接现场写一个,因为导入再修改之类的太麻烦了,这里直接随便写了一个简单的html表单,方便演示。

<form method="post" action="" method="get">
            <table>
                <tr>        
                    <td>用户名:</td>
                    <td>
                        <input type="text" name="user" value=""/>
                    </td>           
                    <td>密码:</td>
                    <td>             
                        <input type="password" name="passwd" value=""/>
                    </td>
   					<td>
						<input type="submit" name="按钮名字" valer="值"/>
					</td>
                </tr>         
            </table>             
</form>

Capture Submitted Data:

这个选项是获取提交的数据,毕竟钓鱼页面就是干这个的,一般都会勾上。这个选项勾上之后,又会多出几个选项,Capture Passwords是捕获密码,一般也一起勾上,有的时候搞钓鱼邮件应急演练,客户不让你获取他们的密码,只统计受害的人,那就不勾这个了。Redirect to表示用户做完提交操作后,页面跳转的地址,可以指向真正的官网登录页面,这样能减少受害者发现自身被钓鱼的可能性。

点击save page,钓鱼页面就制作完成了。这个页面实际上就在自己IP的80端口,只有你有公网IP其他人才能访问的到,搭建在自己主机里的话只有自己能访问的到。

4、设置目标用户

使用Users & Groups模块来设置钓鱼邮件的目标

可以单个导入,其中Email选项为必填,其他都可以不要。

也可以批量导入:

先点击Download CSV Template下载gophish的导入模板

之后将邮件信息填入表格,再点击Bulk import Users来将表格里的信息批量导入。

5、创建钓鱼事件

在一切都准备好之后,就可以发送钓鱼邮件了,使用Campaigns模块,创建一个新的钓鱼活动。

在这里面将之前配置的几个模块都填进去,选择钓鱼邮件模板、钓鱼页面、使用的邮箱、发送的目标组。

URL:

url里面填写钓鱼邮件里面的超链接的URL,也就是受害者点击邮件模板里的链接后跳转到的页面。要是想让用户点击钓鱼邮件的链接之后跳转到自己设置的landing page里的钓鱼页面中,就要填写gophish所在服务器的IP,格式:http://主机IP,要是在自己本机部署的gophish,则可以直接填http://127.0.0.1

点开钓鱼邮件的模板,查看源码也能看到,这里替换的是源码里的{{.URL}}字段。

Launch Date && Send Emails By
Launch Date顾名思义是设置发送邮件的时间,可以选择在什么时间发送。
另一个可选项 Send Emails By是配合Launch Date使用的,Send Emails By代表开始发送时间,Launch Date代表结束发送时间,所有邮件都会在这个时间段按分钟平均发送。假设这个时间段有10分钟,那么100封邮件就分成10份,每一分钟发10份。这样的发件策略可以防止因短时间大量邮件抵达目标邮箱而导致的垃圾邮件检测,甚至发件邮箱服务器IP被目标邮箱服务器封禁

6、查看结果

点开Dashboard可以查看所有钓鱼活动(Campaigns)的数据统计。

在下方可以选择查看某一次活动的数据。

在这里可以看到有谁点开了邮件有谁点击了邮件的有谁往里面提交了数据等。

点击受害者栏的左边的小箭头,可以看到受害者提交的数据,还有操作系统的版本和浏览器版本信息。


参考文章:

https://blog.csdn.net/qq_42939527/article/details/107485116

https://blog.csdn.net/q851579181q/article/details/103989176

posted @ 2022-02-14 16:09  鑫xin哥  阅读(7902)  评论(0编辑  收藏  举报