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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CaptainHook — يتتبع مدخلات المستخدم لكشف ثغرات الحقن في دوال Java عبر JDWP وFrida، مع تحديد نقاط حقن الأوامر وحقن SQL المحتملة. | Kitploit
أدوات/GitHubGitHub/synacktiv/captainhook
التحليل الديناميكي (عزل)تحليل الثغرات الأمنيةتحليل الكودمصممي الأخطاءتحليل الملفات الثنائية
GitHubsynacktiv/captainhook

CaptainHook

يتتبع مدخلات المستخدم لكشف ثغرات الحقن في دوال Java عبر JDWP وFrida، مع تحديد نقاط حقن الأوامر وحقن SQL المحتملة.

عرض المستودع
92منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Captain Hook

ما هي الأداة؟

الغرض من هذه الأداة هو تتبّع مدخلات المستخدم، من أجل العثور على نقاط الحقن في الطرق الحساسة (مثل java.lang.Runtime.exec, java.sql.Statement.executeQuery, ...) بالإضافة إلى التحوّلات التي تطرأ على هذه المدخلات بين نقطة الحقن واستدعاء الطريقة.

يتم إنشاء "علامات" (Marks) يجب إدراجها في كل مدخل مستخدم محتمل في تطبيقك. تساعدك العلامات المختلفة في تحديد مصدر أي تنبيه.

قائمة الطرق المراقَبة متاحة باستخدام الأمر > list_breakpoints في واجهة الأوامر (CLI). يمكن تعديل هذه القائمة باستخدام الأمرين > add_breakpoint و > delete_breakpoint.

البنية المعمارية

root@kitploit:~
            Captain Hook Docker                                   Main machine
                container
 ┌────────────────────────────────────────┐             ┌────────────────────────────────────────┐
 │                                        │             │                                        │
 │ ┌─────────────────┐ ┌────────────────┐ │             │          ┌──────────────────────────┐  │
 │ │                 │ │                │ │             │          │                          │  │
 │ │ ┌────┐          │ │  Java Debugger │ │             │          │                          │  │
 │ │ │    │ Python   │ │                ├─┼─────────────┼──────────►                          │  │
 │ │ │    │    +     │ │                │ │             │          │      Program being       │  │
 │ │ │    │  Frida   │ │                │ │             │          │        analyzed          │  │
 │ │ │    │          │ │    JDWP     │ │             │          │                          │  │
 │ │ │    │          ◄─┤                │ │             │          │                          │  │
 │ │ │    │          │ │                │ │             │          │                          │  │
 │ │ │CLI │          ├─►                │ │             │          │                          │  │
 │ │ │    │          │ │                │ │             │          │                          │  │
 │ │ │    │          │ └────────────────┘ │             │          │                          │  │
 │ │ │    │          │                    │             │          │                          │  │
 │ │ │    │          │                    │             │ ┌──────┐ │                          │  │
 │ │ │    │          ├────────────────────┼─────────────┤►│frida-├─►                          │  │
 │ │ │    │          │                    │             │ │server◄─┤                          │  │
 │ │ └────┘          │                    │             │ │      │ └──────────────────────────┘  │
 │ │                 │◄───────────────────┼─────────────┼─┤      │                               │
 │ └─────────────────┘                    │             │ └──────┘                               │
 │                                        │             │                                        │
 └────────────────────────────────────────┘             └────────────────────────────────────────┘

كيف تبدأ استخدام Captain Hook؟

من جهة البرنامج الذي يجري تحليله

يجب تشغيل جهاز Java الافتراضي (JVM) الخاص به مع الخيارات التالية:

  • -Xdebug
  • -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n
  • -Xint

بالطبع، منفذ الاستماع (1000 في المثال أعلاه) اختياري ويمكن تغييره.

إذا كان ذلك ممكنًا، قم بتثبيت frida-server على الجهاز الذي يحتوي على البرنامج الذي يجري تحليله، وشغّله بالأمر التالي: # frida-server -l 0.0.0.0:1500 &

يمكن أيضًا تغيير عنوان/منفذ الاستماع بما يناسب احتياجاتك.

من جهة Captain Hook

في نهاية ملف Dockerfile الموجود في ./dbg، اضبط عنوان IP الخاص بـ "host" (الجهاز الذي يشغّل البرنامج المراد تحليله)، ومنفذ استماع JDWP، ومنفذ استماع Frida (0 إذا لم يكن frida-server متاحًا).

ثم نفّذ # make build، ثم # make run-dbg. أرفِق طرفية ثانية بهذه الحاوية باستخدام # docker exec -it $(docker ps -lq) bash.

في الطرفية الأولى، نفّذ: cd debugger && make debug، ثم في الثانية: cd frida && make instrument

سوف تتفاعل مع Captain Hook عبر الطرفية الثانية، التي تقدّم لك واجهة أوامر (CLI). اكتب > help للحصول على قائمة شاملة بجميع الأوامر المتاحة، وكلها موثّقة.

ميزات تجريبية

مجلد "agent" تجريبي بحت، وكذلك الأمر > set_object_inspection_strategy.

تنزيل الأداة