مكان الحصول على المساعدة : Discord أو Stack Overflow من Rhino Security Labs
مكان تقديم المشكلات : https://github.com/RhinoSecurityLabs/pacu/issues
تتم الصيانة بواسطة : Rhino Security Labs
Pacu هو إطار استغلال مفتوح المصدر لـ AWS، مصمم لاختبارات الأمان الهجومية ضد البيئات السحابية. يسمح Pacu، الذي تم إنشاؤه وصيانته بواسطة Rhino Security Labs، لمختبري الاختراق باستغلال عيوب التكوين داخل حساب AWS، باستخدام وحدات لتوسيع وظائفه بسهولة. تعمل الوحدات الحالية على تمكين مجموعة من الهجمات، بما في ذلك تصعيد امتيازات المستخدم، والدخول الخلفي لمستخدمي IAM، ومهاجمة وظائف Lambda الضعيفة، وغير ذلك الكثير.
يعد Pacu برنامجًا خفيف الوزن إلى حد ما، حيث أنه لا يتطلب سوى Python3.7+ وpip3 لتثبيت عدد قليل من مكتبات Python.
> pip3 install -U pip > pip3 install -U pacu > pacu
للحصول على مجموعة من تعليمات المستخدم أكثر تفصيلاً وسهلة الاستخدام، يرجى مراجعة دليل التثبيت الخاص بـ Wiki.
$ docker run -it rhinosecuritylabs/pacu:latest
$ docker run -it --entrypoint /bin/sh rhinosecuritylabs/pacu:latest
تحذير: سيؤدي تشغيل هذا الأمر إلى تحميل ملفات تكوين AWS المحلية الخاصة بك في حاوية Docker عند تشغيلها. وهذا يعني أن أي مستخدم لديه حق الوصول إلى الحاوية سيكون لديه حق الوصول إلى بيانات اعتماد AWS للكمبيوتر المضيف.
$ docker run -it -v ~/.aws:/root/.aws rhinosecuritylabs/pacu:latest
عند تشغيل Pacu لأول مرة، سيُطلب منك بدء جلسة جديدة وتسميتها. سيتم استخدام هذه الجلسة لتخزين أزواج مفاتيح AWS، بالإضافة إلى أي بيانات تم الحصول عليها من تشغيل الوحدات المختلفة. يمكنك الحصول على أي عدد من الجلسات المختلفة في Pacu، كل منها بمجموعاتها الخاصة من مفاتيح وبيانات AWS، واستئناف الجلسة في أي وقت (على الرغم من أن إعادة التشغيل مطلوبة حاليًا للتبديل بين الجلسات).
تتطلب الوحدات مفتاح AWS، الذي يمنحك الحد الأدنى من الوصول إلى بيئة AWS ويتكون من معرف مفتاح الوصول ومفتاح الوصول السري. لتعيين مفاتيح جلستك، استخدم الأمر set_keys
، ثم اتبع المطالبات لتوفير اسم مستعار للمفتاح (اسم مستعار كمرجع)، ومعرف مفتاح وصول AWS، ومفتاح وصول سري لـ AWS، ورمز جلسة AWS (إذا كنت تستخدم واحدًا ).
إذا واجهتك مشكلة، فسوف تظهر لك help
قائمة بالأوامر المتاحة.
ستسرد list
الوحدات النمطية المتاحة للمناطق التي تم تعيينها في الجلسة الحالية.
سوف تقوم help module_name
بإرجاع معلومات المساعدة القابلة للتطبيق للوحدة المحددة.
سيؤدي run module_name
إلى تشغيل الوحدة المحددة بمعلماتها الافتراضية.
run module_name --regions eu-west-1,us-west-1
سيقوم بتشغيل الوحدة المحددة مقابل منطقتي eu-west-1 وus-west-1 (للوحدات النمطية التي تدعم الوسيطة --regions)
ستعرض pacu --help
قائمة المساعدة
pacu --session
يضبط الجلسة المراد استخدامها للأوامر التي تتطلب واحدًا
pacu --list-modules
سوف تسرد جميع الوحدات المتاحة (لا تتطلب جلسة)
pacu --pacu-help
سوف يسرد نافذة مساعدة pacu (لا يتطلب جلسة)
pacu --module-name
اسم الوحدة التي سيتم تنفيذ إجراء عليها، يمكنك تنفيذ أو الحصول على معلومات حول الوحدة
pacu --exec
ينفذ الوحدة المتوفرة في --module-name
pacu --module-info
احصل على معلومات حول الوحدة المتوفرة في --module-name
pacu --data
الاستعلام عن قاعدة بيانات SQLAlchemy المحلية لاسترداد المعلومات المذكورة
pacu --module-args="
توفر وسيطات الوحدة الاختيارية للوحدة التي يتم تنفيذها
pacu --set-regions
قم بتعيين المناطق المراد استخدامها في الجلسة، أو فصل المناطق بمسافة أو أدخل all
لجميع المناطق
pacu --whoami
يحصل على معلومات حول المستخدم الحالي
يستخدم Pacu مجموعة من الوحدات الإضافية لمساعدة المهاجم في التعداد وتصعيد الامتيازات واستخلاص البيانات واستغلال الخدمة ومعالجة السجلات داخل بيئات AWS. المساهمات أو الأفكار لوحدات جديدة هي موضع ترحيب.
لمواكبة التطورات المستمرة في منتجات AWS، قمنا بتصميم Pacu من الألف إلى الياء مع وضع قابلية التوسعة في الاعتبار. تعمل البنية العامة وبنية البيانات على تسهيل إنشاء الوحدات وتوسيعها - فلا داعي لتحديد مناطق AWS أو إجراء عمليات فحص أذونات متكررة بين الوحدات. يتم استخدام قاعدة بيانات SQLite محلية لإدارة البيانات المستردة ومعالجتها، وتقليل استدعاءات واجهة برمجة التطبيقات (والسجلات المرتبطة بها). تم تضمين إعداد التقارير وتدقيق الهجمات أيضًا في الإطار؛ يساعد Pacu في عملية التوثيق من خلال تسجيل الأوامر وتصديرها، مما يساعد في بناء جدول زمني لعملية الاختبار.
يسعدنا دائمًا أن نحصل على تقارير الأخطاء في إطار عمل Pacu نفسه، بالإضافة إلى الاختبار والتعليقات على الوحدات المختلفة، وبشكل عام، التعليقات النقدية للمساعدة في تحسين إطار العمل. أي دعم لـ Pacu من خلال الاستخدام أو الاختبار أو التحسين أو مجرد نشر الكلمة سيكون موضع تقدير كبير.
إذا كنت مهتمًا بالمساهمة مباشرةً في Pacu Framework نفسه، فيرجى قراءة إرشادات المساهمة الخاصة بنا فيما يتعلق باتفاقيات التعليمات البرمجية وملاحظات git-flow.
إذا كنت مهتمًا بكتابة وحداتك الخاصة لـ Pacu، فراجع صفحة wiki الخاصة بتطوير الوحدات. أثناء تطويرك لقدرات جديدة، يرجى التواصل معنا -- نود أن نضيف وحداتك الجديدة إلى المجموعة الأساسية التي تأتي مع Pacu.
تحسين تنسيق الواجهة
عمليات ترحيل قاعدة البيانات إلى الأمام وتتبع الإصدار
"قواعد اللعب الهجومية" للسماح بالاستخدام الأسهل لسلاسل تنفيذ الوحدات المعقدة
إخراج وحدة التحكم الملونة
وظيفة التشغيل الجاف للوحدة
السماح باستخدام ملفات التكوين المستقلة
تحسينات بنية البرنامج المساعد
Pacu مدعوم رسميًا في OSX وLinux.
Pacu هو برنامج مفتوح المصدر ويتم توزيعه بترخيص BSD-3-Clause.
أبلغنا عن نقاط الضعف في باكو مباشرةً عبر البريد الإلكتروني: [email protected].
يقوم Pacu بإنشاء سجلات الأخطاء داخل مجلد كل جلسة، بالإضافة إلى سجل الأخطاء العام للأخطاء خارج الجلسة والذي يتم إنشاؤه في الدليل الرئيسي. إذا كان بإمكانك، يرجى تضمين هذه السجلات مع تقارير الأخطاء الخاصة بك، حيث سيؤدي ذلك إلى تبسيط عملية تصحيح الأخطاء بشكل كبير.
إذا كان لديك طلب ميزة أو فكرة أو خطأ للإبلاغ عنه، فيرجى إرساله هنا.
يرجى تضمين وصف كافٍ لإعادة إنتاج الخطأ الذي وجدته، بما في ذلك خطوات التتبع وإعادة الإنتاج، والتحقق من وجود تقارير أخرى عن الخطأ لديك قبل تقديم تقرير خطأ جديد. لا ترسل التكرارات.
للحصول على الإرشادات التفصيلية والوثائق الكاملة، يرجى زيارة موقع Pacu wiki.
نحن نحب أن نسمع منك، مهما كان السبب. تواصل مع Rhino Security Labs Discord.
على حد علمنا، تتوافق قدرات Pacu مع سياسة الاستخدام المقبول لدى AWS، ولكن كأداة مرنة ونموذجية، لا يمكننا ضمان أن هذا سيكون صحيحًا في كل موقف. تقع على عاتقك مسؤولية التأكد من أن طريقة استخدامك لـ Pacu متوافقة مع سياسة الاستخدام المقبول لدى AWS.
اعتمادًا على خدمات AWS التي تستخدمها وما يستلزمه الاختبار المخطط له، قد تحتاج إلى مراجعة سياسة دعم عملاء AWS لاختبار الاختراق قبل تشغيل Pacu فعليًا على بنيتك التحتية.
كما هو الحال مع أي أداة لاختبار الاختراق، تقع على عاتقك مسؤولية الحصول على الترخيص المناسب قبل استخدام Pacu خارج بيئتك.
Pacu هو برنامج يأتي بدون أي ضمانات على الإطلاق. باستخدام Pacu، فإنك تتحمل المسؤولية الكاملة عن أي وجميع النتائج التي تنتج.