GWS - Google Platforms Phishing
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
Generic Phishing Methodology
Phishing Methodology - HackTricks
Google Groups Phishing
显然,默认情况下,在workspace成员可以创建群组 并邀请人加入。然后,您可以修改将发送给用户的电子邮件,添加一些链接。该电子邮件将来自谷歌地址,因此看起来合法,人们可能会点击链接。
还可以将发件人地址设置为Google群组电子邮件,以向群组内的用户发送更多电子邮件,如以下图像所示,其中创建了群组**google--support@googlegroups.com,并向该群组的所有成员发送了电子邮件**(这些成员是在没有任何同意的情况下添加的)
 (1).png)
Google Chat Phishing
您可能能够仅通过拥有他们的电子邮件地址开始与某人的聊天或发送邀请进行对话。此外,可以创建一个空间,可以有任何名称(例如“Google支持”)并邀请成员加入。如果他们接受,他们可能会认为自己正在与Google支持进行对话:
.png)
Tip
然而,在我的测试中,被邀请的成员甚至没有收到邀请。
您可以查看过去这是如何工作的:https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s
Google Doc Phishing
过去,可以创建一个看似合法的文档,并在评论中提到某个电子邮件(如 @user@gmail.com)。Google 向该电子邮件地址发送了一封电子邮件,通知他们在文档中被提到。
如今,这不再有效,但如果您给予受害者访问文档的权限,Google将发送一封电子邮件指示如此。这是提到某人时出现的消息:
.png)
Tip
受害者可能有保护机制,不允许指示与他们共享外部文档的电子邮件到达他们的邮箱。
Google Calendar Phishing
您可以创建一个日历事件,并添加尽可能多的您攻击的公司的电子邮件地址。将此日历事件安排在当前时间的5或15分钟内。使事件看起来合法,并添加评论和标题,指示他们需要阅读某些内容(带有钓鱼链接)。
这是浏览器中将出现的警报,会议标题为“解雇员工”,因此您可以设置一个更具钓鱼性质的标题(甚至更改与您的电子邮件关联的名称)。
.png)
为了使其看起来不那么可疑:
- 设置为接收者无法看到其他被邀请的人
- 不要发送通知事件的电子邮件。然后,人们只会看到他们关于5分钟内会议的警告,以及他们需要阅读该链接。
- 显然,使用API可以将人们的接受事件设置为True,甚至可以代表他们创建评论。
App Scripts Redirect Phishing
可以在https://script.google.com/上创建一个脚本,并将其公开为所有人可访问的Web应用程序,将使用合法域名**script.google.com**。
通过一些代码,如下所示,攻击者可以使脚本在此页面上加载任意内容,而不停止访问该域:
function doGet() {
return HtmlService.createHtmlOutput(
'<meta http-equiv="refresh" content="0;url=https://cloud.hacktricks.wiki/en/pentesting-cloud/workspace-security/gws-google-platforms-phishing/index.html#app-scripts-redirect-phishing">'
).setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}
例如,访问 https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec 时,您将看到:
 (1).png)
