在使用GoPhish的Microsoft 365租户上启动教学网络钓鱼模拟

我的目标

为了提高我使用的Microsoft 365租户用户的认识,我研究了如何创建一个网络钓鱼活动来『捕获』他们并触发有关此主题的培训。

预防信息和数字卫生运动是不够的,需要具体的事实来激发人们的意识。

免责 声明

冒着重复自己的风险,我的目标不是发起直接邮件活动或网络钓鱼,这是一个教学活动。

请注意,如果您不是租户的管理员来攻击,下面解释的元素将无法工作,因为您必须授权GoPhish IP,未经此授权,网络钓鱼活动将被Microsoft的安全系统阻止(谢谢!)


使用的工具

  • 显然,我使用Microsoft 365租户,我将要求授权发送我的活动IP以及著名的5321.MailFrom(或信封发送者)。

  • GoPhish 在 0.12.1 版本的 RETEX 写作之日

  • Amazon 的 AWS 平台,更具体地说是 EC2 实例

创建 Amazon AWS 账户 

先走5步,然后:

我在 EC2 上创建一个实例

我对这部分的解释都是完全免费的,我们可以从中受益。 为期一年的招标, 这足以满足我的需要。


您必须在 AWS 上创建帐户,然后转到 亚马逊 EC2

在右上角,检查您是否在欧洲/巴黎地区

然后


我下载密钥文件,小心取一个ppk文件,而不是pem。

一旦所有东西都安装并启动,我就拥有了绿色的一切:

我配置实例的安全组

作为安全措施,我已经通过实例创建向导保留了对我唯一的IP地址的SSH访问,现在我需要配置供GoPhish使用的端口。

我去网络和安全组,我选择启动向导组,传入规则,修改传入的规则。

我添加了一个自定义的TCP条目,端口号不是3333,这将是我将用于GoPhish的端口号,例如8531。

我使用弹性IP地址(可选)

为了始终具有相同的 IP 地址,我使用此功能。

请注意,弹性 IP 地址在不与正在运行的实例相关联时付费。 这意味着,如果您预订弹性IP地址但不使用它,您将被收取费用。 但是,一旦弹性 IP 地址与正在运行的实例相关联,只要实例正在运行并且 IP 地址与该实例相关联,您将不会被收取费用。 如果实例被停止或终止,您仍然可以因使用弹性 IP 地址而被收取费用,除非您将其与实例分离或释放。

安装 Putty 

Putty将允许我在SSH中连接到我的EC2实例,这是一个安全的方式与密钥集(私有/公有)。

我需要检索实例上的连接设置。

为此,我右键单击实例,然后『登录』 / SSH 客户端。

我注意到给我的公共DNS,它将为Putty的主机服务。

我启动 Putty,我添加了主机:

然后指定上面创建的私钥文件:

为了使它更简单,我在连接/数据中添加用户ubuntu作为自动登录。

我开始连接,没关系,我有Ubuntu命令行。

安装 GoPhish

我将寻找需要下载的最新版本。 官方 Github Depository.

在RETEX创建之日,最新版本在这里:
https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip

在 Ubuntu 命令行中,我加载 zip 文件并将其解包为 Option/:

wget https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip sudo apt install unzip unzip unzip GoPhish-v0.12.1-linux-64bit.zip -d ./gophish rm GoPhish-v0.12.1-linux-64bit.zip sudo chmod +x ./gophish/GoPhish


我必须配置 GoPhish IP 及其端口。
为此,我修改了config.json文件。

CD GoPhish vim config.json

我在 listen_url 行上用 0.0.0.0:8531 替换 127.0.0.1:3333

我 扔 GoPhish

./gophish

我收到一条错误消息,可能是非根用户监听端口80的安全性,我很快就试图用ipfw解决这个问题,但它不是在我的机器和iptables上,我没有什么更令人满意的了。 这是相当丑陋和不明智的,但由于我的Ec2实例不会继续生产,我推出了一个:

sudo ./gophish

好吧 我的GoPhish发射了 

在命令行的文本中,我检索了行上给我的密码。

请使用用户名管理员和密码 xxx 登录

我想使用GoPhish而不保持我的SSH窗口打开(可选)

我在这里添加了这个段落以获得更多的一致性,但是当GoPhish将手动工作时,它可以在稍后运行。

我授权推出GoPhish,而不是root(sudo)

避免使用命令 sudo 的 要启动 GoPhish,我将授权用户 Ubuntu Ubuntu 》 在端口 80 上进行交互,这是一个特权端口。 确实是命令 Cap_net _bind _ 服务 允许此可执行文件(GoPhish)将网络套接字链接到数字小于或等于1024的端口,即使它不是作为root用户运行。

sudo setcap 'cap_net _bind _service=+ep' /home/ubuntu/GoPhish/GoPhish

因此,从现在开始,不需要输入sudo来启动GoPhish,命令可以是:

./gophish


打开 gophish_admin.key 错误消息: 拒绝许可

如果出现此错误消息,则必须更改 gophish_admin.key 文件的权限。

以下是命令:

CD ~/gophish ls -l gophish_admin.key sudo chmod 644 gophish_admin.key sudo chown ubuntu:ubuntu gophish_admin.key ls -l gophish_admin.key ./gophish_admin.key ./gophish

 

