GoPhish钓鱼

作者:xiaowu 日期: 分类:xiaowu 浏览:1219

概念

Gophish项目地址:https://github.com/gophish/gophish
Gophish官网地址:https://getgophish.com/

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

安装

wget  
//下载压缩包
mkdir gophish
//创建文件夹
unzip gophish-v0.10.1-linux-64bit.zip -d ./gophish
//解压
vi config.json
//修改配置文件
{
		//后台管理配置
        "admin_server": {
                "listen_url": "0.0.0.0:3333",  // 远程访问后台管理
                "use_tls": true,
                "cert_path": "gophish_admin.crt",
                "key_path": "gophish_admin.key"
        },
        "phish_server": {
                "listen_url": "0.0.0.0:81",    //部署钓鱼页面
                "use_tls": false,
                "cert_path": "example.crt",
                "key_path": "example.key"
        },
        "db_name": "sqlite3",
        "db_path": "gophish.db",
        "migrations_prefix": "db/db_",
        "contact_address": "",
        "logging": {
                "filename": "",
                "level": ""
        }
}
./gophish
//运行脚本

访问

浏览器访问https://ip:3333

image.png

输入默认账密进行登录:admin/gophish

功能介绍


进入后台后,左边的栏目即代表各个功能,分别是Dashboard仪表板 、Campaigns钓鱼事件 、Users & Groups用户和组 、Email Templates邮件模板 Landing Pages钓鱼页面 、Sending Profiles发件策略六大功能 由于实际使用中并不是按照该顺序来配置各个功能,因此下面通过实际使用顺序来详细介绍各功能的使用方法

Sending Profiles 发件策略

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

Name:

Name字段是为新建的发件策略进行命名,不会影响到钓鱼的实施,建议以发件邮箱为名字,例如如果使用qq邮箱来发送钓鱼邮件,则Name字段可以写xxxxxx@qq.com

From:
From 是发件人,即钓鱼邮件所显示的发件人。(在实际使用中,一般需要进行近似域名伪造)这里为了容易理解,就暂时以qq邮箱为例,所以From字段可以写:test<xxxxxx@qq.com

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

//有的服务器25端口关闭,这里可用465端口发送,如smtp.qq.com:465


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

配置好如下图

image.png

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

Landing Pages 钓鱼页面

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

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

Import Site:

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

点击Import Site后,填写被伪造网站的URL,再点击Import,即可通过互联网自动抓取被伪造网站的前端代码

这里以伪造XX大学电子邮箱登录界面为例,在Import Site中填写https://mail.XX.edu.cn/cgi-bin/loginpage,并点击import

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

Capture Submitted Data:

捕获受害用户的用户名及密码

捕获不到数据的原因:

【捕获不到提交的数据】导入后要在HTML编辑框的非Source模式下观察源码解析情况,如果明显发现存在许多地方未加载,则有可能导入的源码并非页面完全加载后的前端代码,而是一个半成品,需要通过浏览器二次解析,渲染未加载的DOM。这种情况下,除非能够直接爬取页面完全加载后的前端代码,否则无法利用gophish进行钓鱼,造成的原因是不满足第2点。 

【捕获不到提交的数据】导入的前端源码,必须存在严格存在<form method="post" ···><input name="aaa" ··· /> ··· <input type="submit" ··· /></form>结构,即表单(POST方式)— Input标签(具有name属性)Input标签(submit类型)— 表单闭合的结构,如果不满足则无法捕获到提交的数据 

【捕获不到提交的数据】在满足第2点的结构的情况下,还需要求<form method="post" ···>在浏览器解析渲染后(即预览情况下)不能包含action属性,或者action属性的值为空。否则将会把表单数据提交给action指定的页面,而导致无法被捕获到 

【捕获数据不齐全】对于需要被捕获的表单数据,除了input标签需要被包含在<form>中,还需满足该<input>存在name属性。例如<input name="username">,否则会因为没有字段名而导致value被忽略 

【密码被加密】针对https页面的import,通常密码会进行加密处理,这时需要通过审计导入的前端代码,找到加密的JavaScript函数(多数情况存在于单独的js文件中,通过src引入),将其在gophish的HTML编辑框中删除,阻止表单数据被加密

配置好如下

image.png



Email Templates 钓鱼邮件模板

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

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

Import Email:

gophish为编辑邮件内容提供了两种方式,第一种就是Import Email

用户可以先在自己的邮箱系统中设计好钓鱼邮件,然后发送给自己或其他伙伴,收到设计好的邮件后,打开并选择导出为eml文件或者显示邮件原文,然后将内容复制到gophish的Import Email中,即可将设计好的钓鱼邮件导入

image.png

在点击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,就能保存当前编辑好的钓鱼邮件模板

配置好如下

image.png


Users & Groups 用户和组

就是导入目标用户,这里就不多赘述

image.png

Campaigns 钓鱼事件

Name:
Name 是为新建的钓鱼事件进行命名

Email Template:
Email Template 即钓鱼邮件模板,这里选择刚刚上面编辑好的钓鱼邮件模板

Landing Page:
Landing Page 即钓鱼页面,这里选择刚刚上面编辑好的名为钓鱼页面1的XX大学邮箱登录页面的钓鱼页面

URL:

是用来替换选定钓鱼邮件模板中超链接的值,该值指向部署了选定钓鱼页面的url网址。 简单来说,这里的URL需要填写当前运行gophish脚本主机的ip。 因为启动gophish后,gophish默认监听了3333和81端口,其中3333端口是后台管理系统,而81端口就是用来部署钓鱼页面的。 当URL填写了http://主机IP/,并成功创建了当前的钓鱼事件后。gophish会在主机的81端口部署当前钓鱼事件所选定的钓鱼页面,并在发送的钓鱼邮件里,将其中所有的超链接都替换成部署在80端口的钓鱼页面的url

其他地方依次填就行

image.png

实例测试

image.png

点击链接打开,是gophish部署的钓鱼页面

image.png

当对方输入账号密码后就能收到信息

image.png


关键词:

网友评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。