
GCPGoat : 意図的に脆弱性を持たせたGCPインフラ
組織のクラウドインフラストラクチャを侵害することは、攻撃者にとって金鉱に座っているようなものです。そして時には、単純な設定ミスやWebアプリケーションの脆弱性が、攻撃者がインフラ全体を侵害するために必要なすべてであることもあります。クラウドは比較的新しいため、多くの開発者が脅威の領域を完全に認識しておらず、脆弱なクラウドインフラストラクチャをデプロイしてしまっています。
GCPGoatは、最新のOWASP Top 10 Webアプリケーションセキュリティリスク(2021年)と、IAM、Storage Bucket、Cloud Functions、Compute Engineなどのサービスに基づくその他の設定ミスを特徴とする、意図的に脆弱性のあるGCP上のインフラストラクチャです。GCPGoatは実際のインフラストラクチャを模倣していますが、脆弱性が追加されています。複数のエスカレーションパスを備え、ブラックボックスアプローチに重点を置いています。
GCPGoatはIaC(Terraform)を使用して、ユーザーのGCPアカウントに脆弱なクラウドインフラストラクチャをデプロイします。これにより、ユーザーはコード、インフラストラクチャ、環境を完全に制御できます。GCPGoatを使用すると、ユーザーは次のことを学習/練習できます:
プロジェクトはモジュールに分割され、各モジュールは異なるテクノロジースタックと開発手法で動作する個別のWebアプリケーションになります。デプロイプロセスを容易にするために、terraformを介してIaCを活用します。
このプロジェクトは、OWASP TOP 10 2021や一般的なクラウド設定ミスを含む、すべての主要な脆弱性を網羅する予定です。 現在、プロジェクトには以下の脆弱性/設定ミスが含まれています。
GCPGoatを手動でインストールするには、以下の手順に従う必要があります。
(注:これには/bin/bashシェルが利用可能なLinuxマシンが必要です)
ステップ 1. リポジトリをクローンする
git clone https://github.com/ine-labs/GCPGoat
ステップ 2. gcloud CLIを使用してGCPユーザーアカウントの認証情報を設定する
gcloud auth application-default login
ステップ 3. main.tfファイルにBilling Account名を挿入する
data "google_billing_account" "acct" {
display_name = "<あなたの請求先アカウント名>"
}
ステップ 4. 同じ作業ディレクトリでterraformを使用してGCPGoatをデプロイする
terraform init
terraform apply --auto-approve
最初のモジュールは、Cloud Functions、Cloud Storage Buckets、Compute Engine、Firestoreを利用したサーバーレスブログアプリケーションです。さまざまなWebアプリケーションの脆弱性を含み、設定ミスのあるGCPリソースの悪用を容易にします。
エスカレーションパス:
推奨ブラウザ: Google Chrome
GCPGoatのデプロイによって作成されるリソースは、GCPアカウントが無料ティア/トライアル期間中である場合、料金は発生しません。ただし、無料ティア/トライアルの利用が終了した場合、または対象外となった場合、米国東部リージョンでは以下の料金が適用されます。
モジュール 1: 1時間あたり $0.03
Nishant Sharma, Director, Lab Platform, INE [email protected]
Jeswin Mathai, Chief Architect, Lab Platform, INE [email protected]
Sherin Stephen, Software Engineer (Cloud), INE [email protected]
Divya Nain, Software Engineer (Cloud), INE [email protected]
Rishappreet Singh Moon, Software Engineer (Cloud), INE [email protected]
Litesh Ghute, Software Engineer (Cloud), INE [email protected]
Sanjeev Mahunta, Software Engineer (Cloud), INE [email protected]
攻撃用マニュアルはattack-manualsディレクトリに、防御用マニュアルはdefence-manualsディレクトリにあります。
モジュール 1:
modules/module-<Number>/src にあります。これを使用して既存のアプリケーションコードを修正できます。このプログラムはフリーソフトウェアです。MITライセンスの条件に基づいて、再配布および/または変更することができます。
このプログラムとともにMITライセンスのコピーを受け取っているはずです。受け取っていない場合は、https://opensource.org/licenses/MIT を参照してください。