يساعدك CloudFox على اكتساب الوعي الظرفي في بيئات سحابية غير مألوفة. إنها أداة سطر أوامر مفتوحة المصدر صُممت لمساعدة مختبرَي الاختراق وغيرهم من محترفي الأمن الهجومي في إيجاد مسارات الهجوم القابلة للاستغلال في البنية التحتية السحابية.
CloudFox معياري (يمكنك تشغيل أمر واحد في كل مرة)، ولكن يوجد أمر aws all-checks الذي سيشغل أوامر AWS الأخرى لك بإعدادات افتراضية معقولة:
cloudfox aws --profile [profile-name] all-checks
الاستكشاف من منظور الصندوق الأبيض
تم تصميم CloudFox ليتم تنفيذه بواسطة مدير لديه أذونات قراءة محدودة، لكن الغرض منه هو مساعدتك في إيجاد مسارات هجوم يمكن استغلالها في سيناريوهات اختراق محاكاة (أي اختبار الاختراق القائم على الهدف).
الاستكشاف من منظور الصندوق الأسود
يمكن استخدام CloudFox مع بيانات اعتماد "موجودة"، على غرار كيفية استخدام weirdAAL أو enumerate-iam. عمليات التحقق التي تفشل، تفشل بصمت، لذا فإن أي بيانات يتم إرجاعها تعني أن بيانات الاعتماد "الموجودة" لديك تملك الصلاحية اللازمة لاسترجاعها.
التوثيق
للحصول على التوثيق الكامل، يرجى الرجوع إلى ويكي الخاص بنا.
**الخيار 5:** اختبار إصلاح خلل ```
git clone [email protected]:BishopFox/cloudfox.git
git checkout seth-dev
go build .
./cloudfox [rest of the command options]
المتطلبات الأساسية
AWS
تم تثبيت AWS CLI
يدعم ملفات تعريف AWS، ومتغيرات بيئة AWS، أو استرداد البيانات الوصفية (على مثيل ec2)
لتشغيل الأوامر على ملفات تعريف متعددة مرة واحدة، يمكنك تحديد المسار إلى ملف يحتوي على قائمة بأسماء الملفات التعريفية مفصولة بسطر جديد باستخدام العلم -l أو تمرير جميع الملفات التعريفية المخزنة باستخدام العلم -a.
كيان رئيسي مع إحدى السياسات الموصى بها المرفقة (موصوفة أدناه)
يغطي معظم فحوصات cloudfox لكنه يفتقد الخدمات أو الأذونات الأحدث مثل AppRunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices - ويفتقد أيضًا iam:SimulatePrincipalPolicy.
arn:aws:iam::aws:policy/ReadOnlyAccess
يفتقد فقط AppRunner، لكنه يمنح أيضًا أشياء مثل "s3:Get*" التي قد تكون مفرطة في السماح.
arn:aws:iam::aws:policy/AdministratorAccess
سيعمل هذا بشكل جيد مع CloudFox، ولكن إذا تم منحك هذا المستوى من الوصول كمختبر اختراق، فمن المحتمل أن يكون ذلك نتيجة بحد ذاته :)
Azure
تم تطبيق أذونات Viewer أو ما شابه ذلك.
GCP
تم تثبيت Google Cloud SDK والمصادقة عليه
تم تكوين Application Default Credentials (gcloud auth application-default login)
الأذونات الموصى بها على مستويات التسلسل الهرمي المناسبة (انظر أدناه)
أذونات GCP: الحد الأدنى مقابل الشامل
الأذونات الدنيا (مشروع واحد):
للتعداد الأساسي لمشروع واحد، يوفر دور roles/viewer وصول قراءة لمعظم الموارد (يشمل عرض السجلات والمراقبة والحوسبة/الشبكة).
الأذونات الشاملة (على مستوى المؤسسة):
لتقييمات أمنية شاملة عبر مؤسسة بأكملها:
النطاق
الدور
الغرض
المؤسسة
roles/resourcemanager.organizationViewer
عرض هيكل المؤسسة والبيانات الوصفية
المؤسسة
roles/iam.securityReviewer
مراجعة سياسات IAM عبر المؤسسة
المؤسسة
roles/cloudasset.viewer
الاستعلام عن مخزون أصول السحابة لجميع الموارد
المؤسسة
roles/cloudidentity.groupsViewer
تعداد مجموعات Google والعضويات
المجلد
roles/resourcemanager.folderViewer
عرض هيكل المجلد والبيانات الوصفية
المشروع
roles/viewer
وصول قراءة لمعظم موارد المشروع (يشمل logging.viewer, monitoring.viewer, compute.viewer)
مشروع الأدوات
roles/serviceusage.serviceUsageAdmin
(اختياري) إدارة حصص API لعمليات CloudFox
ملاحظة: يتضمن دور roles/viewer الأساسي أذونات من roles/logging.viewer وroles/monitoring.viewer وroles/compute.networkViewer، لذلك لا تحتاج إلى منحها بشكل منفصل.
متطلبات واجهة برمجة تطبيقات GCP
يجب تمكين واجهات برمجة التطبيقات في كل مشروع تريد تقييمه. واجهات برمجة تطبيقات GCP نطاقها المشروع.
واجهة API
اسم الخدمة
الغرض
Cloud Identity API
cloudidentity.googleapis.com
تعداد المجموعات، تحليل الأدوار الموروثة
Cloud Asset API
cloudasset.googleapis.com
اكتشاف الموارد عبر المشاريع
Cloud Resource Manager API
cloudresourcemanager.googleapis.com
تخطيط المؤسسة، تعداد IAM
IAM API
iam.googleapis.com
تحليل IAM، اكتشاف تصعيد الصلاحيات
Compute Engine API
compute.googleapis.com
تعداد المثيلات، أمان الشبكة
Secret Manager API
secretmanager.googleapis.com
تعداد الأسرار
Cloud Functions API
cloudfunctions.googleapis.com
تعداد بدون خادم
Cloud Run API
run.googleapis.com
تعداد بدون خادم
Kubernetes Engine API
container.googleapis.com
تحليل أمان الحاويات
BigQuery API
bigquery.googleapis.com
تحليل أمان البيانات
للحصول على تعليمات الإعداد التفصيلية، راجع دليل إعداد GCP.
يعرض معلومات حول المستأجر والاشتراكات ومجموعات الموارد المتاحة لجلسة Azure CLI الحالية. هذا مفيد لتوفير الوعي بالموقف بشأن معرفات المستأجر والاشتراك لاستخدامها مع الأوامر الفرعية الأخرى.
تعداد المعلومات المفيدة لمثيلات Compute في جميع مجموعات الموارد والاشتراكات المتاحة
أوامر GCP
للحصول على توثيق مفصل لكل أمر GCP، راجع ويكي أوامر GCP.| Provider | اسم الأمر | الوصف
| - | - | - |
| GCP | whoami | عرض سياق الهوية للمستخدم/حساب الخدمة المُوثّق في GCP |
| GCP | iam | تعداد كيانات IAM في GCP عبر المؤسسات والمجلدات والمشاريع |
| GCP | permissions | تعداد كافة الأذونات لكل كيان IAM مع التوسع الكامل في التوريث |
| GCP | serviceaccounts | تعداد حسابات الخدمة في GCP مع تحليل أمني |
| GCP | service-agents | تعداد وكلاء الخدمة المُدارة من Google |
| GCP | keys | تعداد جميع مفاتيح GCP (مفاتيح حسابات الخدمة، مفاتيح HMAC، مفاتيح API) |
| GCP | resource-iam | تعداد سياسات IAM على موارد GCP (الدلائل، مجموعات البيانات، الأسرار، إلخ.) |
| GCP | domain-wide-delegation | العثور على حسابات خدمة ذات تفويض على مستوى النطاق لـ Google Workspace |
| GCP | privesc | تحديد مسارات رفع الامتياز في مشاريع GCP |
| GCP | hidden-admins | تحديد الكيانات القادرة على تعديل سياسات IAM (المسؤولين المخفيين) |
| GCP | identity-federation | تعداد Identity Federation (الهويات الخارجية) |
| GCP | instances | تعداد مثيلات Compute Engine في GCP مع التكوين الأمني |
| GCP | gke | تعداد مجموعات GKE مع تحليل أمني |
| GCP | cloudrun | تعداد خدمات ومهام Cloud Run مع تحليل أمني |
| GCP | functions | تعداد دوال GCP Cloud Functions مع تحليل أمني |
| GCP | app-engine | تعداد تطبيقات App Engine والتكوينات الأمنية |
| GCP | composer | تعداد بيئات Cloud Composer |
| GCP | dataproc | تعداد مجموعات Dataproc |
| GCP | dataflow | تعداد وظائف وخطوط أنابيب Dataflow |
| GCP | notebooks | تعداد دفاتر Vertex AI Workbench |
| GCP | workload-identity | تعداد GKE Workload Identity و Workload Identity Federation |
| GCP | inventory | جرد سريع للموارد - يعمل بدون Cloud Asset API |
| GCP | storage | تعداد دلائل Cloud Storage في GCP مع التكوين الأمني |
| GCP | storage-enum | تعداد دلائل GCS بحثًا عن ملفات حساسة (بيانات اعتماد، أسرار، تكوينات) |
| GCP | bigquery | تعداد مجموعات البيانات والجداول في BigQuery مع تحليل أمني |
| GCP | cloudsql | تعداد مثيلات Cloud SQL مع تحليل أمني |
| GCP | spanner | تعداد مثيلات وقواعد بيانات Cloud Spanner |
| GCP | bigtable | تعداد مثيلات وجداول Cloud Bigtable |
| GCP | filestore | تعداد مثيلات Filestore NFS |
| GCP | memorystore | تعداد مثيلات Memorystore (Redis) |
| GCP | vpc-networks | تعداد شبكات VPC |
| GCP | firewall | تعداد شبكات VPC وقواعد جدار الحماية مع تحليل أمني |
| GCP | loadbalancers | تعداد موازنات التحميل |
| GCP | dns | تعداد نطاقات وسجلات Cloud DNS مع تحليل أمني |
| GCP | endpoints | تعداد جميع نقاط نهاية الشبكة (خارجية وداخلية) بعناوين IP والمنافذ وأسماء المضيفين |
| GCP | private-service-connect | تعداد نقاط نهاية Private Service Connect ومرفقات الخدمة |
| GCP | network-topology | تصور طوبولوجيا شبكة VPC وعلاقات الندية وحدود الثقة |
| GCP | vpc-sc | تعداد VPC Service Controls |
| GCP | access-levels | تعداد مستويات الوصول في Access Context Manager |
| GCP | cloud-armor | تعداد سياسات Cloud Armor الأمنية والعثور على نقاط الضعف |
| GCP | iap | تعداد تكوينات Identity-Aware Proxy |
| GCP | beyondcorp | تعداد تكوينات BeyondCorp Enterprise |
| GCP | kms | تعداد حلقات المفاتيح والمفاتيح المشفرة في Cloud KMS مع تحليل أمني |
| GCP | secrets | تعداد أسرار GCP Secret Manager مع التكوين الأمني |
| GCP | cert-manager | تعداد شهادات SSL/TLS والعثور على الشهادات المنتهية أو غير الصحيحة التكوين |
| GCP | org-policies | تعداد سياسات المؤسسة وتحديد نقاط الضعف الأمنية |
| GCP | artifact-registry | تعداد GCP Artifact Registry و Container Registry مع التكوين الأمني |
| GCP | cloudbuild | تعداد مشغّلات وعمليات البناء في Cloud Build |
| GCP | source-repos | تعداد مستودعات Cloud Source Repositories |
| GCP | scheduler | تعداد وظائف Cloud Scheduler مع تحليل أمني |
| GCP | pubsub | تعداد مواضيع واشتراكات Pub/Sub مع تحليل أمني |
| GCP | logging | تعداد مصارف ومقاييس Cloud Logging مع تحليل أمني |
| GCP | organizations | تعداد التسلسل الهرمي لمؤسسة GCP |
| GCP | asset-inventory | تعداد Cloud Asset Inventory مع تحليل التبعيات الاختياري |
| GCP | backup-inventory | تعداد سياسات النسخ الاحتياطي والموارد المحمية وتحديد فجوات النسخ الاحتياطي |
| GCP | lateral-movement | رسم خرائط مسارات الحركة الجانبية ونواقل سرقة بيانات الاعتماد وفرص التمحور |
| GCP | data-exfiltration | تحديد مسارات تسريب البيانات والنواقل المحتملة ونقص التعزيز الأمني |
| GCP | public-access | العثور على الموارد التي لديها وصول allUsers/allAuthenticatedUsers عبر 16 خدمة GCP |
| GCP | cross-project | تحليل روابط IAM عبر المشاريع ومصارف السجلات وصادرات Pub/Sub للحركة الجانبية |
| GCP | foxmapper | تشغيل FoxMapper (تحليل IAM المعتمد على الرسم البياني) لاكتشاف مسار رفع الامتياز |
| GCP | logging-enum | مسح إدخالات Cloud Logging بحثًا عن بيانات حساسة (بيانات اعتماد، رموز، PII) |
| GCP | bigquery-enum | مسح مجموعات البيانات والجداول والأعمدة في BigQuery بحثًا عن مؤشرات بيانات حساسة |
| GCP | bigtable-enum | مسح مثيلات وجداول وعائلات الأعمدة في Bigtable بحثًا عن مؤشرات بيانات حساسة |
| GCP | spanner-enum | مسح مخططات قواعد بيانات Spanner بحثًا عن أسماء جداول وأعمدة حساسة |
كيف يقارن CloudFox بـ ScoutSuite و Prowler و وحدة AWS Compliance من Steampipe و AWS Security Hub، إلخ؟
CloudFox لا يُنشئ أي تنبيهات أو نتائج، ولا يتحقق من بيئتك للامتثال لخط أساس أو معيار مرجعي. بدلاً من ذلك، فهو ببساطة يمكّنك من أن تكون أكثر كفاءة خلال أنشطة اختبار الاختراق اليدوية. يمنحك المعلومات التي من المحتمل أن تحتاجها للتحقق من إمكانية مسار الهجوم من عدمه.
لماذا أرى أخطاء في بعض أوامر CloudFox؟
الخدمات التي لا توجد في جميع المناطق - يحاول CloudFox عدة طرق لمعرفة الخدمات المدعومة في كل منطقة. لكن بعض الخدمات لا تدعم الطرق التي يستخدمها CloudFox، لذلك يلجأ CloudFox إلى سؤال كل منطقة عن الخدمة. المناطق التي لا تدعم الخدمة ستعيد أخطاء.
ليس لديك الإذن - سبب آخر قد ترى فيه أخطاء هو عدم وجود أذونات لإجراء الاستدعاءات التي يقوم بها CloudFox. إما لأن السياسة لا تسمح بذلك (مثلاً، SecurityAudit لا يسمح بجميع الأذونات التي يحتاجها CloudFox). أو ربما SCP هو ما يمنعك.
يمكنك دائمًا النظر في ملف ~/.cloudfox/cloudfox-error.log للحصول على مزيد من المعلومات حول الأخطاء.
Steampipe - استخدمنا steampipe لنمذجة العديد من أوامر cloudfox. بينما يركز CloudFox بشكل حاد على مساعدة مختبري الاختراق السحابي، فإن steampipe هو وسيلة سهلة للاستعلام عن أي وجميع مواردك السحابية.
Principal Mapper - الإلهام لـ، وشريك موصى به بشدة لأمر iam-simulator
Pacu - أداة ممتازة لاختبار الاختراق السحابي. يحتوي PACU على العديد من أوامر التعداد المشابهة لـ CloudFox، والعديد من الأوامر الأخرى التي تؤتمت مهام الاستغلال (شيء يتجنبه CloudFox عن قصد).
CloudMapper - الإلهام لأمر inventory وبشكل عام لـ CloudFox ككل.
يسرد جميع مجموعات EKS، ويرى ما إذا كانت تعرض نقطة النهاية الخاصة بها للعامة، ويتحقق من أدوار IAM المرتبطة المرفقة للوصول إلى المجموعة أو مجموعة العقد. يُنشئ ملف loot مع الأمر aws eks udpate-kubeconfig اللازم للاتصال بكل مجموعة.
يجلب متغيرات البيئة من الخدمات التي تحتوي عليها (App Runner، ECS، Lambda، حاويات Lightsail، Sagemaker مدعومة). إذا وجدت سرًا حساسًا، استخدم cloudfox iam-simulator وpmapper لمعرفة من لديه حق الوصول إليها.
تعداد أنظمة الملفات EFS وFSx التي قد تتمكن من تحميلها دون بيانات اعتماد (إذا كان لديك وصول الشبكة المناسب). على سبيل المثال، هذا مفيد عندما يكون لديك ec:RunInstance ولكن ليس iam:PassRole.
مثل pmapper، لكنه يستخدم محاكي سياسات IAM. يستخدم منطق التقييم الخاص بـ AWS، لكنه لا يأخذ في الاعتبار الوصول عبر تصعيد الصلاحيات، ولهذا يجب عليك دائمًا استخدام pmapper أيضًا.
تعداد المعلومات المفيدة لمثيلات EC2 في جميع المناطق مثل الاسم وعناوين IP العامة/الخاصة وملفات تعريف المثيلات. يُنشئ ملفات loot يمكنك إدخالها إلى nmap وأدوات أخرى لتعداد الخدمات.
تعداد أذونات IAM المرتبطة بجميع المستخدمين والأدوار. استخدم grep على هذا المخرجات لمعرفة الأذونات التي يمتلكها كيان رئيسي معين بدلاً من تسجيل الدخول إلى وحدة تحكم AWS وتوسيع كل سياسة مرفقة بالكيان الذي تحقق فيه بشكل مضن.
يبحث عن بيانات pmapper المخزنة على نظام الملفات المحلي، في المواقع المحددة هنا. إذا تم العثور على بيانات pmapper (قمت بالفعل بتشغيل pmapper graph create)، فإن هذا الأمر سيستخدم هذه البيانات لبناء رسم بياني في ذاكرة cloudfox ليعلمك من يمكنه تصعيد الصلاحيات إلى مسؤول.
يسرد جميع الموارد في هذا الحساب التي تمت مشاركتها مع حسابات أخرى، أو الموارد من حسابات أخرى التي تمت مشاركتها مع هذا الحساب. مفيد لمسارات الهجوم عبر الحسابات.
يفحص خدمات متعددة تدعم سياسات الموارد ويساعدك في العثور على أي ثقات موارد مفرطة في السماح. KMS مدعوم ولكن معطل افتراضيًا. لتضمين سياسات موارد KMS في المخرجات، أضف هذا العلم إلى الأمر: cloudfox aws resource-trusts --include-kms.
يسرد الأسرار من SecretsManager وSSM. ابحث عن أسرار مثيرة للاهتمام في القائمة ثم تحقق من لديه حق الوصول إليها باستخدام cloudfox iam-simulator و/أو pmapper.
هذا الأمر يعداد جميع موضوعات SNS ويمنحك الأوامر للاشتراك في موضوع أو إرسال رسائل إلى موضوع (إذا كان لديك الأذونات اللازمة). هذا الأمر يتعامل فقط مع الموضوعات، وليس وظيفة SMS. يحاول هذا الأمر أيضًا تلخيص سياسات موارد الموضوع إذا كانت موجودة.
هذا الأمر يعداد جميع قوائم انتظار SQS ويمنحك الأوامر لتلقي الرسائل من قائمة انتظار وإرسال الرسائل إلى قائمة انتظار (إذا كان لديك الأذونات اللازمة). يحاول هذا الأمر أيضًا تلخيص سياسات موارد قائمة الانتظار إذا كانت موجودة.
يسرد جميع أعباء العمل الحاسوبية والدور الذي تملكه. يخبرك إذا كان أي من الأدوار مسؤولًا (سيء) وإذا كان لديك بيانات pmapper محليًا، فسيخبرك إذا كان أي من الأدوار يمكنه تصعيد الصلاحيات إلى مسؤول (سيء أيضًا)