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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
process-injection-playground — مجموعة من العينات والمواد المتعلقة بحقن العمليات | Kitploit
أدوات/GitHubGitHub/oscerd/process-injection-playground
CTFاختبار الاختراقالتعلم والتعليمالفريق الأحمرتطوير الحمولاتاستغلال الملفات الثنائية
GitHuboscerd/process-injection-playground

process-injection-playground

مجموعة من العينات والمواد المتعلقة بحقن العمليات

عرض المستودع
1منذ 8 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

ملعب حقن العمليات في لينكس

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

نظرة عامة

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

  • الأبحاث الأمنية: فهم نواقل الهجوم وتطوير الدفاعات
  • التصحيح (Debugging): تحليل التطبيقات قيد التشغيل وتعديلها
  • الأدوات (Instrumentation): التنميط والمراقبة للأداء
  • اختبار الاختراق: تقييمات أمنية مصرّح بها
  • مسابقات CTF: تحديات التقاط العلم (Capture The Flag)

التقنيات المتاحة

1. حقن الكود القائم على Ptrace

المجلد: ptrace/

طريقة حقن العمليات الكلاسيكية التي تستخدم استدعاء النظام ptrace() لكتابة الشيل كود مباشرةً في ذاكرة عملية ما وإعادة توجيه التنفيذ.

الخصائص الرئيسية:

  • معالجة مباشرة للذاكرة عبر PTRACE_POKETEXT
  • اختطاف مؤشر التعليمات (RIP)
  • حقن شيل كود خام

حالة الاستخدام: فهم التحكم منخفض المستوى في العمليات والحقن المباشر للكود

اقرأ المزيد →


2. حقن LD_PRELOAD

المجلد: ld_preload/

اعتراض الدوال باستخدام متغير البيئة LD_PRELOAD لتحميل مكتبة خبيثة قبل تحميل أي مكتبات أخرى.

الخصائص الرئيسية:

  • حقن قائم على متغيرات البيئة
  • ربط الدوال عبر اعتراض الرموز (symbol interposition)
  • دوال البناء/التدمير (constructor/destructor)
  • سهلة التنفيذ لكنها سهلة الاكتشاف أيضاً

حالة الاستخدام: ربط الدوال ومراقبة واجهات البرمجة وتعديل السلوك

اقرأ المزيد →


3. حقن الكتابة عبر /proc/mem

المجلد: proc_mem/

كتابة مباشرة في الذاكرة من خلال واجهة نظام الملفات /proc/<pid>/mem، مع دمج ptrace للتحكم في العملية.

الخصائص الرئيسية:

  • وصول مباشر للذاكرة عبر نظام الملفات
  • كفاءة أعلى من PTRACE_POKETEXT للحمولات الكبيرة
  • عملية كتابة واحدة للشيل كود بأكمله
  • لا تتطلب محاذاة للكلمات (word alignment)

حالة الاستخدام: حقن سريع للذاكرة بكميات كبيرة، وتجاوز قيود ptrace التقليدية

اقرأ المزيد →


4. حقن المكتبات عبر dlopen()

المجلد: dlopen_inject/

تقنية متطورة تُجبر عملية قيد التشغيل على تحميل مكتبة مشتركة عبر اختطاف التنفيذ لاستدعاء dlopen().

الخصائص الرئيسية:

  • تعمل على العمليات قيد التشغيل بالفعل (خلافاً لـ LD_PRELOAD)
  • مستمرة (تبقى المكتبة محمّلة)
  • تتيح حمولات معقدة بإمكانيات مكتبات كاملة
  • يمكنها ربط الدوال مثل LD_PRELOAD لكن بعد بدء التشغيل

حالة الاستخدام: حقن مستمر متقدم، والتلاعب بالمكتبات وقت التشغيل

اقرأ المزيد →


البدء السريع

المتطلبات الأساسية

  • نظام لينكس (تم اختباره على x86_64)
  • مترجم GCC
  • صلاحية الجذر أو قدرة CAP_SYS_PTRACE
  • أداة البناء Make

بناء جميع الأمثلة

root@kitploit:~
# Build ptrace injection
cd ptrace && make all

# Build LD_PRELOAD injection
cd ../ld_preload && make all

# Build /proc/mem injection
cd ../proc_mem && make all

# Build dlopen injection
cd ../dlopen_inject && make all

نمط الاستخدام الأساسي

تتبع كل تقنية نمطاً مشابهاً:

  1. ابدأ العملية الضحية:

    root@kitploit:~
    cd <technique>/victim-process
    ./sample
    

    لاحظ رقم PID المعروض

  2. نفّذ الحقن:

    root@kitploit:~
    cd <technique>
    sudo ./<injector> <PID> [additional args]
    
  3. راقب النتائج: افحص مخرجات العملية الضحية بحثاً عن تنفيذ الكود المحقون

