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"

img

第32行,添加内容如下:

img

第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)

img

第98行,添加内容如下:

img

Gophish 二维码部署

完成修改后将整个 Gophish 代码文件夹重新打包成压缩包zip,上传到云服务器上,使用unzip命令解压。

在云服务器中安装 go 语言环境。

apt-get -y install golang

安装完成后,在解压出来的gophish文件夹中,使用 go 命令进行编译等待完成。

go get github.com/google/uuid
go get github.com/skip2/go-qrcode
env 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,可以自定义未被其他服务占用的端口。

img

Gophish默认开启3333端口和80端口,在云服务器控制台的防火墙需要对外开放端口。为了安全起见,可以将Gophish后台地址3333端口设置指定IP访问。

img

gophish文件夹中,运行程序有以下方式:

  • 方式一:前台运行
  • 方式二:挂后台运行
  • 方式三:推荐用tmux复用器运行
tmux new -s gophish-test

cd gophish

./gophish



tmux attach -t gophish-test

tmux list-session

tmux kill-session -t gophish-test

首次执行Gophish程序,会打印出账号密码,需记录下来后续登录使用。

img

访问Gophish后台地址 https://vpsIP:3333 使用初始账号密码登录即可。

img

首次登录会提示修改密码,修改完即可登录成功。

img

至此,修改代码增加二维码功能后的 Gophish 钓鱼平台,重新编译并且搭建成功。

Gophish二维码使用

登录 Gophish 钓鱼平台,点击 Email Tamples 功能,新建邮件模板,编辑内容如下

<img alt="img" src="{{.QrCode}}" />

img

点击 Campaigns 功能,选择提前构造好的邮件文案、钓鱼页面、钓鱼地址、攻击者邮件、受害者邮箱,发送邮件即可。

img

钓鱼邮件发送成功后,受害者邮箱即可正常接收包含二维码的邮件,受害者拿出手机扫一扫,就可以访问跳转提前精心构造好的钓鱼页面。

img

0x05 gophish钓鱼效果

Gophish 钓鱼平台上,可以捕获到受害者中招的整个过程时间线。

img

Gophish 钓鱼平台详细记录了受害者访问提交的数据。

img