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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Pyramid — أداة للمساعدة في العمل في النقاط العمياء لـ EDRs | Kitploit
أدوات/GitHubGitHub/naksyn/pyramid
ما بعد الاستغلالاختبار الاختراقالفريق الأحمر
GitHubnaksyn/pyramid

Pyramid

أداة للمساعدة في العمل في النقاط العمياء لـ EDRs

عرض المستودع
77590منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Supported Python versions Twitter

Pyramid

immagine

ما هي

يتكون Pyramid من:

  1. خادم HTTP/S بلغة Python يمكنه تسليم ملفات مشفرة (chacha, xor)
  2. وحدات Python يمكنها تحميل تبعيات أدوات الهجوم في الذاكرة مثل Bloodhound-py و secretsdump و LaZagne و Pythonnet و DonPAPI و pythonmemorymodule و paramiko و pproxy.
  3. تبعيات Python ثابتة (ملفات مضغوطة) يمكن استيرادها في الذاكرة
  4. قاعدة تحميل Python يمكنها تنزيل وفك تشفير وتنفيذ وحدات Pyramid في الذاكرة

لماذا هي مفيدة

Pyramid مفيدة لأداء مهام ما بعد الاستغلال بطريقة مراوغة، من خلال تنفيذ أدوات هجومية من ملف ثنائي موقع (مثل python.exe) عن طريق استيراد تبعياتها في الذاكرة. يمكن تحقيق ذلك للأسباب التالية:

  1. توفر حزمة Python القابلة للتضمين مُفسّر Python موقعًا يتمتع بسمعة جيدة؛
  2. Python لديها العديد من التطبيقات المشروعة، لذا هناك الكثير من التليمترية المختلفة القادمة من ملف python.exe الثنائي نظرًا لأن المُفسّر يقوم بتشغيل واجهات برمجة التطبيقات بشكل أصلي. يمكن استغلال ذلك من خلال العمل داخل عملية Python.exe ومحاولة الاندماج في "بصمة التليمترية" الضخمة لملف python.exe الثنائي.
  3. هناك نقص في التدقيق لتنفيذ كود Python - حاول PEP-578 حل ذلك ولكن ملف python.exe الثنائي القياسي لا يحتوي على إمكانيات تدقيق مفعلة افتراضيًا.
  4. يمكن إجراء العمليات بشكل أصلي من داخل python.exe باستخدام لغة Python لأداء مهام ما بعد الاستغلال مثل استيراد وحدات Python ديناميكيًا لتشغيل أدوات هجومية وتنفيذ ملفات كائنات Beacon (بعد بعض التعديلات على BOF) مباشرة داخل python.exe.

لمزيد من المعلومات، يرجى مراجعة عرض شرائح محادثة DEFCON30 - قرية الخصم "Python vs Modern Defenses" و هذا المنشور على مدونتي.

إخلاء مسؤولية

تم إنشاء هذه الأداة لإظهار استراتيجية تجاوز ضد أنظمة EDR بناءً على بعض افتراضات النقاط العمياء. إنها مزيج من التقنيات والأدوات الموجودة بالفعل بطريقة جديدة (على حد علمي) يمكن أن تساعد في تجاوز الدفاعات. القصد الوحيد من الأداة هو مساعدة المجتمع على زيادة الوعي حول هذا النوع من الاستخدام وتسريع الحل. إنها ليست ثغرة يوم صفر، وليست C2 لامعة كاملة المواصفات، تستغل Pyramid ما قد يكون نقاط عمياء في EDR وقد تم نشر الأداة علنًا لتسليط الضوء عليها. تم تضمين فقرة دفاعية، على أمل أن يتمكن خبراء الفريق الأزرق من المساهمة وتقديم حل أفضل ممكن للمشكلة التي تهدف Pyramid إلى تسليط الضوء عليها. يتم توفير جميع المعلومات للأغراض التعليمية فقط. اتبع التعليمات على مسؤوليتك الخاصة. لا يتحمل المؤلف ولا صاحب العمل أي مسؤولية عن أي ضرر أو خسارة مباشرة أو غير مباشرة تنشأ عن أي شخص أو منظمة.

الاعتمادات

تم إلهام التحميل في الذاكرة لـ Pyramid في البداية وتوسع بناءً على xorrior 's Empyre - Finder Class

