GCP - Cloud Shell Persistence
Cloud Shell
有关更多信息,请查看:
GCP - Cloud Shell EnumPersistent Backdoor
Google Cloud Shell 允许您直接从浏览器访问云资源的命令行,无需任何相关费用。
您可以通过 web console 或运行 gcloud cloud-shell ssh
访问 Google 的 Cloud Shell。
此控制台对攻击者具有一些有趣的功能:
任何有权访问 Google Cloud 的 Google 用户 都可以访问一个完全认证的 Cloud Shell 实例(服务账户即使是组织的所有者也可以)。
如果没有活动,该实例将 至少保持其主目录 120 天。
组织 无法监控 该实例的活动。
这基本上意味着攻击者可以在用户的主目录中放置一个后门,只要用户每 120 天至少连接一次 GC Shell,后门就会存活,攻击者每次运行时都会获得一个 shell,只需执行:
在主文件夹中还有另一个文件叫做 .customize_environment
,如果存在,将会在用户访问 cloud shell 时 每次执行(就像在前面的技术中一样)。只需插入之前的后门或类似以下的内容,以保持持久性,只要用户“频繁”使用 cloud shell:
需要注意的是,第一次执行需要身份验证的操作时,用户的浏览器中会出现一个弹出授权窗口。必须接受此窗口才能运行命令。如果出现意外的弹出窗口,可能会引起怀疑,并可能危及所使用的持久性方法。
这是从云终端(作为攻击者)执行 gcloud projects list
时在浏览器用户会话中查看的弹出窗口:
然而,如果用户积极使用云终端,则不会出现弹出窗口,您可以通过以下方式收集用户的令牌:
SSH连接的建立方式
基本上,使用这3个API调用:
https://content-cloudshell.googleapis.com/v1/users/me/environments/default:addPublicKey [POST](将使您添加您本地创建的公钥)
https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET](将告诉您google cloud shell的IP)
参考文献
Last updated