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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
kaiju — CERT Kaiju هي إضافة إطار تحليل ثنائي لمجموعة أدوات هندسة عكسية البرمجيات Ghidra. هذا المستودع هو "مرآة" -- يرجى تقديم التذاكر، تقارير الأخطاء، أو طلبات السحب في المستودع الأصلي في @CERTCC: https://github.com/certcc/kaiju | Kitploit
أدوات/GitHubGitHub/cmu-sei/kaiju
التحليل الثابتالهندسة العكسيةتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةتحليل البرامج الثابتة
GitHubcmu-sei/kaiju

kaiju

CERT Kaiju هي إضافة إطار تحليل ثنائي لمجموعة أدوات هندسة عكسية البرمجيات Ghidra. هذا المستودع هو "مرآة" -- يرجى تقديم التذاكر، تقارير الأخطاء، أو طلبات السحب في المستودع الأصلي في @CERTCC: https://github.com/certcc/kaiju

عرض المستودع
144393منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Dynamic YAML Badge release_on_tag Badge run_tests_on_push_pr Badge

إطار عمل CERT Kaiju لتحليل البرامج الثنائية لـ GHIDRA

CERT Kaiju هي مجموعة من أدوات تحليل البرامج الثنائية لـ Ghidra.

هذا تطبيق بلغة Java لـ Ghidra لبعض ميزات إطار عمل CERT Pharos لتحليل البرامج الثنائية، خاصة أدوات تجزئة الدوال وتحليل البرامج الضارة، ولكن من المتوقع أن تتوسع بإضافة أدوات وقدرات جديدة بمرور الوقت.

نظرًا لأن هذا جهد جديد، فإن هذا التطبيق لا يتمتع بعد بالتماثل الكامل في الميزات مع التطبيق الأصلي بلغة C++ القائم على ROSE؛ ومع ذلك، فإن الانتقال إلى Java و Ghidra قد مكّن بالفعل من بعض الميزات الجديدة غير المتاحة في الإطار الأصلي — ولا سيما تحسين المعالجة لمعماريات غير x86. نظرًا لإعادة هيكلة كبيرة للإطار والأدوات، والانتقال إلى Java و Ghidra الذي يتيح قدرات مختلفة عن تطبيق C++، تم اتخاذ القرار باستخدام علامة تجارية جديدة بحيث يكون هناك ارتباك أقل بين التطبيقات عند مناقشة الأدوات والقدرات المختلفة.

نعتزم في المستقبل القريب الحفاظ على كل من إطار Pharos الأصلي وكذلك Kaiju، جنبًا إلى جنب، حيث يمكن لكل منهما تقديم ميزات وقدرات فريدة.

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

التثبيت

حزم Kaiju المجمعة مسبقًا متاحة. ما عليك سوى تنزيل الملف المضغوط المطابق لإصدار Ghidra الخاص بك وتثبيته وفقًا للإرشادات أدناه. يُوصى بالتثبيت عبر الواجهة الرسومية لـ Ghidra، ولكن يمكن أيضًا فك الضغط يدويًا في الدليل المناسب للتثبيت.

يتطلب CERT Kaiju التبعيات التالية في وقت التشغيل:

  • Ghidra الإصدارات 10.3.x، 10.4.x، 11.0.x، 11.1.x، 11.2.x، 11.3.x، 11.4.x، 12.0.x
  • JDK 21 (أو 17 لإصدارات Ghidra الأقدم)
  • Z3 بما في ذلك روابط Java لـ Z3 .jar

يتم توفير Z3 مجمّعًا مسبقًا كجزء من الحزم المجمعة مسبقًا، أو يمكنك بناء Z3 بنفسك أو استخدام حزمة توزيعة Linux الخاصة بك.

التثبيت الرسومي

قم بتشغيل Ghidra، ومن النافذة الافتتاحية، اختر من القائمة: File > Install Extension. انقر على علامة الجمع في أعلى نافذة الإضافات، وانتقل إلى ملف .zip في مستعرض الملفات وحدده ثم اضغط OK. سيتم تثبيت الإضافة وسيتم وضع علامة اختيار بجانب اسم الإضافة في النافذة لإعلامك بأنها مثبتة وجاهزة.

سيطلب منك الواجهة إعادة تشغيل Ghidra لبدء استخدام الإضافة. ما عليك سوى إعادة التشغيل، وستكون ميزات Kaiju الإضافية متاحة للاستخدام بشكل تفاعلي أو في النصوص البرمجية.

قد تتطلب بعض الوظائف تمكين إضافات Kaiju. للقيام بذلك، افتح Code Browser ثم انتقل إلى القائمة File > Configure. في النافذة التي تظهر، انقر على رابط Configure أسفل أيقونة فئة "CERT Kaiju". ستظهر نافذة منبثقة تعرض جميع إضافات Kaiju المتاحة للجمهور. حدد أي إضافات ترغب في تفعيلها، ثم اضغط OK. ستتمكن الآن من الوصول إلى ميزات الإضافة التفاعلية.