المساهمون

snovvcrash بنى الوحدات النمطية mod-DonPAPI.py - mod-LaZagne.py - mod-clr.py

الميزات الحالية

يمكن تنفيذ قدرات وحدات Pyramid مباشرة من مُفسّر Python وهي حاليًا:

  1. تنزيل وفك تشفير وتحميل تبعيات Python في الذاكرة.
  2. التحميل الديناميكي وتنفيذ BloodHound Python، impacket secretsdump، DonPAPI، LaZagne.
  3. تحميل dll أو exe تم جلبه عن بُعد في الذاكرة عبر PythonMemoryModule
  4. وكيل SOCKS5 عبر نفق عكسي لـ SSH.
  5. تحميل تجميع .NET في الذاكرة عبر Pythonnet

الميزات الرئيسية لخادم HTTP الخاص بـ Pyramid:

  1. تشفير فوري (chacha,xor) للملفات التي سيتم تسليمها
  2. إنشاء تلقائي لتكوينات الخادم بناءً على سطر أوامر pyramid
  3. فك تشفير وفك تشفير معاملات HTTP (URL)
  4. مصادقة HTTP أساسية

الميزات الرئيسية للقاعدة:

  1. تنزيل وفك تشفير وتنفيذ وحدات Pyramid في الذاكرة.
  2. اعتماد فقط على المكتبات القياسية لـ Python

الوصف

يمكن استخدام Pyramid مع مُفسّر Python موجود بالفعل على جهاز الهدف، أو عن طريق فك ضغط حزمة Python القابلة للتضمين الرسمية ثم تشغيل python.exe لتنفيذ قاعدة تحميل Python. هذه طريقة بسيطة لتجنب إنشاء نمط شجرة عمليات غير عادي والظهور كاستخدام عادي لتطبيق Python.

في Pyramid، تُستخدم قاعدة التحميل للوصول إلى خادم Pyramid عبر HTTP/S لجلب الوحدات والتبعيات.

الوحدات خاصة بالميزة التي تريد استخدامها وتحتوي على:

  1. فئة Finder مخصصة لاستيراد التبعيات المطلوبة (ملفات مضغوطة) في الذاكرة.
  2. كود لتنزيل التبعيات المطلوبة.
  3. المنطق الرئيسي للبرنامج الذي تريد تنفيذه (bloodhound, secretsdump, paramiko إلخ.).

تم إصلاح تبعيات Python وتعديلها بالفعل ليتم استيرادها في الذاكرة دون تعارض.

يتوفر حاليًا 8 وحدات Pyramid:

  1. bh.py سيستورد وينفذ python-BloodHound في الذاكرة.
  2. secretsdump.py سيستورد وينفذ Impacket secretsdump في الذاكرة.
  3. shellcode.py هو حاقن شيل كود بسيط في الذاكرة.
  4. DonPAPI.py سينفذ البرنامج النصي DonPAPI في الذاكرة. يتم حفظ النتائج وبيانات الاعتماد المستخرجة على القرص في دليل حزمة Python القابلة للتضمين.
  5. LaZagne.py سينفذ البرنامج النصي LaZagne في الذاكرة.
  6. tunnel-socks5 يقوم البرنامج النصي باستيراد وتنفيذ paramiko في خيط جديد لإنشاء إعادة توجيه منفذ عن بُعد عبر SSH إلى خادم SSH، ثم يتم تنفيذ خادم وكيل socks5 محليًا على الهدف وجعله قابلاً للوصول عن بُعد عبر نفق SSH.
  7. clr يستورد البرنامج النصي Pythonnet لتحميل وتنفيذ تجميع .NET في الذاكرة.
  8. pythonmemorymodule يستورد البرنامج النصي PythonMemoryModule لتحميل dll من الذاكرة.

الاستخدام

بدء الخادم

git clone https://github.com/naksyn/Pyramid

إنشاء شهادات SSL لخادم HTTP:

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

إذا كنت تريد استخدام شهادة SSL الموقعة الخاصة بك، فتأكد من:

  1. استخدام تنسيق pem
  2. إعادة تسمية الملفات إلى key.pem و cert.pem
  3. وضع كلا الملفين في مجلد Server.

تكوين الوحدة

