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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2016-0728-testbed — بيئة اختبار لـ CVE-2016-0728، وهو خلل تسريب/فيضان عدد المراجع (refcount) في Linux | Kitploit
أدوات/GitHubGitHub/neuschaefer/cve-2016-0728-testbed
تحليل الثغرات الأمنيةالاستغلالالتعلم والتعليماستغلال الملفات الثنائية
GitHubneuschaefer/cve-2016-0728-testbed

cve-2016-0728-testbed

بيئة اختبار لـ CVE-2016-0728، وهو خلل تسريب/فيضان عدد المراجع (refcount) في Linux

عرض المستودع
51منذ 10 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

منصة اختبار CVE-2016-0728

يحتوي هذا المستودع على برنامج اختبار لـ CVE-2016-0728، وهو خلل في تسريب العدّاد (refcount) وفيضانه في Linux، يؤدي إلى استخدام بعد التحرير (use-after-free).

تم اكتشاف الخلل وشرحه بواسطة Perception Point. أنا لست تابعًا لهم.

الاستخدام

root@kitploit:~
Welcome to the CVE-2016-0728 testbed
sizeof(struct msg_msg) == 0x30, sizeof(struct key) == 0xb8

PID: 27673, UID: (1000/1000)
Keyring: 1b66e5d6, "test-1a328d6e"
Usage:   1
Press a key: (f)ork (i)ncref (a)uto-incref (r)evoke (h)eap-spray (s)hell (q)uit

على نظام الاختبار الخاص بي، يمكن الحصول على قشرة جذر (root shell) بالطريقة التالية:

  1. ارفع قيمة refcount إلى -2؛ إذا قمت بزيادة العدّاد (incref) كثيرًا، فمن المحتمل أن يتعطل النواة (kernel).
  2. استدعِ fork مرتين لفيضانه، بحيث يقوم جامع القمامة للمفاتيح بتحرير سلسلة المفاتيح (keyring)
  3. قم برش الكومة (heap) بحلقات مفاتيح مزيفة
  4. استدعِ revoke
  5. execl("/bin/sh", "sh", NULL)

لقد وجدت أنه من المفيد تشغيل watch -n0.1 cat /proc/keys لمعرفة ما يحدث.

قابلية النقل

تم اختبار هذا الكود فقط على x86-64، لكنه يجب أن يعمل على البنى الأخرى أيضًا، لأنني لم أستخدم إزاحات سحرية (magic offsets)، بل نسخت تعريفات البنى من ترويسات Linux واستخدمت sizeof (باستثناء أنني قمت بتضمين عناوين prepare_kernel_cred و commit_creds بشكل ثابت).

تنزيل الأداة