Tip
请注意,在内容加载到 iframe 中时会出现警告。
App Scripts OAuth 钓鱼
可以创建附加到文档的 App Scripts,以尝试获取受害者的 OAuth 令牌,更多信息请查看:
OAuth 应用钓鱼
之前的任何技术都可以用来让用户访问一个 Google OAuth 应用,该应用将 请求 用户一些 访问权限。如果用户 信任 该 来源,他可能会 信任 该 应用(即使它请求高权限)。
Note
请注意,Google 在多种情况下会显示一个丑陋的提示,警告该应用不受信任,Workspace 管理员甚至可以阻止用户接受 OAuth 应用。
Google 允许创建可以 代表用户与多个 Google 服务 交互的应用:Gmail、Drive、GCP…
在创建一个 代表其他用户操作 的应用时,开发者需要在 GCP 中创建一个 OAuth 应用 并指明该应用需要访问用户数据的范围(权限)。
当 用户 想要 使用 该 应用 时,他们将被 提示 接受 该应用将访问其在范围中指定的数据。
这是一种非常诱人的方式来 钓鱼 非技术用户使用 访问敏感信息的应用,因为他们可能不理解后果。然而,在组织账户中,有方法可以防止这种情况发生。
未验证应用提示
如前所述,Google 始终会向用户 提示接受 他们代表应用授予的权限。然而,如果该应用被认为是 危险的,Google 将 首先 显示一个 提示,指示它是 危险的,并 使用户更难 授予该应用权限。
此提示出现在以下应用中:
- 使用任何可以访问私人数据的范围(Gmail、Drive、GCP、BigQuery…)
- 用户少于 100 的应用(用户超过 100 的应用也需要审核流程以停止显示未验证提示)
有趣的范围
这里 您可以找到所有 Google OAuth 范围的列表。
- cloud-platform:查看和管理您在 Google Cloud Platform 服务中的数据。您可以在 GCP 中冒充用户。
- admin.directory.user.readonly:查看和下载您组织的 GSuite 目录。获取所有用户的姓名、电话、日历 URL。
创建 OAuth 应用
开始创建 OAuth 客户端 ID
- 访问 https://console.cloud.google.com/apis/credentials/oauthclient 并点击配置同意屏幕。
- 然后,系统会询问 用户类型 是 内部(仅限您组织中的人员)还是 外部。选择适合您需求的选项
- 如果您已经入侵了组织中的用户并且正在创建此应用以钓鱼另一个用户,内部可能会很有趣。
- 给应用命名,提供 支持电子邮件(请注意,您可以设置一个 Google 群组电子邮件以尝试更匿名),一个 徽标,授权域 和另一个用于 更新 的 电子邮件。
- 选择 OAuth 范围。
- 此页面分为非敏感权限、敏感权限和受限权限。每次添加新权限时,它会被添加到其类别中。根据请求的权限,用户将看到不同的提示,指示这些权限的敏感性。
admin.directory.user.readonly和cloud-platform都是敏感权限。
- 添加测试用户。只要应用的状态是测试,只有这些用户能够访问该应用,因此请确保 添加您要钓鱼的电子邮件。
现在让我们使用 之前创建的 OAuth 客户端 ID 获取 Web 应用的凭据:
- 返回 https://console.cloud.google.com/apis/credentials/oauthclient,这次会出现不同的选项。
- 选择 为 Web 应用创建凭据
- 设置所需的 Javascript 来源 和 重定向 URI
- 您可以在两者中设置类似
http://localhost:8000/callback的内容进行测试
- 获取您的应用 凭据
最后,让我们 运行一个将使用 OAuth 应用凭据的 Web 应用。您可以在 https://github.com/carlospolop/gcp_oauth_phishing_example 中找到示例。
git clone ttps://github.com/carlospolop/gcp_oauth_phishing_example
cd gcp_oauth_phishing_example
pip install flask requests google-auth-oauthlib
python3 app.py --client-id "<client_id>" --client-secret "<client_secret>"
转到 http://localhost:8000 点击 Google 登录按钮,您将会看到类似于以下的提示消息:
.png)
该应用程序将显示 访问和刷新令牌,可以轻松使用。有关 如何使用这些令牌的更多信息,请查看:
使用 glcoud
可以使用 gcloud 而不是网页控制台来执行某些操作,请查看:
GCP - ClientAuthConfig Privesc
参考
- https://www.youtube-nocookie.com/embed/6AsVUS79gLw - Matthew Bryant - Hacking G Suite: The Power of Dark Apps Script Magic
- https://www.youtube.com/watch?v=KTVHLolz6cE - Mike Felch 和 Beau Bullock - OK Google, How do I Red Team GSuite?
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
HackTricks Cloud