على سبيل المثال، إذا كنت تريد استخدام pythonmemorymodule مع Pyramid، ضع حمولتك في مجلد Delivery_files، ثم افتح pythonmemorymodule.py وقم بتكوين المعلمات المطلوبة في أعلى البرنامج النصي، مثل اسم ملف الحمولة والإجراء الذي تريد استدعاءه بعد تحميل PE.

فك ضغط الحزمة القابلة للتضمين وتنفيذ قاعدة التحميل على الهدف

بمجرد تشغيل خادم Pyramid وإعداد البرنامج النصي الأساسي، يمكنك تعيين متغير pyramid_module في ملف Agent/cradle.py وتنفيذه على الهدف. تم بناء القاعدة ليتم تشغيلها باستخدام المكتبات القياسية لـ Python.

مثال

مثال على تشغيل خادم HTTP الخاص بـ Pyramid باستخدام شهادة SSL مع توفير مصادقة أساسية، وتشفير ملفات التسليم باستخدام ChaCha وإنشاء تكوين الخادم تلقائيًا في الوحدات وطباعة قاعدة قابلة للصق لـ pythonmemorymodule:

root@kitploit:~
python3 pyramid.py -p 443 -ssl -u testuser -pass Sup3rP4ss! -enc "chacha20" -passenc "TestPass1" -server "192.168.1.2" -generate -setcradle pythonmemorymodule.py

عند بدء التشغيل، يقوم pyramid.py بتحليل هيكل المجلد الخاص به للبحث عن key.pem و cert.pem وسيقوم بتسليم الملفات من مجلد Server.

https://github.com/naksyn/Pyramid/assets/59816245/4fbc997e-af2d-4ead-881b-ee108c91d195

نصيحة لتنفيذ Pyramid بدون ظهور موجه

لتنفيذ Pyramid دون إظهار موجه python.exe مرئي، يمكنك الاستفادة من pythonw.exe الذي لن يفتح نافذة وحدة تحكم عند التنفيذ وهو موجود في نفس حزمة Windows القابلة للتضمين. توضح الصورة التالية مثالاً على استخدام pythonw.exe لتنفيذ base-tunnel-socks5.py على جهاز بعيد دون فتح نافذة وحدة تحكم python.exe.

image

القيود

لا يدعم التحميل الديناميكي لوحدات Python بشكل أصلي استيراد ملفات *.pyd التي هي في الأساس ملفات dll. الحل العام الوحيد المعروف لي الذي يحل هذه المشكلة يوفره Scythe *(in-memory-execution) من خلال إعادة هندسة مُفسّر CPython. من أجل عدم فقدان التوقيع الرقمي، فإن أحد الحلول التي تسمح باستخدام حزمة Python القابلة للتضمين الأصلية يتضمن إسقاط ملفات pyd أو العجلات المطلوبة على القرص. لا ينبغي أن يكون لهذا آثار كبيرة على OPSEC في معظم الحالات، ومع ذلك ضع في اعتبارك أن العجلات التالية التي تحتوي على ملفات pyd يتم إسقاطها على القرص للسماح بإكمال التحميل الديناميكي: *. Cryptodome - مطلوب من قبل Bloodhound-Python و Impacket و DonPAPI و LaZagne *. bcrypt و cryptography و nacl و cffi - مطلوب من قبل paramiko

كيفية الدفاع ضد هذه التقنية

ملف python.exe هو ملف ثنائي موقع يتمتع بسمعة جيدة ولا يوفر رؤية للكود الديناميكي لـ Python. تستغل Pyramid خصائص التهرب هذه من خلال تنفيذ مهام هجومية من داخل نفس عملية python.exe.

لهذا السبب، سيكون أحد أكثر الحلول فعالية هو حظر الملفات الثنائية و dll الموقعة من مؤسسة Python افتراضيًا، مع إنشاء استثناءات فقط للمستخدمين الذين يحتاجون بالفعل إلى استخدام ملفات Python الثنائية.

يمكن أيضًا إطلاق تنبيهات على تنزيل الحزم القابلة للتضمين.

نشر PEP-578 ممكن أيضًا على الرغم من تعقيده، هذا نموذج تنفيذ. ومع ذلك، فإن نشر PEP-578 دون حظر استخدام ملفات Python الثنائية القياسية يمكن أن يجعل هذا الإجراء المضاد عديم الفائدة.

تنزيل الأداة