Gophish 二维码说明Gophish 是一个开源的钓鱼模拟平台,主要用于测试和评估组织的安全意识。原版本默认不支持使用二维码进行网络钓鱼,通过修改官方版本源码,手动增加二维码功能。
Gophish 二维码制作下载 Gophish 源码到本地
git clone https://github.com/gophish/gophish/
打开编辑文件 /gophish/models/template_context.go
第9行,添加内容如下:
"os""github.com/google/uuid""io/ioutil""encoding/base64"qrcode "github.com/skip2/go-qrcode"
第32行,添加内容如下:
第70行,添加内容如下:
id, err := uuid.NewRandom()if err != nil { return PhishingTemplateContext{}, err}filename := id.String() + ".png" qrcode.WriteFile(phishURL.String(), qrcode.Medium, 256, filename)file, err := os.Open(filename)if err != nil { return PhishingTemplateContext{}, err}defer file.Close()data, err := ioutil.ReadAll(file)if err != nil { return PhishingTemplateContext{}, err}imgBase64 := "data:image/png;base64," + base64.StdEncoding.EncodeToString([]byte (data))os.Remove(filename)
第98行,添加内容如下:
Gophish 二维码部署完成修改后将整个 Gophish 代码文件夹重新打包成压缩包zip,上传到云服务器上,使用unzip命令解压。
在云服务器中安装 go 语言环境。
apt-get -y install golang
安装完成后,在解压出来的gophish文件夹中,使用 go 命令进行编译等待完成。
go get github.com/google/uuidgo get github.com/skip2/go-qrcodeenv CGO_CFLAGS="-g -O2 -Wno-return-local-addr" GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build
编译完成后,在当前目录下会得到 gophish 文件,赋予其777权限。
chmod -R 777 gophish
查看配置文件 vi config.json ,将admin_server的listen_url修改为0.0.0.0,默认端口3333,可以自定义未被其他服务占用的端口。
Gophish默认开启3333端口和80端口,在云服务器控制台的防火墙需要对外开放端口。为了安全起见,可以将Gophish后台地址3333端口设置指定IP访问。
gophish文件夹中,运行程序有以下方式:
方式一:前台运行
方式二:挂后台运行
方式三:推荐用tmux复用器运行
tmux new -s gophish-testcd gophish./gophishtmux attach -t gophish-testtmux list-sessiontmux kill-session -t gophish-test
首次执行Gophish程序,会打印出账号密码,需记录下来后续登录使用。
访问Gophish后台地址 https://vpsIP:3333 使用初始账号密码登录即可。
首次登录会提示修改密码,修改完即可登录成功。
至此,修改代码增加二维码功能后的 Gophish 钓鱼平台,重新编译并且搭建成功。
Gophish二维码使用登录 Gophish 钓鱼平台,点击 Email Tamples 功能,新建邮件模板,编辑内容如下
点击 Campaigns 功能,选择提前构造好的邮件文案、钓鱼页面、钓鱼地址、攻击者邮件、受害者邮箱,发送邮件即可。
钓鱼邮件发送成功后,受害者邮箱即可正常接收包含二维码的邮件,受害者拿出手机扫一扫,就可以访问跳转提前精心构造好的钓鱼页面。
0x05 gophish钓鱼效果在 Gophish 钓鱼平台上,可以捕获到受害者中招的整个过程时间线。
Gophish 钓鱼平台详细记录了受害者访问提交的数据。