我宣布GoPhish是一种服务。

我将添加一个文件 gophish. 服务 在 /etc/systemd/system/gophish.service 中

[Unit] 描述=GoPhish Service After=network.target [Service] ExecStart=/home/ubuntu/GoPhish Type=简单的PIDFile=/var/run/GoPhish User=ubuntu WorkingDirectory=home/ubuntu/GoPhish [Install] WantedBy=default.target。

为了不必输入所有内容,我把它放在一个要点上,直接检索它:

sudo wget https://gist.githubusercontent.com/sigalou/267349eada979e07c99dc5944253169c/raw/e5d8769bb86b40e15ad0c4631629d575e440199a/gophish.service -O /etc/systemd/system/gophish.service

这可以通过以下方式进行测试:

sudo systemctl daemon-reload sudo systemctl 启用 GoPhish sudo systemctl 启动 GoPhish sudo systemctl 状态 GoPhish

我重新启动我的身体,没关系,GoPhish自动开始。

我要启动GoPhish。

回到我的浏览器中,我注意到实例的弹性ip或公共ip,我粘贴这个地址后面跟着:8531,这是上面定义的端口。

https://13.36.81.72:8531。

在这里,我们使用"admin"和在启动时记录在命令行上的密码。 GoPhish立即要求更改密码,我们已连接到GoPhish。

我正在向 Tenant 365 添加一个 'trapper' 用户

通过登录作为有权管理用户的管理员,我添加一个新用户。

我选择使用我编造的用户,就好像它是微软帐户管理的官方帐户一样。

我甚至给他贴了一个漂亮的标志,这是严肃的。

当然,我给了他一个许可证,允许他有一个电子邮件帐户,然后我去。 邮件 邮件 那么这个用户 邮件 软件 我至少会检查盒子。 认证 SMTP.

为了让我的生活更轻松,不必将此框添加到信件中,我将此框中收到的所有电子邮件转移到邮件/传输邮件中的电子邮件地址。

我配置 Microsoft Defender 以允许 GoPhish

微软已经计划好了一切。 他们考虑在付费许可证上提供教育钓鱼活动(Defender Plan 2许可证),但他们也考虑允许他们手动授权来无钱黑客。

我扔了 微软 Defender.

然后 战略和规则

然后 威胁策略/高级折扣

最后,Tab 网络钓鱼模拟

谢谢西加罗!!!!!!!! 我们不得不找到这个标签。 

然后您必须配置 田野 场 以及 PI 的.

域是将发送电子邮件的域的地址,这对应于我在GoPhish中指定的SMTP域。

IP是实例的弹性或公共IP。

配置 GoPhish SMTP

回到GoPhish,我要去 发送 配置 文件 我将创建一个用于发送消息的配置文件:

谢谢按钮 发送 测试 邮件, 我可以检查一切是否完美,我收到一条消息

在这个阶段,这已经是一个非常好的个人胜利了,我已经能够配置虚拟机,安装GoPhish,配置它,找出如何通过允许这种操作来不被微软的安全所困……测试电子邮件来了! 对于那些发现我的RETEX的人来说,不要想象写这个页面需要时间,这是几个小时的操纵(和学习)。

我将恢复租户 Microsoft 365 的所有用户

两种恢复用户的方法,最简单的M365管理中心的图形界面,否则可以通过Powershell命令完成。

我不会解释这第二种做事的方式, 弗洛里安 · 解释它在其 优秀 教程.

我采取最简单的公式,去管理小组,然后。 活跃用户 然后 导出用户.

导出进展顺利,我在Excel中的文件上工作一点,以删除不必要的列和不是用户的行。 所以我有一个完美的Excel文件,有4列,我用分隔符中的逗号启动CSV记录,以便能够导入GoPhish。

我将用户注入到 GoPhish 组中

我添加一个新组,我开始导入我的CSV文件。

现在我有一个新的团队准备好了!

我配置钓鱼邮件

这是该活动的收件人将收到的电子邮件。

为了做到这一点,我要求微软给我发一条消息,所以我保留了消息格式。 最后,这给出了:

我想指出,这是教学,不要问我页面的HTML代码,我认为这取决于每个人的工作。

我配置钓鱼页面

称为登陆页面,这个钓鱼页面是您想要捕获的用户在点击他们收到的电子邮件中提供给他们的链接时登陆的页面。

我去寻找不重新发明热水的模型(感谢Souleiman)

以下是我可以用来使M365登录页面尽可能逼真的最好的链接。

我正在考虑着陆页配置的结束,以检查电子邮件和密码的恢复情况。 我的想法是能够显示前两个字符,例如,在用户培训/意识提升期间的最后一个『被盗』密码。 请注意,恢复的密码是明确的,所以我将在教育网络钓鱼活动后几天触发所有用户的所有密码的更改。

当用户点击链接时 重新 连接 或者在蓝色按钮上重新连接,它降落在:

不要问我这个页面的HTML代码。

我发起钓鱼活动

总而言之,我创建了一个用户组,一个电子邮件模板,一个网络钓鱼页面,所以我可以去竞选活动。

当我按下启动活动时,电子邮件离开…

 

我稍后会回来给这里的竞选消息…

书目 目 目