GWS - Google Platforms Phishing
通用钓鱼方法论
谷歌群组钓鱼
显然,默认情况下,在工作区成员可以创建群组 并邀请人加入。然后,您可以修改将发送给用户的电子邮件,添加一些链接。电子邮件将来自谷歌地址,因此看起来合法,人们可能会点击链接。
还可以将发件人地址设置为谷歌群组电子邮件,以向群组内的用户发送更多电子邮件,就像下面的图像中创建了名为**google--support@googlegroups.com
**的群组,并向该群组的所有成员发送了一封电子邮件(未经任何同意添加的成员)
谷歌聊天钓鱼
您可以通过仅知道其电子邮件地址开始与某人聊天,或发送邀请进行对话。此外,可以创建一个空间,可以使用任何名称(例如“谷歌支持”),并邀请成员加入。如果他们接受,他们可能会认为自己正在与谷歌支持交谈:
然而,在我的测试中,被邀请的成员甚至没有收到邀请。
您可以查看过去的工作方式:https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s
谷歌文档钓鱼
过去,可以创建一个看起来合法的文档,然后在评论中提及某个电子邮件(如@user@gmail.com)。谷歌会向该电子邮件地址发送一封电子邮件,通知他们在文档中被提及。 现在,这种方法不起作用,但如果您授予受害者对文档的访问权限,谷歌将发送一封电子邮件通知。这是在提及某人时出现的消息:
受害者可能有防护机制,不允许这些指示外部文档与他们共享的电子邮件到达他们的邮箱。
谷歌日历钓鱼
您可以创建一个日历事件,并添加您攻击的公司的尽可能多的电子邮件地址。将此日历事件安排在当前时间的5或15分钟后。使事件看起来合法,并添加评论和标题,指示他们需要阅读某些内容(带有钓鱼链接)。
这是在浏览器中出现的会议标题为“解雇人员”的警报,因此您可以设置更具钓鱼性质的标题(甚至更改与您的电子邮件关联的名称)。
为了使其看起来不那么可疑:
设置为接收者无法看到其他受邀人员
不要发送关于事件的电子邮件通知。然后,人们只会看到他们关于5分钟后的会议的警告,以及他们需要阅读该链接。
显然,使用API,您可以设置人员已接受事件,并甚至代表他们创建评论。
应用脚本重定向钓鱼
可以在https://script.google.com/创建一个脚本,并将其公开为每个人都可以访问的Web应用程序,该应用程序将使用合法域**script.google.com
**。
然后,使用以下类似代码的代码,攻击者可以使脚本在不停止访问该域的情况下加载任意内容:
请注意,由于内容加载在iframe中,会出现警告。
应用脚本OAuth钓鱼
可以创建附加到文档的应用脚本,尝试获取受害者OAuth令牌的访问权限,欲了解更多信息,请查看:
GWS - App ScriptsOAuth应用程序钓鱼
任何先前的技术都可能被用来让用户访问Google OAuth应用程序,该应用程序将请求用户一些访问权限。如果用户信任****来源,他可能会信任该应用程序(即使它要求高权限)。
请注意,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
然后,将询问用户类型是内部(仅适用于您组织中的人员)还是外部。选择适合您需求的类型
如果您已经入侵了组织的用户,并且正在创建此应用程序以钓鱼另一个用户,则内部可能会很有趣。
为应用程序指定一个名称、一个支持电子邮件(请注意,您可以设置一个googlegroup电子邮件,以尝试更加匿名化自己),一个标志、授权域和另一个用于更新的电子邮件。
选择****OAuth范围。
此页面分为非敏感权限、敏感权限和受限权限。每次添加新权限,它都会添加到其类别中。根据请求的权限不同,用户将看到不同的提示,指示这些权限有多敏感。
**
admin.directory.user.readonly
和cloud-platform
**都是敏感权限。
添加测试用户。只有这些用户能够访问应用程序,因此请确保添加您将要进行钓鱼的电子邮件。
现在,使用先前创建的OAuth客户端ID获取Web应用程序的凭据:
选择为Web应用程序创建凭据
设置所需的Javascript起源和重定向URI
您可以在两者中都设置类似**
http://localhost:8000/callback
**的内容进行测试
获取您的应用程序凭据
最后,让我们运行一个将使用OAuth应用程序凭据的Web应用程序。您可以在https://github.com/carlospolop/gcp_oauth_phishing_example中找到一个示例。
前往**http://localhost:8000
,点击“使用Google登录”按钮,您将收到类似以下消息的提示**:
该应用程序将显示可轻松使用的访问和刷新令牌。有关如何使用这些令牌的更多信息,请查看:
GCP - Non-svc Persistance使用gcloud
gcloud
可以使用gcloud而不是Web控制台执行某些操作,请查看:
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 and Beau Bullock - OK Google, How do I Red Team GSuite?
Last updated