Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CloudPrivs — تحديد الصلاحيات من بيانات اعتماد السحابة عبر اختبار القوة العمياء. | Kitploit
أدوات/GitHubGitHub/abstractclass/cloudprivs
تصعيد الامتيازاتتحليل الثغرات الأمنيةجمع المعلوماتاختبار الاختراقأمن السحابة
GitHubabstractclass/cloudprivs

CloudPrivs

تحديد الصلاحيات من بيانات اعتماد السحابة عبر اختبار القوة العمياء.

عرض المستودع
692منذ 26 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CloudPrivs

لدي بيانات الاعتماد، ماذا الآن؟

نظرة عامة

CloudPrivs هي أداة تستخدم القوة الحالية لمجموعات تطوير البرمجيات (SDKs) مثل Boto3 لاختبار صلاحيات جميع الخدمات السحابية بطريقة القوة العمياء (brute force) لتحديد الصلاحيات المتاحة لمجموعة معينة من بيانات الاعتماد.

هذه الأداة مفيدة لمختبري الاختراق، وأعضاء فرق الاختبار الأحمر، وغيرهم من محترفي الأمن. عادةً لا توفر الخدمات السحابية طريقة لتحديد الأذونات التي تمتلكها مجموعة معينة من بيانات الاعتماد، كما أن العدد الهائل من الخدمات والعمليات يجعل من الصعب التأكيد يدويًا. قد يعني هذا أن تصعيد الصلاحيات قد يكون ممكنًا من مجموعة من بيانات الاعتماد، لكن قد لا يعرف أحد ذلك أبدًا لأنه ببساطة لا يعلم أن بيانات اعتماد AWS التي وجدها يمكنها تنفيذ Lambda.

التثبيت

غير متوفر حاليًا على PyPi لكنني أعمل على ذلك

Pip (بسيط)

root@kitploit:~
git clone https://github.com/AbstractClass/CloudPrivs
cd CloudPrivs
python -m pip install -e .

هذا بدون بيئة افتراضية ولا يُنصح به إذا كنت تشغل العديد من برامج Python.

Pip (موصى به)

root@kitploit:~
git clone https://github.com/AbstractClass/CloudPrivs
cd CloudPrivs
python -m  venv venv/
./venv/bin/activate # activate.ps1 على ويندوز
python -m pip install -e .

يمكنك أيضًا استخدام Pyenv+virtualenv إذا كان متاحًا:

root@kitploit:~
git clone https://github.com/AbstractClass/CloudPrivs
cd CloudPrivs
pyenv virtualenv CloudPrivs
pyenv local CloudPrivs
python -m pip install -e .

الاستخدام

cloudprivs [المزود] [الوسائط]

المزودون

المزود الوحيد المتاح حاليًا هو AWS، لكنني أعمل على GCP. إذا كنت ترغب في المساعدة، انظر #التخصيص.

AWS

root@kitploit:~
Options:
  -v, --verbose                إظهار الاختبارات الفاشلة والإشكالات في المخرجات
  -s, --services TEXT          اختبار الخدمات المحددة فقط بدلاً من جميع الخدمات المتاحة
  -p, --profile TEXT           اسم ملف تعريف AWS للمسح الضوئي، إذا لم يُحدد ستُستخدم متغيرات البيئة
  -t, --custom-tests FILENAME  موقع ملف YAML للاختبارات المخصصة. اقرأ الوثائق لمزيد من المعلومات
  -r, --regions TEXT           قائمة بفلاتر لمطابقة المناطق، مثلاً "us"، "eu-west"، "ap-north-1"
  --help                       عرض هذه الرسالة والخروج

نصائح

يُدعم استخدام وسائط متعددة مع --region و --service لكن يجب توفيرها مع العلامة في كل مرة، أي cloudprivs aws -r us -r eu -s ec2 -s lambda. لا يعجبني الأمر أيضًا لكنه قيود في Click لم أجد حلاً لها حتى الآن.

لاحظ أن علامة region تدعم المطابقات الجزئية، وأكثر الوسائط شيوعًا هي -r us -r eu لتغطية المناطق الشائعة فقط.

يتم عرض النتائج مجمعة حسب المنطقة، ويحتوي كل سطر على حالة اختبار ونتيجة الاختبار.

الأخطاء

إذا واجهت الأداة أخطاء غير متوقعة أثناء الاختبار، فستُخرج إلى stderr فور حدوثها، مما يعني أنها قد تقاطع تدفق المخرجات. إذا كنت لا تريد رؤيتها، يمكنك توجيه stderr إلى مكان آخر.

كيف تعمل

على عكس الأدوات الأخرى مثل WeirdAAL التي تكتب كل حالة اختبار يدويًا، تقوم CloudPrivs بالاستعلام مباشرةً عن Boto3 SDK لتوليد قائمة ديناميكية بجميع الخدمات المتاحة وجميع المناطق المتاحة لكل خدمة.