إذا لم تكن الإضافة مرئية فور تمكينها، يمكنك العثور على الإضافة ضمن قائمة Window في Code Browser.

قد تكون إصدارات "ألفا" التجريبية من الأدوات المستقبلية متاحة من فئة "Experimental" إذا كنت ترغب في اختبارها. لكن هذه الإضافات هي بالتأكيد تجريبية وغير مدعومة ولا يُوصى بها لاستخدام الإنتاج. ومع ذلك، نرحب بالملاحظات المبكرة!

التثبيت اليدوي

يمكن أيضًا تثبيت إضافات Ghidra مثل Kaiju يدويًا عن طريق فك محتويات الإضافة في الدليل المناسب لتثبيت Ghidra الخاص بك. لمزيد من المعلومات، يرجى الاطلاع على دليل تثبيت Ghidra.

البناء بنفسك

يمكنك أيضًا بناء إضافة Kaiju مباشرة من الكود المصدري. راجع ملف INSTALL.md الموجود في دليل المصدر العلوي لـ Kaiju.

الاستخدام

يمكن استخدام أدوات Kaiju إما بطريقة رسومية تفاعلية، أو عبر وضع "بدون واجهة" (headless) المناسب للمهام الدفعية. قد تكون بعض الأدوات متاحة فقط للاستخدام الرسومي أو بدون واجهة، حسب طبيعة الأداة.

الواجهة الرسومية التفاعلية

يقوم Kaiju بإنشاء واجهة رسومية تفاعلية (GUI) داخل Ghidra باستخدام Java Swing وهندسة الإضافات في Ghidra.

معظم أدوات Kaiju هي في الواقع إضافات تحليلية تعمل تلقائيًا عند اختيار خيار "Auto Analysis"، سواء عند استيراد ملف تنفيذي جديد لفك التجميع، أو باختيار Analysis > Auto Analyze... مباشرة من نافذة Code Browser. سترى العديد من إضافات CERT التحليلية محددة افتراضيًا في أداة Auto Analyze، ولكن يمكنك تمكين/تعطيل أي منها حسب الرغبة.

ومع ذلك، يجب تشغيل أدوات التحليل قبل أن تعمل أدوات الواجهة الرسومية المختلفة. في بعض الحالات النادرة، قد يكون من المفيد تشغيل Auto Analysis مرتين لضمان إنتاج جميع البيانات الوصفية اللازمة لإنشاء معلومات التقسيم وفك التجميع الصحيحة، والتي بدورها يمكن أن تؤثر على نتائج التجزئة.

يتم تشغيل المحللات تلقائيًا أثناء مرحلة التحليل في Ghidra وتشمل:

  • DisasmImprovements = تحسين تقسيم الدوال في فك التجميع مقارنة بتقسيم Ghidra القياسي.
  • Fn2Hash = حساب تجزئات الدوال لجميع الدوال في برنامج ويستخدم لتوليد توقيعات YARA للبرامج.

تشمل أدوات الواجهة الرسومية:

  • GhiHorn = إضافة لحساب المسارات وإمكانية الوصول في مخططات تدفق التحكم، باستخدام Z3.
    • اختر Kaiju > GhiHorn للوصول إلى هذه الأداة من CodeBrowser في Ghidra. يمكنك أيضًا تشغيل الإضافة بالضغط على CTRL-G.
  • عارض تجزئة الدوال = إضافة تعرض قائمة تفاعلية للدوال في برنامج والعديد من أنواع التجزئات. يمكن للمحللين استخدام هذه الأداة لتصدير دالة أو أكثر من برنامج إلى توقيعات YARA.
    • اختر Window > CERT Kaiju Function Hash Viewer من القائمة للبدء مع هذه الأداة إذا لم تكن مرئية بالفعل. ستظهر نافذة جديدة تعرض جدولاً من التجزئات والبيانات الأخرى. الأزرار الموجودة في أعلى النافذة يمكنها تحديث الجدول أو تصدير البيانات إلى ملف أو توقيع YARA. يمكن أيضًا إرساء هذه النافذة داخل CodeBrowser الرئيسي لـ Ghidra لسهولة الاستخدام جنبًا إلى جنب مع الإضافات الأخرى. يمكن العثور على وثائق استخدام أكثر شمولاً في قائمة Help > Contents في Ghidra عند استخدام الأداة.
  • مستورد OOAnalyzer JSON = إضافة يمكنها تحميل وتحليل وتطبيق نتائج OOAnalyzer المولدة بواسطة Pharos على الملفات التنفيذية للبرمجة الكائنية بلغة C++ في مشروع Ghidra. عند التشغيل، تطلب الإضافة من المستخدم ملف الإخراج JSON الذي ينتجه OOAnalyzer والذي يحتوي على معلومات حول فئات C++ المستعادة. بعد تحميل ملف JSON، يتم تحديث أنواع بيانات C++ والرموز المستعادة التي وجدها OOAnalyzer في Code Browser لـ Ghidra. يتم وصف تصميم الإضافة وتفاصيل التنفيذ في منشور مدونة SEI بعنوان استخدام OOAnalyzer لهندسة عكسية للبرامج الكائنية مع Ghidra.
    • اختر Kaiju > OOAnalyzer Importer من القائمة للبدء مع هذه الأداة. سيطلب منك مربع حوار بسيط تحديد ملف JSON الذي ترغب في استيراده. يمكن العثور على وثائق استخدام أكثر شمولاً في قائمة Help > Contents في Ghidra عند استخدام الأداة.

