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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pyrebox — صندوق رمل هندسة عكسية قابل للبرمجة بلغة بايثون، إطار عمل لأجهزة الافتراضية للتجهيز والفحص يعتمد على QEMU | Kitploit
أدوات/GitHubGitHub/cisco-talos/pyrebox
التحليل الديناميكي (عزل)تحليل الذاكرة الجنائيالهندسة العكسيةمصممي الأخطاءتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةتحليل الملفات الثنائيةالتعلم والتعليمArchived
GitHubcisco-talos/pyrebox

pyrebox

صندوق رمل هندسة عكسية قابل للبرمجة بلغة بايثون، إطار عمل لأجهزة الافتراضية للتجهيز والفحص يعتمد على QEMU

1.7k254منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

================ مشروع مؤرشف

تم أرشفة هذا المشروع وقفل قائمة المشكلات الخاصة به. سيتم إبقاء المشروع عامًا لأغراض المرجعية فقط.

.. image:: docs/media/pyrebox_logo_light_bg.png

.. _QEMU: http://qemu.org/ .. _DECAF: https://github.com/sycurelab/DECAF .. _S2E: https://github.com/dslab-epfl/s2e .. _AVATAR: https://github.com/avatartwo .. _PANDA: https://github.com/panda-re/panda .. _Volatility: http://www.volatilityfoundation.org/ .. _BUILD: BUILD.rst .. _here: https://github.com/Cisco-Talos/pyrebox/issues .. _slides: https://github.com/Cisco-Talos/pyrebox/tree/master/docs/pyrebox_hitb_ams.pdf .. _available: https://github.com/Cisco-Talos/pyrebox/tree/master/docs/pyrebox_euskalhack.pdf .. _scripts: https://github.com/Cisco-Talos/pyrebox/tree/master/scripts .. _readthedocs.io: https://pyrebox.readthedocs.io/en/latest/ .. _questions: https://github.com/Cisco-Talos/pyrebox/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20 .. _presentation: https://www.youtube.com/watch?v=F2voG87obzM .. _Contest: https://volatility-labs.blogspot.com/2017/11/results-from-5th-annual-2017-volatility.html

PyREBox هو صندوق رمل قابل للبرمجة بلغة Python للهندسة العكسية. يعتمد على QEMU، ويهدف إلى المساعدة في الهندسة العكسية من خلال توفير قدرات التحليل الديناميكي وتصحيح الأخطاء من منظور مختلف. يتيح PyREBox فحص آلة افتراضية تعمل على QEMU، وتعديل ذاكرتها أو سجلاتها، وتوجيه تنفيذها، عن طريق إنشاء نصوص برمجية بسيطة بلغة Python لأتمتة أي نوع من التحليل. يقوم QEMU (عند العمل كمحاكي نظام كامل) بمحاكاة نظام كامل (وحدة المعالجة المركزية، الذاكرة، الأجهزة...). باستخدام تقنيات فحص الآلة الافتراضية (VMI)، لا يتطلب إجراء أي تعديل على نظام التشغيل الضيف، حيث يسترجع المعلومات من ذاكرته بشفافية في وقت التشغيل.

العديد من المشاريع الأكاديمية مثل DECAF_، PANDA_، S2E_، أو AVATAR_، استفادت سابقًا من التوجيه المستند إلى QEMU للتغلب على مهام الهندسة العكسية. تسمح هذه المشاريع بكتابة إضافات بلغة C/C++، وتنفذ عدة ميزات متقدمة مثل تحليل التلوث الديناميكي، التنفيذ الرمزي، أو حتى تسجيل وإعادة تشغيل آثار التنفيذ. مع PyREBox، نهدف إلى تطبيق هذه التقنية مع التركيز على إبقاء التصميم بسيطًا، وعلى سهولة استخدام النظام لمحللي التهديدات.

فاز PyREBox بمسابقة إضافات Volatility_ في عام 2017!

