网络钓鱼框架 Gophish 使用介绍

Gophish 是一个功能强大的开源网络钓鱼框架,可以轻松测试组织的网络钓鱼风险,专为企业和渗透测试人员设计。

Gophish

  • GitHub:https://github.com/gophish/gophish
  • 官网地址:https://getgophish.com/

安装 Gophish

下载 Gophish 对应版本 :https://github.com/gophish/gophish/releases,解压即可。

配置信息:

$ cat 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:80",
                "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": ""
        }
}

注意事项:

  • 若需要远程访问后台管理界面,将 listen_url 修改为 0.0.0.0:3333,端口可自定义。
  • 如果仅通过本地访问,保持 127.0.0.1:3333 即可。

运行 Gophish

运行 Gophish 脚本:

./gophish &

访问后台管理系统:

本地打开浏览器,访问 https://ip:3333/ (注意使用 https 协议)
可能会提示证书不正确,依次点击 高级继续转到页面 ,输入默认账密进行登录:admin/XXX

初始化密码位于启动日志中:

time="2021-09-28T17:52:08Z" level=info msg="Please login with the username admin and the password 4304d5255378177d"

功能介绍

进入后台后,左边的栏目即代表各个功能,分别是:

  • Dashboard 仪表板
  • Campaigns 钓鱼事件
  • Users & Groups 用户和组
  • Email Templates 邮件模板
  • Landing Pages 钓鱼页面
  • Sending Profiles 发件策略

如下图所示:

image-20210930105909701

Sending Profiles

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

点击 New Profile 新建一个策略,依次来填写各个字段:

image-20210930110737582

成功收到测试邮件:

image-20210930110942868

至此,发件邮箱的配置已经完成。

当然,在实际钓鱼中,不可能使用自己的私人邮箱去发送钓鱼邮件。

因此,如果需要大批量去发送钓鱼邮件,最好的方式是使用自己的服务器,申请近似域名,搭建邮件服务器来发件。

Landing Pages

Landing Pages(钓鱼页面)是设计由邮件中超链接指向的钓鱼网页。

点击 New Page 新建页面:

image-20210930140258214

Email Templates

Email Templates(钓鱼邮件模板)用来编写钓鱼邮件的内容。

点击 New Template 新建钓鱼邮件模板,依次介绍填写各个字段:

image-20210930141201445

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

Users & Groups

Users & Groups(用户和组)的作用是将钓鱼的目标邮箱导入系统中准备发送。

image-20210930142644442

Campaigns

Campaigns(钓鱼事件)的作用是将上述四个功能 Sending ProfilesEmail TemplatesLanding PagesUsers & Groups 联系起来,并创建钓鱼事件,发送钓鱼邮件。

在 Campaigns 中,可以新建钓鱼事件,并选择编辑好的钓鱼邮件模板,钓鱼页面,通过配置好的发件邮箱,将钓鱼邮件发送给目标用户组内的所有用户

image-20210930160048250

注意事项:

  • Send Emails By 配合 Launch Date 使用,可以理解为当前钓鱼事件下所有钓鱼邮件发送完成的时间。

    Launch Date 作为起始发件时间,Send Emails By 作为完成发件时间,而它们之间的时间将被所有邮件以分钟为单位平分

  • 这样的好处在于,当需要发送大量的钓鱼邮件,而发件邮箱服务器并未限制每分钟的发件数,那么通过该设定可以限制钓鱼邮件不受约束的发出,从而防止因短时间大量邮件抵达目标邮箱而导致的垃圾邮件检测,甚至发件邮箱服务器 IP 被目标邮箱服务器封禁

  • 如果未修改 Launch Date,则默认在创建钓鱼事件后就立即开始发送钓鱼邮件。

Dashboard

Dashboard(仪表板)自动开始统计数据。

统计的数据项包括:

  • Email Sent:邮件发送成功的数量及比率
  • Email Opened:邮件被打开的数量及比率
  • Clicked Link:钓鱼链接被点击的数量及比率
  • Submitted Data:账号密码数据被提交的数量和比率
  • Email Reported:收到电子邮件报告的数量和比率

另外,还有时间轴记录了每个行为发生的时间点。

关于电子邮件报告,详情参考:

https://docs.getgophish.com/user-guide/documentation/email-reporting

Dashboard 统计的是 所有钓鱼事件 的数据,而非单个钓鱼事件的数据,如果仅需要查看单个钓鱼事件的统计数据,可以在 Campaigns 中找到该钓鱼事件,点击 View Results 按钮查看。

image-20210930164040033

测试使用

  1. 在 Sending Profiles(发件策略)中,配置自己的个人邮箱地址。

  2. 在 Landing Pages(钓鱼页面)中,配置一个包含登录页的网站。比如 https://email.163.com/,进行加载后,保存页面。

  3. 在 Email Templates(钓鱼邮件模板)中,配置想要发送的邮件模块,如下所示:

    image-20211008191226045

  4. 在 Users & Groups(用户和组)中,配置收件人的地址列表。

  5. 在 Campaigns(钓鱼事件)中,关联上述配置。保存即可发送测试邮件。

  6. 在收件人邮箱中,即可查看钓鱼邮件。如下所示:

    image-20211008191409867

  7. 点击超链接 163 邮箱,发现钓鱼网站与 163 邮箱的登录地址非常类似,但网址完全不一样!!!

    image-20211008191558180

    当然,由于 163 邮箱的安全性做的极好,会在登录窗口进行提示:

    无法登录,请开启浏览器 cookies 或更换浏览器后刷新重试。

注意:

  • 最终钓鱼地址中的 ?rid=DYNJnZy 具有唯一性,即唯一指向打开的这封钓鱼邮件,换句话说 DYNJnZy 是为这封邮件的收件人唯一分配的
    如果此次钓鱼的 Campaigns 选择的目标存在多个目标邮箱,则 gophish 会为每一封目标邮件分配一个唯一的 rid 值,以此来区别不同的收件人。

参考资料

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