وضع سطر الأوامر "بدون واجهة" (Headless)

يدعم Ghidra أيضًا وضع "بدون واجهة" مما يسمح بتشغيل الأدوات في بعض الحالات دون استخدام الواجهة الرسومية التفاعلية. لذلك يمكن استخدام هذه الأوامر لأغراض البرمجة النصية ووظائف "الوضع الدفعي" لعدد كبير من الملفات.

تعتمد أدوات وضع عدم الواجهة بشكل كبير على وظيفة GhidraScript في Ghidra.

تشمل أدوات وضع عدم الواجهة:

  • fn2hash = تشغيل Fn2Hash تلقائيًا على برنامج معين وتصدير جميع التجزئات إلى ملف CSV محدد
  • fn2yara = تشغيل Fn2Hash تلقائيًا على برنامج معين وتصدير جميع بيانات التجزئة كتوقيعات YARA إلى الملف المحدد
  • fnxrefs = تحليل برنامج وتصدير قائمة من الدوال بناءً على عنوان نقطة الدخول التي لها مراجع متقاطعة في البيانات أو أجزاء أخرى من البرنامج

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

root@kitploit:~
$GHIDRA_INSTALL_DIR/Ghidra/Extensions/kaiju/kaijuRun fn2hash example.exe

سيقوم هذا الأمر بإخراج النتائج إلى ملف مسمى تلقائيًا باسم example.exe.Hashes.csv.

المساعدة الأساسية لنص kaijuRun متاحة عن طريق تشغيل:

root@kitploit:~
$GHIDRA_INSTALL_DIR/Ghidra/Extensions/kaiju/kaijuRun --help

يرجى الاطلاع على ملف docs/HeadlessKaiju.md في المستودع لمزيد من المعلومات حول استخدام هذا الوضع ونص التشغيل kaijuRun.

وثائق ومساعدة إضافية

المزيد من الوثائق والمساعدة الشاملة متاحة، بأحد تنسيقين.

انظر إلى دليل docs/ للحصول على وثائق منسقة بـ Markdown ومساعدة لجميع أدوات ومكونات Kaiju. هذه المستندات سهلة الصيانة والتحرير والقراءة حتى من سطر الأوامر.

بدلاً من ذلك، يمكنك العثور على نفس الوثائق في نظام المساعدة المدمج في Ghidra. للوصول إلى مستندات المساعدة هذه، من قائمة Ghidra، اذهب إلى Help > Contents ثم اختر CERT Kaiju من شجرة التنقل على الجانب الأيسر من نافذة المساعدة.

يرجى ملاحظة أن وثائق المساعدة في Ghidra هي نفس المحتوى تمامًا مثل ملفات Markdown في دليل docs/؛ بفضل إضافة gradle داخل الشجرة، سيقوم gradle تلقائيًا بتحليل Markdown وتصديره إلى HTML لـ Ghidra أثناء عملية البناء. وهذا يسمح بصيانة أبسط (تحديث الوثائق في مكان واحد فقط، وليس اثنين) ويحافظ على المزامنة بينهما.

يجب إضافة جميع الوثائق الجديدة إلى دليل docs/.

الترخيص

هذا البرنامج مرخص بموجب ترخيص مبسط من نوع BSD من قبل معهد هندسة البرمجيات في جامعة كارنيجي ميلون. يرجى العثور على التفاصيل الكاملة لهذا الترخيص، بالإضافة إلى شروط الترخيص للتبعيات المستخدمة في هذا المشروع، في ملف LICENSE.md في جذر هذا المستودع.

شعار CERT Kaiju مبني على عمل فني من إنشاء كاميرون سبان، تم إصداره أصلاً بموجب شروط رخصة المشاع الإبداعي نسبة المصنف - المشاركة بالمثل 4.0 الدولية.

تنزيل الأداة