تم تقديم هذه الأداة في HITB Amsterdam 2018. يمكنك الاطلاع على الشرائح_، أو مشاهدة العرض التقديمي_. تم تقديمها أيضًا في النسخة الثالثة من مؤتمر EuskalHack للأمن (الشرائح متاحة_).

ما الجديد

تذكر سحب أحدث إصدار من PyREBox للاستمتاع بأحدث ميزاته. PyREBox قيد التطوير النشط ولا تزال الميزات الجديدة الرائعة في الطريق! يجب أن يحتوي الفرع الرئيسي دائمًا على إصدار مستقر، بينما تحتوي فروع التطوير على أحدث الميزات قيد العمل. تشير قائمة الإعلانات التالية إلى الفرع الرئيسي، وتاريخ دمج تغييرات التطوير في الفرع الرئيسي.

  • [5 ديسمبر 2019] نسخة بيتا من PyREBox3، جاهزة على فرع python3migration. تم نقل الأداة إلى Python3 و Volatility3. لم يتم نقل الإضافات بعد.
  • [21 يونيو 2019] تم ترقية QEMU إلى الإصدار 4.0.0، مع دعم MTTCG (multi-threaded TCG). شكر خاص لـ @richsurgenor على مساهماته القيمة في هذه الترقية.
  • [17 يونيو 2019] دمج فرع التطوير (مراقب البرامج الضارة 2).
  • [17 يونيو 2019] أتمتة حركة الماوس.
  • [17 يونيو 2019] ترقية volatility.
  • [17 أكتوبر 2018] إضافة دالة API للحصول على وقت النظام من أنظمة Windows الضيفة.
  • [17 أكتوبر 2018] إضافة دعم للرموز في فئة BP (نقطة التوقف).
  • [17 أكتوبر 2018] إضافة ذاكرة تخزين مؤقت للرموز (ملف مضيف). راجع ملفات التكوين النموذجية (pyrebox.conf.WinXPSP3x86).
  • [17 أكتوبر 2018] تغيير جلب الرموز للحصول على ملفات DLL من القرص.
  • [10 أكتوبر 2018] إضافة دعم تجريبي لجلب صفحات الذاكرة غير المعينة.
  • [10 أكتوبر 2018] إضافة تكامل The Sleuth Kit
  • [2 أغسطس 2018] إضافة نصوص التشغيل التلقائي.
  • [26 يوليو 2018] تحميل شرائح عرض EuskalHack 2018.
  • [2 يوليو 2018] إصلاحات لتوفير دعم CentOS 7.
  • [25 يونيو 2018] إضافة نصوص تم تقديمها في EuskalHack 2018.
  • [31 مايو 2018] ترقية إلى Qemu v2.12.0.
  • [29 مايو 2018] إضافة إمكانية استدعاء دوال الزناد (في C/C++) من نصوص Python.
  • [29 مايو 2018] تغيير تنسيق معاملات رد الاتصال. راجع التوثيق. الإعداد الافتراضي لا يزال النمط القديم.
  • [28 أبريل 2018] إنشاء فرع تطوير للميزات الجديدة والتي قد تكون غير مستقرة في PyREBox.
  • [13 أبريل 2018] تقديم PyREBox في HITB Amsterdam (مسار CommSec).
  • [13 أبريل 2018] إضافة نصوص مراقبة البرامج الضارة (mw_mon).
  • [8 مارس 2018] يتم الآن استدعاء المشغلات لكل عملية في النظام (وليس فقط العمليات المراقبة). راجع التوثيق
  • [8 مارس 2018] تغيير معاملات رد الاتصال لقراءة/كتابة الذاكرة. راجع التوثيق والأمثلة.
  • [8 مارس 2018] إضافة نقاط توقف لقراءة/كتابة عنوان الذاكرة الفعلية.
  • [8 مارس 2018] إضافة ردود اتصال لتحميل وإزالة الوحدات.
  • [2 نوفمبر 2017] إضافة وكيل ضيف لأنظمة لينكس 32 و 64 بت.
  • [23 أكتوبر 2017] إضافة وكيل ضيف لأنظمة ويندوز 32 و 64 بت.
  • [11 أكتوبر 2017] إضافة تحليل رموز وحدة لينكس.
  • [22 سبتمبر 2017] إضافة دعم لإعادة تحميل الوحدات.
  • [20 سبتمبر 2017] إضافة رد اتصال دالة مخصصة لفئة BP.
  • [20 سبتمبر 2017] ترقية إلى Qemu v2.10.0.
  • [31 أغسطس 2017] دعم جزئي لأنظمة لينكس الضيفة.

