长亭百川云 - 文章详情

点击上方蓝字“小谢取证”一起玩耍

    目前越来越多的红蓝对抗中,钓鱼邮件攻击使用的越来越频繁,也是比较高效的一种打点方式,常见的钓鱼邮件攻击一种是直接通过二维码、内嵌链接、直接索要敏感信息等方式钓运维人员、内部人员相关的管理账号密码,另一种通过携带 exe、execl、word 等附件(附件中要么包含恶意代码、宏代码、要么是远控 exe)的方式,诱导运维人员、内部员工点击相关的附件,以达到控制运维人员或者内部员工电脑的权限。但是一般项目中实施周期较短,并且需要进行数据统计等,接下来我们就讲解如何通过 Gophish 快速搭建邮件钓鱼平台。

gophish 平台搭建

gophish 项目地址:https://github.com/gophish/gophish

docker 部署:

docker pull gophish/gophish docker run -d -p88:80 -p443:3333 -p8080:8080 gophish/gophish

注意 VPS 端口放行。

找到与自己系统合适的版本下载到 VPS 上并解压:

wget https://github.com/gophish/gophish/releases/download/v0.12.0/gophish-v0.12.0-linux-64bit.zip unzip gophish-v0.12.0-linux-64bit.zip

进入解压出来的文件夹中修改配置文件 config.json

  1. 1.admin_server 是后台管理页面,我们要将 listenurl 中的 127.0.0.1 改为 0.0.0.0,默认开放的端口为 3333。改为 0.0.0.0 表示任意地址可远程访问,use_tls 表示是否启用 https,默认为 true,则访问时需使用 https。

  2. 2.phish_server 是钓鱼网站,默认开放 80 端口。listenurl 也要是 0.0.0.0,如果 80 端口被占用了可以改为其他端口比如 81。

修改完成后启动 gophish:nohup sudo ./gophish &,启动成功后查看当前目录下的 nohup.out 文件获取初始账号密码:

然后,访问 https://your-ip:3333/ 即可登录管理后台(注意使用 https 协议),登录后会要求修改密码,修改完成即可进入到后台管理页面:

gophish 平台使用

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

Sending Profiles 发件策略

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

点击 New Profile
 新建一个策略,依次来填写各个字段 Name:Name 字段是为新建的发件策略进行命名,不会影响到钓鱼的实施,建议以发件邮箱为名字,例如如果使用 QQ 邮箱来发送钓鱼邮件,则 Name 字段可以写 xxx@qq.com

Interface Type:Interface Type 是接口类型,默认为 SMTP 类型且不可修改,因此需要发件邮箱开启 SMTP 服务

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

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

Username:Username 是 smtp 服务认证的用户名,例如 qq 邮箱,Username 则是自己的 qq 邮箱号:xxxx@qq.com

Password:Password 是 smtp 服务认证的密码,例如 qq 邮箱,需要在登录 qq 邮箱后,点击 设置
 -> 账户
 -> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
 生成授权码,Password 的值则可以填生成的授权码:

Email Headers(可选): Email Headers 是自定义邮件头字段,例如邮件头的 X-Mailer 字段,若不修改此字段的值,通过 gophish 发出的邮件,其邮件头的 X-Mailer 的值默认为 gophish。以 qq 邮箱为例,可找一个已发送邮件显示邮件原文
来获取 X-mailer 头内容: X-QQ-Mailer: QQMail 2.x

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

最好的方式是使用自己的服务器,申请近似域名,搭建邮件服务器来发件。

Landing Pages 钓鱼页面

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

Name:Name 是用于为当前新建的钓鱼页面命名,可以简单命名为钓鱼页面1

Import Site:与钓鱼邮件模板的编辑一样,gophish 为钓鱼页面的设计也提供了两种方式,第一种则是 Import Site 点击 Import Site 后,填写被伪造网站的 URL,再点击 Import
,即可通过互联网自动抓取被伪造网站的前端代码。这里以伪造网易邮箱登录界面为例,在 Import Site
 中填写 https://mail.163.com/
