
إطار استغلال AWS، مصمم لاختبار أمان بيئات خدمات أمازون ويب.
أين تحصل على المساعدة: سيرفر ديسكورد Rhino Security Labs، أو Stack Overflow
أين تبلغ عن المشكلات: https://github.com/RhinoSecurityLabs/pacu/issues
يُدار بواسطة: Rhino Security Labs
Pacu هو إطار عمل هجومي مفتوح المصدر لـ AWS، مصمم لاختبار الأمان الهجومي ضد البيئات السحابية. تم إنشاؤه وصيانته بواسطة Rhino Security Labs، يتيح Pacu لمختبرِي الاختراق استغلال ثغرات التهيئة داخل حساب AWS، باستخدام وحدات لتوسيع وظائفه بسهولة. تتيح الوحدات الحالية مجموعة من الهجمات، بما في ذلك تصعيد صلاحيات المستخدم، وإضافة أبواب خلفية لمستخدمي IAM، ومهاجمة دوال Lambda الضعيفة، وغير ذلك الكثير.
Pacu هو برنامج خفيف إلى حد ما، حيث يتطلب فقط Python3.7+ و pip3 لتثبيت مجموعة من مكتبات Python.
pip3 install -U pip
pip3 install -U pacu
pacu
هذه هي الطريقة المفضلة عند استخدام Kali Linux نظرًا لأن pip لم يعد مثبتًا افتراضيًا. سيقوم هذا بتثبيت Pacu مع أحدث التحديثات التي قد لا تكون مضمنة في الإصدار الرسمي.
pipx install git+https://github.com/RhinoSecurityLabs/pacu.git
للحصول على مجموعة أكثر تفصيلاً وسهولة من تعليمات المستخدم، يرجى مراجعة دليل التثبيت في الويكي.
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 <session name> يضبط الجلسة لاستخدامها للأوامر التي تتطلب واحدةpacu --list-modules سيسرد جميع الوحدات المتاحة (لا يتطلب جلسة)pacu --pacu-help سيعرض نافذة مساعدة pacu (لا تتطلب جلسة)pacu --module-name <module name> اسم وحدة لتنفيذ إجراء عليها، يمكنك تنفيذها أو الحصول على معلومات عنهاpacu --exec تنفيذ الوحدة المقدمة في --module-namepacu --module-info الحصول على معلومات حول الوحدة المقدمة في --module-namepacu --data <service name || all> الاستعلام عن قاعدة بيانات SQLAlchemy المحلية لاسترجاع المعلومات التي تم تعدادهاpacu --module-args="<arg1> <value> <arg2> <value>" توفير وسيطات اختيارية للوحدة الجاري تنفيذهاpacu --set-regions <region1 region2 || all> تعيين المناطق لاستخدامها في الجلسة، افصل المناطق بمسافة أو أدخل لجميع المناطقيستخدم Pacu مجموعة من الوحدات الإضافية لمساعدة المهاجم في التعداد، تصعيد الصلاحيات، استخراج البيانات، استغلال الخدمات، والتلاعب بالسجلات داخل بيئات AWS. المساهمات أو الأفكار للوحدات الجديدة مرحب بها.
لمواكبة التطورات المستمرة لمنتجات AWS، قمنا بتصميم Pacu من البداية مع مراعاة قابلية التوسع. تحافظ البنية النحوية وهيكل البيانات المشتركة على سهولة بناء الوحدات وتوسيعها - لا حاجة لتحديد مناطق AWS أو إجراء فحوصات إذن زائدة بين الوحدات. يتم استخدام قاعدة بيانات SQLite محلية لإدارة ومعالجة البيانات المسترجعة، مما يقلل من استدعاءات API (وسجلاتها المرتبطة). تم دمج إعداد التقارير وتدقيق الهجمات أيضًا في الإطار؛ يساعد Pacu عملية التوثيق من خلال تسجيل الأوامر وتصديرها، مما يساعد في بناء جدول زمني لعملية الاختبار.
نحن سعداء دائمًا بتلقي تقارير الأخطاء في إطار Pacu نفسه، وكذلك اختبار وملاحظات حول الوحدات المختلفة، وبشكل عام، النقد البناء للمساعدة في تحسين الإطار. أي دعم لـ Pacu من خلال الاستخدام، الاختبار، التحسين، أو حتى بنشر الكلمة، سيكون موضع تقدير كبير.
إذا كنت مهتمًا بالمساهمة مباشرة في إطار Pacu نفسه، يرجى قراءة إرشادات المساهمة الخاصة بنا.
إذا كنت مهتمًا بكتابة وحداتك الخاصة لـ Pacu، فراجع صفحة الويكي الخاصة بـ تطوير الوحدات. عند تطوير إمكانيات جديدة، يرجى التواصل معنا -- سنكون سعداء بإضافة وحداتك الجديدة إلى المجموعة الأساسية التي تأتي مع Pacu.
للحصول على شروحات خطوة بخطوة ووثائق كاملة، يرجى زيارة ويكي Pacu.
allpacu --whoami الحصول على معلومات حول المستخدم الحالي