التثبيت

يتم توفير نص برمجي للبناء. للحصول على تفاصيل محددة حول التبعيات، يرجى الاطلاع على BUILD_. كما نقدم ملف Dockerfile.

التوثيق

يتم استضافة توثيق هذا المشروع على readthedocs.io_.

الأخطاء، الأسئلة والدعم

إذا كنت تعتقد أنك عثرت على خطأ، فيرجى الإبلاغ عنه هنا_.

قبل إنشاء مشكلة جديدة، يرجى الاطلاع على الأسئلة_ التي فتحها مستخدمون آخرون من قبل.

يتم توفير هذا البرنامج "كما هو"، ولا يُضمن أي دعم. ومع ذلك، لمساعدتنا في حل مشكلاتك، يرجى تضمين أكبر قدر ممكن من المعلومات لإعادة إنتاج الخطأ:

  • نظام التشغيل المستخدم لتجميع وتشغيل PyREBox.
  • إصدار نظام التشغيل المحدد وهدف المحاكاة الذي تستخدمه.
  • أمر الصدفة / النص البرمجي / المهمة التي كنت تحاول تشغيلها.
  • أي معلومات حول الخطأ مثل رسائل الخطأ، تتبع مكدس Python (أو IPython)، أو تتبع مكدس QEMU.
  • أي معلومات أخرى ذات صلة

خارطة الطريق

  • تكوين صورة الآلة الافتراضية ووحدة الإدارة.
  • دعم لـ ARM، MIPS، والهندسات المعمارية الأخرى.
  • إنهاء دعم أنظمة الضيف GNU/Linux (انظر المشكلات).

بدء تشغيل آلة افتراضية

يعتمد PyREBox على QEMU، لذا لبدء تشغيل آلة افتراضية داخل PyREBox، تحتاج إلى تشغيلها تمامًا كما لو كنت تقوم بتشغيل آلة QEMU افتراضية. يتم توفير نصين برمجيين نموذجيين: start_i386.sh، start_x86_64.sh، يمكنك استخدامهما كمثال.

خيار مراقب QEMU الوحيد المدعوم حالياً هو stdio (-monitor stdio).

أهداف هذا المشروع

  • توفير منصة محاكاة نظام كامل بواجهة بسيطة لفحص النظام الضيف المُحاكى.

    • توجيه دقيق للأحداث النظامية.
    • فحص آلة افتراضية (VMI) متكامل، يعتمد على volatility. لا يلزم تثبيت أي وكيل أو برنامج تشغيل في الضيف.
    • واجهة صدفة قائمة على IPython.
    • محرك برمجة نصية قائم على Python، يسمح بتكامل أي من أدوات الأمان المبنية على هذه اللغة (أحد أكبر النظم البيئية) في النصوص البرمجية.
  • الحصول على تصميم نظيف، منفصل عن QEMU. العديد من المشاريع التي تُبنى على QEMU لا تتطور عند ترقية QEMU، مما يفوتها الميزات الجديدة والتحسينات، بالإضافة إلى التحديثات الأمنية. لتحقيق ذلك، يتم تنفيذ PyREBox كوحدة مستقلة يمكن تجميعها مع QEMU مع الحد الأدنى من التعديلات.

  • دعم للهندسات المعمارية المختلفة. حالياً، يدعم PyREBox أنظمة Windows فقط لمعماريات x86 و x86-64 بت، ولكن تصميمه يسمح بدعم معماريات أخرى مثل ARM، MIPS، أو PowerPC، وأنظمة تشغيل أخرى أيضاً.

