
GCPGoat : بنية تحتية لـ GCP ضعيفة بشكل متعمد
إن اختراق البنية التحتية السحابية لمؤسسة ما هو بمثابة الجلوس على منجم ذهب للمهاجمين. وأحيانًا، كل ما يحتاجه المهاجم لاختراق البنية التحتية بأكملها هو سوء تكوين بسيط أو ثغرة أمنية في تطبيقات الويب. نظرًا لأن السحابة جديدة نسبيًا، فإن العديد من المطورين ليسوا على دراية كاملة بمشهد التهديدات وينتهي بهم الأمر بنشر بنية تحتية سحابية ضعيفة.
GCPGoat هي بنية تحتية ضعيفة عن طريق التصميم على GCP، وتتميز بأحدث مخاطر أمان تطبيقات الويب من OWASP Top 10 (2021) وسوء تكوين آخر يعتمد على خدمات مثل IAM و Storage Bucket و Cloud Functions و Compute Engine. يحاكي GCPGoat البنية التحتية الواقعية ولكن مع إضافة نقاط ضعف. يتميز بمسارات تصعيد متعددة ويركز على نهج الصندوق الأسود.
يستخدم GCPGoat البنية التحتية كرمز (IaC) عبر Terraform لنشر البنية التحتية السحابية الضعيفة على حساب GCP الخاص بالمستخدم. يمنح هذا المستخدم السيطرة الكاملة على الكود والبنية التحتية والبيئة. باستخدام GCPGoat، يمكن للمستخدم تعلم/ممارسة:
سيتم تقسيم المشروع إلى وحدات، وكل وحدة ستكون تطبيق ويب منفصل، مدعومًا بمجموعات تقنية وممارسات تطوير متنوعة. سيعتمد على IaC من خلال Terraform لتسهيل عملية النشر.
من المقرر أن يشمل المشروع جميع الثغرات الهامة بما في ذلك OWASP TOP 10 2021، وسوء التكوين السحابي الشائع. حاليًا، يحتوي المشروع على الثغرات/سوء التكوين التالية.
سيتطلب تثبيت GCPGoat يدويًا اتباع هذه الخطوات:
(ملاحظة: يتطلب هذا جهاز Linux مع توفر shell /bin/bash)
الخطوة 1. استنساخ المستودع
git clone https://github.com/ine-labs/GCPGoat
الخطوة 2. تكوين بيانات اعتماد حساب مستخدم GCP باستخدام gcloud CLI
gcloud auth application-default login
الخطوة 3. إدراج اسم حساب الفوترة في ملف main.tf
data "google_billing_account" "acct" {
display_name = "<اسم حساب الفوترة الخاص بك>"
}
الخطوة 4. في نفس دليل العمل، استخدم terraform لنشر GCPGoat.
terraform init
terraform apply --auto-approve
تتميز الوحدة الأولى بتطبيق مدونة بدون خادم يستخدم Cloud Functions و Cloud Storage Buckets و Compute Engine و Firestore. يتكون من ثغرات تطبيقات ويب مختلفة ويسهل استغلال موارد GCP التي تم تكوينها بشكل خاطئ.
مسار التصعيد:
المتصفح الموصى به: Google Chrome
لن تتسبب الموارد التي تم إنشاؤها بنشر GCPGoat في أي رسوم إذا كان حساب GCP ضمن الطبقة المجانية / الفترة التجريبية. ومع ذلك، بعد استنفاد أو عدم الأهلية للطبقة المجانية / الفترة التجريبية، سيتم تطبيق الرسوم التالية لمنطقة US-East:
الوحدة 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.