红队行动中滥用Chrome远程桌面的实用指南
引言
本文将探讨在红队操作中滥用Chrome远程桌面(也称为Google远程桌面)的实用技术。由于客户限制或其他预防措施,有时需要使用合法软件来实现目标。本文重点介绍如何在操作中实际使用Chrome远程桌面。
入门 – Chrome远程桌面
Chrome远程桌面本质上是一个软件,您可以从 https://remotedesktop.google.com/ 下载并安装在客户端上。安装和配置后,受感染的主机连接到服务器(云服务),您可以在Web门户中点击它以进行连接。很整洁吧?我认为是的。在幕后,它使用Google开发的专有协议,内部称为Chromoting。根据我找到的信息,它通过HTTPS进行通信,并使用WebRTC传输数据。
开始使用Chrome远程桌面有哪些要求?唯一需要的是一个Google账户,每个人都可以在这里免费创建。创建账户后,请前往这里下载软件并开始使用。另一个要求是安装程序需要在客户端上具有本地管理员访问权限。
逐步指南 – 部署它
以下是部署Chrome远程桌面的分步指南,并附带一些提示。
1. 访问设置页面
第一步是导航到Chrome远程桌面设置页面,在“通过SSH设置”菜单选项下,点击开始,然后点击Windows的MSI文件以下载MSI文件。
图1 - 开始通过SSH设置
2. 下载MSI文件
图2 - 下载MSI文件
3. 运行安装程序
接下来,您需要在目标上安装MSI文件。如何执行此操作取决于您可能拥有的C2或其他访问权限。为简单起见,我将假设您可以运行直接命令,并提供典型的msiexec安装程序命令。(请记住,您需要本地管理员权限):
|
|
4. 启动Chrome远程桌面客户端
安装完成后,您可以返回Chrome远程桌面页面并点击下一步。向导将要求授权;点击授权按钮继续。
图3 - 授权
5. 复制 onboarding 命令
在屏幕上,您应该看到两个(2)Windows命令和一个(1)Debian命令。复制Windows(Cmd)命令并将其粘贴到记事本中。我们将在发送到客户端之前向命令添加一些内容。
图4 - 复制命令
6. 调整命令
您复制的命令应如下所示:
|
|
如果您运行此命令,问题是这需要一个在GUI中完成的额外步骤,即添加PIN码。示例如下:
图5 - 命令要求输入PIN码
7. 未记录参数
为了克服这一点,我们可以使用一个未记录的参数(我尚未找到相关文档)。未记录的参数是 --pin=111111
。请注意,PIN码至少需要六(6)位数字。完整命令如下:
|
|
运行时应如下所示:
图6 - 在命令中提供PIN码
8. 连接到客户端
您现在应该看到客户端显示在Chrome远程桌面门户中。点击它,在提示时提供PIN码,并开始使用远程桌面——几乎像魔术一样。
图7 - 客户端在门户中可见
9. 远程连接到客户端
图8 - 远程连接到客户端 您需要登录并接管用户的会话,因此您需要知道用户的密码或以其他用户身份登录。理想情况下,您应在接管桌面之前检查用户是否已下班回家。
结论
Chrome远程桌面确实需要一些工作才能运行,但在某些场景下进行红队操作时,它可以是一个非常有用的工具。Chrome远程桌面具有相当流畅的体验,远程操作时延迟很小。
对于防御者,我始终推荐使用AppLocker或其他批准列表解决方案来防止未经授权的软件安装。如果您想查看软件是否已在环境中安装,它称为Chrome远程桌面主机。
图9 - 在应用和功能中显示的Chrome桌面