Google Calendar RAT是对Google日历事件进行命令和控制的概念验证
作者:Sec-Labs | 发布时间:
项目地址
https://github.com/MrSaighnal/GCR-Google-Calendar-RAT
GCR-Google-Calendar-RAT
相关技术点
- Covert Channel:利用Google日历中的事件描述,创建一个类似于第7层(应用层)的隐蔽信道,用于在目标计算机和Google之间进行通信。
- Google服务帐户:创建Google服务帐户可以通过OAuth 2.0协议,使应用程序获得对Google API的授权,从而在Google上执行各种任务。
- Base64编码:将命令和输出进行编码,以便在Google日历事件描述中传输。
项目用途
GCR-Google-Calendar-RAT是一种利用Google日历事件进行命令和控制的概念验证工具,用于在无法创建整个红队基础架构的情况下进行渗透测试。运行该程序只需要一个Gmail账户,程序会自动在Google日历中创建一个事件,将命令和输出进行编码,以便在Google日历事件描述中进行传输。GCR-Google-Calendar-RAT的作用主要是提供一种隐蔽的通信渠道,使得SOC分析师和蓝队无法轻易地发现攻击行为。使用该工具需要进行以下步骤:
- 创建一个Google服务帐户,并获得credentials.json文件。
- 创建一个Google日历,并将其与新创建的服务帐户共享。
- 编辑脚本,设置日历地址。
- 在目标机器上执行该脚本,将自动创建一个具有唯一目标ID的事件,自动执行“whoami”命令。
- 在事件描述中使用以下语法进行通信:CLEAR_COMMAND|BASE64_OUTPUT
- 可以使用唯一ID作为事件名称创建无限多个事件。
注意:该项目仅作为游戏或概念验证工具,不得用于非法目的。原作者不对使用该工具造成的后果负责。

GCR-Google-Calendar-RAT
Google Calendar RAT 是一个利用 Google 日历事件的指令和控制(C2)的 PoC,该工具是为了在难以创建整个红色团队基础架构的情况下开发的。使用 GRC 只需要一个 Gmail 帐户。 该脚本通过利用 Google 日历中的事件描述创建了一个“隐蔽通道”。目标将直接连接到 Google。可以将其视为第 7 层应用程序隐蔽通道(但有些朋友可能会说这不可能 :) 非常感谢我的朋友“Tortellini” https://aptw.tf)

POC

工作原理
GCR 尝试连接到有效的共享 Google 日历链接,并在生成唯一 ID 后检查任何尚未执行的命令。如果无法找到任何命令,则创建一个新命令(固定为“whoami”),作为连接的证明。 每个事件由两部分组成:
- 标题,其中包含唯一 ID,这意味着您可以创建具有相同唯一 ID 的名称的事件以安排多个命令

- 描述,其中包含要执行的命令以及使用管道符“|”作为分隔符的 Base64 编码输出

工作流攻击

SOC 分析员/蓝队员会看到什么?
专注于网络方面,仅建立的连接将是到 Google 的服务器,使连接看起来完全合法。 让我们使用进程监视器检查:


结果如下


如何使用它
- 设置 Google 服务帐户并获取 credentials.json 文件,将文件放置在脚本的相同目录中
- 创建新的 Google 日历并与新创建的服务帐户共享
- 编辑脚本以指向您的日历地址
- 在目标计算机上执行后,将自动创建一个带有唯一目标 ID 的事件,自动执行“whoami”命令
- 在事件描述中使用以下语法进行通信 => CLEAR_COMMAND|BASE64_OUTPUT
示例:
- "whoami|"
- "net users|"
- 日期固定为 2023 年 5 月 30 日。您可以使用唯一 ID 作为事件名称创建无限事件。
注意事项
我更喜欢将这个项目视为一款游戏而不是实验 :) 请不要将其用于非法目的。 我对将要使用的用途不承担任何责任。
这只是一个用 Python 实现的 PoC,请不要问我如何武器化它!