,并点击 import

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

由于编码的不同,有时候直接通过 Import Site
 导入的网站,其中文部分多少存在乱码现象,这时候就需要查看源码并手动修改。

(重点)Capture Submitted Data: 通常,进行钓鱼的目的往往是捕获受害用户的用户名及密码,因此,在点击 Save Page
 之前,一定要勾选 Capture Submitted Data
,当勾选了 Capture Submitted Data
 后,页面会多出一个 Capture Passwords
 的选项,显然是捕获密码。通常,可以选择勾选上以验证账号的可用性。如果仅仅是测试并统计受害用户是否提交数据而不泄露账号隐私,则可以不用勾选。

另外,当勾选了 Capture Submitted Data
 后,页面还会多出一个 Redirect to
,其作用是当受害用户点击提交表单后,将页面重定向到指定的 URL。可以填写被伪造网站的 URL,营造出一种受害用户第一次填写账号密码填错的感觉。(一般来说,当一个登录页面提交的表单数据与数据库中不一致时,登录页面的 URL 会被添加上一个出错参数,以提示用户账号或密码出错,所以在 Redirect to
 中,最好填写带出错参数的 URL,例如 https://mail.XX.com/cgi-bin/loginpage?errtype=1

填写好以上参数,点击 Save Page
,即可保存编辑好的钓鱼页面。

Email Templates 邮件模板

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

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

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

用户可以先在自己的邮箱系统中设计好钓鱼邮件,然后发送给自己或其他伙伴,收到设计好的邮件后,打开并选择导出为 eml
 文件或者显示邮件原文,然后将内容复制到 gophish 的 Import Email
 中,即可将设计好的钓鱼邮件导入;或者直接使用收到的正规邮件,如阿里云告警通知等,导出为 eml 文件再导入:

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

Users & Groups 用户和组

当完成上面三个功能的内容编辑,钓鱼准备工作就已经完成了 80%,Users & Groups
 的作用是将钓鱼的目标邮箱导入 gophish 中准备发送。

Name:Name 是为当前新建的用户组命名,这里简单命名为目标1组

Bulk Import Users:Bulk Import Users 是批量导入用户邮箱,它通过上传符合特定模板的 CSV 文件来批量导入目标用户邮箱,点击旁边灰色字体的 Download CSV Template
 可以下载特定的 CSV 模板文件。模板文件中的 Email
 是必填项,其余的 Frist Name
、Last Name
、Position
 可选填。

Add:除了批量导入目标用户的邮箱,gophish 也提供了单个邮箱的导入方法,这对于开始钓鱼前,钓鱼组内部测试十分方便,不需要繁琐的文件上传,直接填写 Email
 即可,同样其余的 Frist Name
、Last Name
、Position
 可选填。

编辑好目标用户的邮箱后,点击 Save Changes
 即可保存编辑好的目标邮箱保存在 gophish 中。

Campaigns 钓鱼事件

Campaigns 的作用是将上述四个功能 Sending Profiles
、Email Templates
、Landing Pages
、Users & Groups
 联系起来,并创建钓鱼事件。在 Campaigns 中,可以新建钓鱼事件,并选择编辑好的钓鱼邮件模板,钓鱼页面,通过配置好的发件邮箱,将钓鱼邮件发送给目标用户组内的所有用户。

点击 New Campaign
 新建一个钓鱼事件。

Name: Name 是为新建的钓鱼事件进行命名,这里简单命名为:一次钓鱼测试

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

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

(重点)URL: URL 是用来替换选定钓鱼邮件模板中超链接的值,该值指向部署了选定钓鱼页面的 url 网址(这里比较绕,下面具体解释一下,看完解释再来理解这句话)

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

而我们对端口映射做了修改,将 80 端口映射到了 88 端口,所以,这里的 URL 填写我本地当前运行 gophish 主机的 IP 对应的 url,即 http://104.xx.xx.xx:88/

另外,需要保证的是该 URL 对于目标用户组的网络环境是可达的。例如填写内网 IP,则该钓鱼事件仅能够被内网目标用户所参与,而外网目标用户网络不可达。如果部署了 gophish 的是公网服务器,URL 填写公网 IP 或域名,则需要保证目标用户的内网环境能够访问该公网服务器的 IP(有些企业的内网环境会设定防火墙策略,限制内网用户能够访问的公网 IP)

Launch Date: Launch Date 即钓鱼事件的实施日期,通常如果仅发送少量的邮箱,该项不需要修改。如果需要发送大量的邮箱,则配合旁边的 Send Emails By
 效果更佳。

Send Emails By: Send Emails By
 配合 Launch Date
 使用,可以理解为当前钓鱼事件下所有钓鱼邮件发送完成的时间。Launch Date
 作为起始发件时间,Send Emails By
 作为完成发件时间,而它们之间的时间将被所有邮件以分钟为单位平分。

假设,Launch Date
 的值为 2022.09.01,09:00
,Send Emails By
 的值为 2022.09.01,09:05
,该钓鱼事件需要发送 50 封钓鱼邮件。那么经过以上设定,从 9:00
 到 9:05
 共有 5 个发件点,这 5 个发件点被 50 封邮件平分,即每个发件点将发送 10 封,也就是每分钟仅发送 10 封。

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

Sending Profile: Sending Profile 即发件策略,这里选择刚刚编辑好的名为 XXXXX@qq.com 的发件策略。

Groups: Groups 即接收钓鱼邮件的目标用户组,这里选择刚刚编辑好的名为目标1组
的目标用户组。

填写完以上字段,点击 Launch Campaign
 后将会创建本次钓鱼事件。(注:如果未修改 Launch Date
,则默认在创建钓鱼事件后就立即开始发送钓鱼邮件)

Dashboard 仪表盘

当创建了钓鱼事件后,Dashboard
 会自动开始统计数据。统计的数据项包括邮件发送成功的数量及比率,邮件被打开的数量及比率,钓鱼链接被点击的数量及比率,账密数据被提交的数量和比率,以及收到电子邮件报告的数量和比率。另外,还有时间轴记录了每个行为发生的时间点:

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

至此,一次在 gophish 发起的钓鱼事件所需实施步骤就已经全部完成,接下来就等着鱼儿上钩

查看捕获的数据

模拟目标用户的行为,打开上述发送的钓鱼邮件。

点击超链接,跳转到部署好的钓鱼页面,发现与真实的邮箱登录界面无差别。观察网站的 URL,可以看到钓鱼邮件中的超链接指向的就是之前在新建 Campaigns
 的表单中填写的 URL,只不过后面多了一个 rid
 参数。

这里的 ?rid=nSiZXYc
 具有唯一性,即唯一指向打开的这封钓鱼邮件,换句话说 nSiZXYc 是为这封邮件的收件人唯一分配的。

如果此次名为一次钓鱼测试
的 Campaigns
 选择的目标存在多个目标邮箱,则 gophish 会为每一封目标邮件分配一个唯一的 rid
 值,以此来区别不同的收件人。

点击邮件中的超链接,填写账号密码登录,之后在 gophish 中查看捕获的数据,依次点击 Campaigns
 -> 一次钓鱼测试的 View Results
 -> 展开 Details
 -> 展开 Submitted Data
,可以看到在钓鱼页面提交的账密信息:

  以上即 gophish 功能面板中所有功能的介绍,通过以上功能的学习和利用,已经可以实施较为基础的网络钓鱼了。而 Sending Profiles 发件策略 - Landing Pages 钓鱼页面 - Email Templates 邮件模板 - Users & Groups 用户和组 - Campaigns 钓鱼事件 - Dashboard 仪表板 的顺序也是在实际使用中需要按照的顺序,如果前一步不能配置好,将会影响到后续的功能达不到想要的效果。因此,严格遵循该步骤不说可以事半功倍,至少能避免在成为 “捕鱼人” 的道路上迷失。

 

敬请各位大佬关注:小谢取证

点赞、好看的你

最好看

↓↓↓


相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2