بمجرد إنشاء القائمة الكاملة، تُستدعى كل دالة بدون وسائط افتراضيًا، مع دعم إضافة وسائط مخصصة لكل عملية (مزيد من المعلومات في #التخصيص).

تحذير: بعض دوال AWS قد تترتب عليها تكاليف عند استدعائها. لقد سمحت فقط بالعمليات التي تبدأ بـ get_ و list_ و describe_ لتخفيف التكاليف العرضية، وهذا يبدو آمنًا في اختباراتي الخاصة، لكن يُرجى استخدامه بحذر. يبدو هذا آمنًا للأدوات الأخرى مثل enumerate-iam، لكنني لا أضمن أنك لن تتكبد تكاليف عرضية عند استدعاء كل هذه الدوال (حتى لو كانت بدون وسائط).

التخصيص

تدعم CloudPrivs التوسيع/التخصيص بسهولة في مجالين:

  • المزودون
  • الاختبارات المخصصة

المزودون

لتنفيذ مزود جديد (مثل GCP) بسيط:

  1. اكتب المنطق لإجراء الاختبارات، لا يهم اصطلاح التسمية أو البنية.
  2. تحت مجلد CloudPrivs/providers، أنشئ مجلدًا جديدًا للمزود الخاص بك (مثل 'gcp').
  3. في ملف CloudPrivs/providers/__init__.py، أضف مزودك إلى متغير __all__، يجب أن يطابق اسم المجلد.
  4. أنشئ ملفًا باسم cli.py في مجلد المزود الخاص بك.
  5. استخدم Click لإنشاء واجهة سطر أوامر (CLI) للمزود الخاص بك وقم بتسمية دالة دخول CLI باسم cli (انظر مزود AWS كمرجع).
  6. انتهى! يجب أن يظهر الآن تشغيل cloudprivs <provider> واجهة CLI الخاصة بك.

الاختبارات المخصصة

يدعم مزود AWS إدخال وسائط عند استدعاء دوال AWS. تم توفير هذه الميزة لأن دالة AWS غالبًا ما تتطلب وسائط للاستدعاء، وفي بعض الحالات يمكن أن تكون هذه الوسائط متغيرات ثابتة. هذا يعني أنه إذا تمكنا من توفير متغيرات وهمية، يمكننا زيادة تغطية الاختبارات. وفي حالات أخرى، يمكننا إدخال وسائط مثل dryrun=true لجعل الاستدعاءات أسرع.

يتم تخزين الاختبارات المخصصة في ملف YAML في cloudprivs/providers/aws/CustomTests.yaml.

هيكل YAML كالتالي:

root@kitploit:~
---
<service-name>:
    - <function-name>:
        args:
            - <arg1>
            - <arg2>
        kwargs:
            arg1: val1
            arg2: val2

ملاحظة: اسم الدالة يدعم المطابقات الجزئية، مما يعني أنه يمكنك استخدام اسم دالة مثل 'describe_' وسيتم حقن الوسائط المحددة في جميع الدوال التي تحتوي على 'describe_'. تُطبق القواعد على أساس "أول من يُوجد"، لذا إذا كنت ترغب في تجاوز قاعدة عامة، ضع قاعدتك الأكثر تحديدًا فوق القاعدة العامة. مثال:

root@kitploit:~
ec2:
    - describe_instances
        args:
        kwargs:
            DryRun: True
            NoPaginate: True
    - describe_
        args:
        kwargs:
            DryRun: True

إضافة قواعد جديدة

يمكن إضافة قواعد جديدة إما عن طريق تعديل ملف CustomTests.yaml الموجود أو إنشاء ملف YAML جديد وتحديده باستخدام العلامة --custom-tests. سيتم دمج الملف الجديد مع ملف الاختبارات الموجود، وسيتم تجاوز أي قيم مكررة مع إعطاء أولوية للملف المُقدم.

الاستخدام كمكتبة

AWS

تمت كتابة مزود AWS كمكتبة للتكامل مع أدوات أخرى. يمكنك استخدامه كما يلي:

root@kitploit:~
import boto3
from cloudprivs.providers.aws import service
from concurrent.futures import ThreadPoolExecutor

session = boto3.Session('default')
with ThreadPoolExecutor(15) as executor:
  iam = service.Service('iam', session, executor=executor)
  scan_results = iam.scan() # سيغطي جميع المناطق المدرجة في executor (جميع المناطق المتاحة افتراضيًا)
  formatted_results = iam.pretty_print_scan(scan_results)
  print(formatted_results)

كل شيء موثق بالكامل في الشيفرة المصدرية، ويجب أن يكون سهلاً في الفهم.

خريطة الطريق

هذه الأداة وظيفية ولكنها بعيدة عن الاكتمال. أعمل بنشاط على ميزات جديدة وأرحب بالمساهمات، لذا لا تتردد في فتح مشكلات (Issues)/طلبات ميزات (Feature Requests) وإرسال طلبات السحب (PRs).

الميزات المخطط لها

  • إضافة الأداة إلى PyPi
  • دعم GCP
  • مخرجات JSON
  • إضافة اختبارات وحدة (unit tests)
  • الانتقال إلى Golang
تنزيل الأداة