راجع ملفات README الفردية للحصول على تعليمات خاصة بكل تقنية.

مصفوفة المقارنة

متى تستخدم أياً منها؟

  • ptrace: لتعلّم الأساسيات وحقن شيل كود بسيط
  • LD_PRELOAD: لربط الدوال بسرعة، والتنقيح، وعندما تتحكم في بدء تشغيل العملية
  • /proc/mem: للحقن السريع للحمولات الكبيرة، عندما يكون PTRACE_POKETEXT بطيئاً جداً
  • dlopen: للحقن المستمر والحمولات المعقدة، وعندما تحتاج إلى إمكانيات مكتبات كاملة

اعتبارات أمنية

إجراءات دفاعية

  1. Yama ptrace_scope: تقييد ptrace على المستخدمين المصرح لهم

    root@kitploit:~
    echo 1 | sudo tee /proc/sys/kernel/yama/ptrace_scope
    
  2. SELinux/AppArmor: ضوابط الوصول الإلزامية

  3. المراقبة: استخدم auditd لتسجيل محاولات ptrace وحقن العمليات

    root@kitploit:~
    auditctl -a exit,always -F arch=b64 -S ptrace
    
  4. فحص السلامة وقت التشغيل: تحقق دورياً من ذاكرة العمليات

  5. توقيع الكود: تحقق من توقيعات المكتبات

طرق الكشف

  • راقب /proc/<pid>/maps بحثاً عن مناطق ذاكرة أو مكتبات غير متوقعة
  • ترقّب محاولات الالتصاق عبر ptrace من خلال سجلات النظام
  • افحص متغيرات البيئة (LD_PRELOAD)
  • استخدم أدوات مثل lsof وpmap وأدوات مراقبة العمليات
  • فعّل وحدات أمان النواة

إشعار قانوني وأخلاقي

هام: يجب استخدام هذه التقنيات فقط في سياقات مصرّح بها:

هذا المستودع مخصص للأغراض التعليمية والبحثية فقط. المؤلفون غير مسؤولين عن أي إساءة استخدام لهذه التقنيات. احصل دائماً على التصريح المناسب قبل الاختبار على أي نظام.

استكشاف الأخطاء وإصلاحها

المشكلات الشائعة

أخطاء رفض الصلاحية:

  • نفّذ باستخدام sudo
  • تحقق من /proc/sys/kernel/yama/ptrace_scope
  • تأكد من سياسات SELinux/AppArmor

فشل الحقن دون رسائل خطأ:

  • تحقق من أن العملية الهدف غير مرتبطة ارتباطاً ثابتاً (statically linked)
  • تأكد من أن العملية الهدف حمّلت المكتبات المطلوبة
  • تأكد من صحة الشيل كود لمعمارية جهازك

أخطاء التجزئة (Segmentation faults):

  • تحقق من أنك تعمل على معمارية x86_64
  • تأكد من أن العملية الهدف غير محمية
  • تأكد من المحاذاة الصحيحة للذاكرة

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

المساهمة

المساهمات مرحّب بها! إضافات محتملة:

  • تقنيات حقن إضافية (ربط GOT/PLT، التلاعب بـ VDSO، إلخ)
  • نظائر لنظام ويندوز للمقارنة
  • أدوات كشف/منع
  • دعم معمارية ARM
  • أمثلة إضافية للشيل كود
  • أمثلة برمجة دفاعية

المراجع

التوثيق

  • man 2 ptrace - استدعاء نظام تتبع العمليات
  • man 5 proc - توثيق نظام الملفات /proc
  • man 3 dlopen - تحميل المكتبات الديناميكية
  • الكود المصدري لنواة لينكس: إدارة ذاكرة العمليات

أبحاث ذات صلة

  • تقنيات "حقن العمليات في لينكس" وتطورها
  • منهجيات "حقن Ptrace"
  • أفضل ممارسات "حقن المكتبات المشتركة"
  • MITRE ATT&CK: T1055 (حقن العمليات)

الترخيص

انظر LICENSE.txt للحصول على التفاصيل.

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

يُقدَّم هذا البرنامج "كما هو" للأغراض التعليمية. استخدمه بمسؤولية وأخلاقية. احصل دائماً على التصريح المناسب قبل اختبار تقنيات أمنية على أي نظام لا تملكه.

تنزيل الأداة
التقنيةالتعقيدالتخفيالاستمراريةالسرعةتعمل على عملية قيد التشغيل
ptraceمتوسطمنخفضلامتوسطةنعم
LD_PRELOADمنخفضمنخفض جداًلاسريعةلا
/proc/memمتوسطمنخفضلاسريعةنعم
dlopenعالٍمتوسطنعممتوسطةنعم