Gophish钓鱼平台不完全指北
项目地址:https://github.com/gophish/user-guide/用户指南:https://docs.getgophish.com/user-guide/接口文档:https://docs.getgophish.com/api-documentation/
🎣Gophish钓鱼平台不完全指北
项目地址:https://github.com/gophish/user-guide/
用户指南:https://docs.getgophish.com/user-guide/
接口文档:https://docs.getgophish.com/api-documentation/
文章目录
一、🔧Gophish平台搭建与配置
1、Gophish搭建
1、下载压缩包,并解压
#1、下载压缩包
wget https://github.com/gophish/gophish/releases/download/v0.11.0/gophish-v0.11.0-linux-64bit.zip
#2、解压
unzip gophish-v0.11.0-linux-64bit.zip
2、配置远程访问
将红框处改为0.0.0.0,否则无法远程访问管理后台(此处浪费了我两小时)
3、添加执行权限并运行
#1、添加可执行权限
chmod +x ./gophish
#2、启动
./gophish
启动后会再终端生成一个初始密码
访问https://xx.xx.xx.xx:3333,使用默认账户admin登录系统
2、配置文件
###修改配置文件
vim ./config.json
###
{
"admin_server": {
"listen_url": "0.0.0.0:8088", //修改默认端口
"use_tls": true,
"cert_path": "gophish_admin.crt",
"key_path": "gophish_admin.key"
},
"phish_server": {
"listen_url": "0.0.0.0:443", //https开启443端口
"use_tls": true,
"cert_path": "access.a.com.crt", //修改证书
"key_path": "access.a.com.key" //修改证书
},
"db_name": "sqlite3", //数据库支持MySQL
"db_path": "gophish.db",
"migrations_prefix": "db/db_",
"contact_address": "",
"logging": {
"filename": "/var/log/gophish/gophish.log", //日志记录,需要先创建目录和文件,否则无法运行
"level": ""
}
}
3、钓鱼页面启用HTTPS
申请免费SSl证书
安装ssl证书(letsencrypt):
# 你的gophish目录
cd /gophish
#安装certbot
sudo apt install certbot
#关闭gophish
sudo kill $(pidof gophish)
#生成证书,多域名可用逗号隔开
sudo certbot certonly -d access.a.com --standalone
#建立软连接
ln -s /etc/letsencrypt/live/xxxx.com/privkey.pem xxxx.key
ln -s /etc/letsencrypt/live/xxxx.com/fullchain.pem xxxx.crt
打开gophish配置文件config.json
访问我们的钓鱼页面,浏览器就不会显示不安全的站点
4、启用日志功能
需要先创建目录和文件,否则无法运行
"logging": {
"filename": "/var/log/gophish/gophish.log",
"level": ""
}
二、⌛Gophish平台使用
1、配置发送策略(Sending Profiles)
首先需要配置邮件发送策略
-
Interface Type:接口类型,默认为smtp且不可更改,因此发送邮件的邮箱需要开启SMTP服务。
-
Host: SMTP服务器地址
-
Username: SMTP服务器认证的用户名
-
Password: SMTP服务器认证的口令
-
Email Headers:自定义邮件头部信息,可按需填写。
Header | Value |
---|---|
X-Mailer | Coremail Webmail Server Version XT5.0.13 build 20201231(b63a4d0a) |
配置完成后,可使用Send Eest EMail
功能发送测试邮件
填写好相应信息后,可通过**********Send Test Email***
*******发送测试邮件,确认发件邮箱能否正常发送邮件:
2、制作钓鱼页面(Landing Pages)
配置好发送策略后,就可以开始编写钓鱼页面了。
Gophish提供了两种钓鱼页面设置方式,一是直接克隆,二是使用内置编辑框编辑钓鱼页面。通常使用克隆功能并不能完美克隆一个钓鱼页面,因此绝大多数情况下需要两种方法共同使用。编写过程中,可使用预览功能查看页面,直至满意为止。
页面调试完毕后,记得勾选Capture Submitted Data
、Capture Passwords
,否则无法捕获用户提交数据。
最后,Gophish还提供了一个重定向功能。为了使整个钓鱼过程形成一个完整的闭环,通常需要在用户提交数据后,将页面跳转至一个可信的、真实的页面,以降低被发现的风险。所以,在这个重定向链接中,最好是一个带有报错参数的原始页面的URL。
问题一:页面无法克隆或克隆页面部分内容缺失
目标网站使用了前端框架的话(例如vue)会导致克隆失败,页面无法显示,需要自己保存网站页面并修改HTML代码,VUE框架由于使用js来触发form动作,需要注释并自己添加from代码。
<form action="" autocomplete="off" class="ivu-form ivu-form-label-right" enctype="application/x-www-form-urlencoded" method="post">
若无法使用克隆功能克隆页面,可以使用浏览器访问页面,等页面完全加载后,F12
审查元素,将所有代码复制到编辑框中,再手动修改至与原页面一致。
若导入后要在HTML编辑框的非Source模式下观察源码解析情况,如果明显发现存在许多地方未加载,则有可能导入的源码并非页面完全加载后的前端代码,则可先使用克隆功能克隆页面,再使用浏览器F12
审查元素,找到缺失的部分代码,手动复制到模板相应位置。
问题二:无法捕获用户提交数据或捕获数据不完整
若未捕获到数据,请检查Form表单格式,需严格包含如下内容:
<form method="post" ···><input name="aaa" ··· /> ··· <input type="submit" ··· /></form>
-
表单提交方式为POST,
<input>
标签是submit
类型。 -
在浏览器解析后不能action属性,或者action属性为空。否则将会把表单数据提交给action指定的页面,而导致无法被捕获到。
-
<input>
标签需存在name
属性,例如<input name="username">
,否则会因为没有字段名而导致value
被忽略,导致提交数据不完整。
示例代码:
<form action="" method="POST">
<input name="username" type="text" placeholder="username" />
<input name="password" type="password" placeholder="password" />
<input type="submit" value="Submit" />
</form>
3、编写钓鱼邮件(Email Templates)
完成了钓鱼页面编写之后,接下来需要去编写钓鱼邮件的内容,点击New Template
新建钓鱼邮件模板。具体功能如下图所示:
使用Import Email
功能导入邮件,首先我们需要在自己的邮箱中编辑好钓鱼邮件,然后将邮件导出为eml
格式的文件,然后将内容复制到gophish的Import Email
中。
勾选Change Links to Point to Landing Page
后,gophish会将邮件中的超链接的值替换为{{.URL}}
。{{.URL}}
是一个模板变量,变量值可在Campaigns
创建钓鱼任务时设置,会将邮件中的超链接转变为钓鱼网站的URL。
勾选Add Tracking Image
后,gophish会在邮件原文末尾加入一个跟踪图像:{{.Tracker}}
,用来跟踪收件人是否打开邮件。
<img alt='' style='display:none' src='http://example.com/track?ri=
d=3DzJrDrkG'/>
当收件人打开邮件时,浏览器就会请求这个图像,当gophish收到请求后,根据请求链接中的rid
参数就可以对应到哪个收件人打开了钓鱼邮件。
可以使用Add Files
功能向邮件内添加附件,可以配合免杀木马诱导受害用户下载并打开。
模板变量参考
如下模板变量可在Email Templates
、Landing Pages
中使用,模板使用要严格区分大小写。
用户名处插入变量:{{.FirstName}},程序发送邮件的时候会自动插入对应的用户名。
Variable | 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 <img src="{{.TrackingURL}}"/> |
{{.URL}} | The phishing URL |
{{.BaseURL}} | The base URL with the path and rid parameter stripped. Useful for making links to static files. |
4、设置目标人群(Users & Groups)
如上工作全部完毕后,就可以使用Users & Groups
功能将目标人群添加至Gophish中。
我们可以使用Bulk Import Users
功能批量导入邮箱,首先需要使用Download CSV Template
下载邮箱模板。还可以使用Add
逐个添加目标。
邮箱模板如下所示:
名字我只用FirstName,后面邮件内容模板可能用到这个变量FirstName。
导入的邮箱不能存在空格,并且需要保证是正确的邮箱地址,否则会出现乱码,影响后续邮件发送。
5、发送钓鱼邮件(Campaigns)
完成以上步骤,就可以开始快乐的捕鱼了。最后一步,我们需要使用Campsigns
下发一个发件任务。
URL后的文件路径是可以任意设置的,不管文件路径是什么都会指向我们的钓鱼页面。
gophish默认监听了3333
和80
端口,其中3333
端口是后台管理系统,而80
端口就是用来部署钓鱼页面的。创建了钓鱼事件后,gophish会在主机的80
端口部署当前钓鱼事件的钓鱼页面。这里将URL
设置为我们钓鱼链接的地址(收件人可以访问),程序会在每封邮件内容中替换{{.URL}}
变量,并创建一个唯一的rid
,用于区分目标。
设置邮件发送速率,发送速率尽可能低,这样有利于绕过垃圾邮件频率检测(同域最多600封/小时)。
当大量发送邮件时,我们需要设置Launch Date
和Send Emails By
。Launch Date
作为起始发件时间,Send Emails By
作为完成发件时间。设置按日期发送电子邮件会告诉 Gophish 在开始日期和截至日期之间均匀发送电子邮件。
这样的好处在于,当需要发送大量的钓鱼邮件,而发件邮箱服务器并未限制每分钟的发件数,那么通过该设定可以限制钓鱼邮件发送速率,从而防止因短时间大量邮件抵达目标邮箱而导致的垃圾邮件检测,甚至发件邮箱服务器IP被目标邮箱服务器封禁。
6、查看钓鱼结果(Dashboard)
Dashboard
中可以看到所有钓鱼任务的结果。
可以点击上图中的按钮,单独查看每个钓鱼任务的结果。
查看捕获的数据
整个结果可以通过Export CSV
导出
-
Results–>查看、点击、提交结果统计
-
Raw Events–>捕获的数据
二维码
https://tool.oschina.net/action/qrcode/generate?data={{.URL}}&output=image%2Fgif&error=L&type=0&margin=0&size=4
更多推荐
所有评论(0)