GCP - Compute Enum
GCP VPC & Networking
これがどのように機能するかを学ぶ:
GCP - VPC & NetworkingEnumeration
https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum を使用して、オープンなファイアウォールルールを持つ compute instances を簡単に見つけることができます。
Compute instances
これは、GCP 内で仮想マシンを実行する方法です。 詳細については、このページを確認してください:
GCP - Compute InstancesEnumeration
詳細については、インスタンスのSSHまたはメタデータの変更による権限昇格について、このページを参照してください:
GCP - local privilege escalation ssh pivoting権限昇格
次のページでは、compute permissionsを悪用して権限を昇格させる方法を確認できます:
GCP - Compute Privesc認証なしの列挙
GCP - Compute Unauthenticated Enumポストエクスプロイト
GCP - Compute Post Exploitation永続化
GCP - Compute Persistenceシリアルコンソールログ
Compute Engine シリアルコンソールログは、仮想マシンインスタンスのブートおよびオペレーティングシステムのログを表示および診断する機能です。
シリアルコンソールログは、カーネルメッセージ、initスクリプト、およびブート中に発生するその他のシステムイベントを含む、インスタンスのブートプロセスの低レベルビューを提供します。これにより、ブートの問題のデバッグ、設定ミスやソフトウェアエラーの特定、ネットワーク接続の問題のトラブルシューティングに役立ちます。
これらのログは、通常低権限のユーザーが見ることができないシステムログからの機密情報を露出する可能性がありますが、適切なIAM権限があればそれらを読むことができます。
次のgcloudコマンドを使用してシリアルポートログをクエリできます(必要な権限はcompute.instances.getSerialPortOutput
です):
Startup Scripts output
VMを実行しているスタートアップスクリプトの出力を確認することができます:
OS Configuration Manager
OS 構成管理サービスを使用して、VM インスタンス (VM) の一貫した構成 (望ましい状態とソフトウェア) をデプロイ、クエリ、および維持できます。Compute Engine では、VM 上の一貫したソフトウェア構成を維持するために guest policies を使用する必要があります。
OS 構成管理機能を使用すると、インストールするソフトウェアパッケージ、有効にするサービス、および VM 上に存在する必要があるファイルや構成を指定する構成ポリシーを定義できます。VM のソフトウェア構成を管理するために宣言型アプローチを使用できるため、構成管理プロセスをより簡単に自動化およびスケールできます。
これにより、IAM 権限を介してインスタンスにログインすることも可能になるため、privesc および pivoting に非常に役立ちます。
プロジェクト全体またはインスタンスで os-config を有効にするには、目的のレベルで metadata キー enable-oslogin
を true
に設定するだけです。
さらに、metadata enable-oslogin-2fa
を true
に設定して 2fa を有効にすることもできます。
インスタンスを作成する際にこれを有効にすると、metadata キーが自動的に設定されます。
OS-config の 2fa について詳しく説明すると、ユーザーがユーザーである場合にのみ適用されます。SA (compute SA など) の場合は追加の要件はありません。
Enumeration
Images
Custom Images
カスタムコンピュートイメージには機密情報や他の脆弱な設定が含まれている可能性があり、これを悪用することができます。
イメージを作成する際に、3種類の暗号化を選択できます: Google管理キー(デフォルト)、KMSからのキー、またはクライアントが提供する生のキーです。
Enumeration
次のコマンドを使用して、プロジェクト内の非標準イメージのリストを照会できます:
次に、任意のイメージから複数のフォーマットで仮想ディスクをエクスポートできます。以下のコマンドは、qcow2フォーマットでイメージtest-image
をエクスポートし、ファイルをダウンロードしてローカルでVMを構築し、さらに調査を行うことができます:
Privilege Escalation
Compute Instances privilege escalation セクションを確認してください。
Custom Instance Templates
instance template はインスタンスのプロパティを定義し、一貫した構成を展開するのに役立ちます。これらは、実行中のインスタンスのカスタムメタデータと同じ種類の機密データを含む場合があります。調査するには、次のコマンドを使用できます:
新しいイメージがどのディスクを使用しているかを知ることは興味深いかもしれませんが、これらのテンプレートには通常、機密情報は含まれていません。
Snapshots
snapshotsはディスクのバックアップです。これはディスクのクローン作成(別の利用可能な機能)とは異なることに注意してください。 snapshotは、取得元のディスクと同じ暗号化を使用します。
Enumeration
Privilege Escalation
Compute Instances の特権昇格セクションを確認してください。
References
Last updated