واجهة IPython

بدء تشغيل صدفة PyREBox سهل مثل كتابة الأمر sh على مراقب QEMU. سيبدأ فورًا صدفة IPython. تسجل هذه الصدفة تاريخ الأوامر بالإضافة إلى المتغيرات المحددة. على سبيل المثال، يمكنك حفظ قيمة واستعادتها لاحقًا في نقطة مختلفة من التنفيذ، عندما تبدأ الصدفة مرة أخرى. يستفيد PyREBox من جميع الميزات المتاحة في IPython مثل الإكمال التلقائي، تاريخ الأوامر، تحرير متعدد الأسطر، وتوليد المساعدة التلقائي للأوامر.

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

.. image:: docs/media/breakpoint.gif

يقدم PyREBox مجموعة كاملة من الأوامر لفحص وتعديل حالة الآلة الافتراضية قيد التشغيل. اكتب list_commands للحصول على قائمة كاملة. يمكنك تشغيل أي إضافة من إضافات volatility بمجرد كتابة vol وأمر volatility المناسب. للحصول على قائمة كاملة بإضافات volatility المتاحة، يمكنك كتابة list_vol_commands. يتم إنشاء هذه القائمة تلقائيًا، لذا ستظهر أيضًا أي إضافة volatility تقوم بتثبيتها في مسار volatility/ الخاص بـ PyREBox.

يمكنك أيضًا تعريف أوامرك الخاصة! الأمر بسيط مثل تعريف دالة في نص برمجي، وتحميلها.

إذا كنت بحاجة إلى شيء أكثر تعبيراً من أمر، يمكنك كتابة مقتطف Python يستفيد من API. للحصول على وصف تفصيلي لـ API، راجع التوثيق_ أو اكتب help(api) في الصدفة.

.. image:: docs/media/stack.gif

البرمجة النصية

يتيح PyREBox تحميل نصوص برمجية ديناميكيًا يمكنها تسجيل دوال رد الاتصال التي يتم استدعاؤها عند حدوث أحداث معينة، مثل تنفيذ تعليمات، قراءة/كتابة الذاكرة، إنشاء/تدمير العمليات، وما إلى ذلك.

نظرًا لأن PyREBox متكامل مع Volatility، سيتيح لك الاستفادة من جميع إضافات volatility للطب الشرعي للذاكرة في نصوص Python الخاصة بك. العديد من أدوات الهندسة العكسية الأكثر شهرة مبنية بلغة Python أو على الأقل لها روابط Python. يسمح نهجنا بتكامل أي من هذه الأدوات في نص برمجي.

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

في هذا المستودع ستجد نصوصًا برمجية_ نموذجية يمكن أن تساعدك في كتابة الكود الخاص بك. المساهمات مرحب بها!

الإقرار

أولاً وقبل كل شيء، لم يكن PyREBox ممكنًا بدون QEMU_ و Volatility_. نشكر مطوريهم ومشرفيهم على هذا العمل الرائع.

PyREBox مستوحى من عدة مشاريع أكاديمية، مثل DECAF_، أو PANDA_. في الواقع، العديد من استدعاءات رد الاتصال التي يدعمها PyREBox تعادل تلك الموجودة في DECAF_، والمفاهيم الكامنة وراء التوجيه تستند إلى هذه الأعمال.

يستفيد PyREBox من كود طرف ثالث، والذي يمكن العثور عليه تحت الدليل pyrebox/third_party. لكل مشروع طرف ثالث، نضمن إشارة إلى ترخيصه الأصلي، وملفات الكود المصدري الأصلية المأخوذة من المشروع، بالإضافة إلى الإصدارات المعدلة من ملفات الكود المصدري (إن وجدت)، المستخدمة من قبل PyREBox.

تنزيل الأداة