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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
kernelpop — إطار عمل لتعداد واستغلال تصعيد الامتيازات في النواة | Kitploit
أدوات/GitHubGitHub/spencerdodd/kernelpop
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاختبار الاختراق
GitHubspencerdodd/kernelpop

kernelpop

إطار عمل لتعداد واستغلال تصعيد الامتيازات في النواة

عرض المستودع
702131منذ 8 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

kernelpop

كيرنل بوب هو إطار عمل لأتمتة تعداد واستغلال ثغرات النواة على أنظمة التشغيل التالية:

  • لينكس

  • ماك

مصمم ليكون غير مرتبط بإصدار python، مما يعني أنه يجب أن يعمل مع كل من python2 وpython3

  • يرجى إعلامي إذا وجدت أنه لا يعمل

مثال على التعداد للوصول إلى صلاحيات الجذر (لينكس)

got-root


طرق الاستخدام

  • التشغيل من مصدر المشروع
root@kitploit:~
$ git clone https://github.com/spencerdodd/kernelpop
$ cd kernelpop
$ python kernelpop.py || python3 kernelpop.py
  • بناء ملف ثنائي
root@kitploit:~
$ git clone https://github.com/spencerdodd/kernelpop
$ cd kernelpop
$ ./create_executable.sh
$ ./kernelpop
  • خطوات بناء الملف الثنائي بدون سكريبت
  1. تثبيت pyinstaller (تختلف الخطوات حسب نظام البناء)
  2. $ pyinstaller kernelpop.py --onefile
  3. $ cp dist/kernelpop .

كلا خطوتي بناء الملف الثنائي يجب أن تنشئا ملفًا ثنائيًا kernelpop في جذر المشروع.


مخرجات التعداد

root@kitploit:~
user@debian:~/Desktop/kernelpop$ python3 kernelpop.py

##########################
#  welcome to kernelpop  #
#                        #
# let's pop some kernels #
##########################

[*] grabbing distro version and release from underlying OS (linuxdebian7)
[*] grabbing kernel version from 'uname -a'
[+] kernel (Linux debian 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux) identified as:
[base]
	type:			linux
	distro:			linuxdebian7
	version:		3.2.0-4
	architecture:		i686
[specific]
	type:			linux
	distro:			linuxdebian7
	version:		3.2.41-2
	architecture:		i686
[*] matching kernel to known exploits
[+] discovered 11 possible exploits !
	[[ distro kernel matched exploit available ]]
		CVE20165195_32	Dirty COW race condition root priv esc for 32 bit
	[[ distro kernel version vulnerable ]]
		CVE20144699	Exploitable race condition in linux before 3.15.4
		CVE20143153	`futex_requeue` vulnerability before 3.14.6 allows for priv esc
		CVE20162384	Double free vulnerability in the `snd_usbmidi_create` (requires physical proximity)
		CVE20140196	`n_tty_write` vuln before 3.14.4 allows priv esc to root
		CVE20132094_semtex	perf_swevent_init Local root exploit (32 bit)
		CVE20176074	`dccp_rcv_state_process` in net/dccp/input.c mishandles structs and can lead to local root
		CVE20132094_32	perf_swevent_init Local root exploit (32 bit)
	[[ base linux kernel vulnerable ]]
		CVE20144014	`chmod` restriction bypass allows users to get root before 3.14.8
		CVE20177308	`packet_set_ring` in net/packet/af_packet.c can gain privileges via crafted system calls.
		CVE20171000112	ip_ufo_append_data() memory corruption flaw can be exploited to gain root privileges.

في المخرجات، هناك عدة فئات. هذا ما تعنيه كل منها

[[ distro kernel matched exploit available ]]

  • يوجد استغلال نواة مطابق لإصدار التوزيعة في المشروع يمكنك استخدامه لاستغلال النواة. احتمالية نجاح الاستغلال عالية.

[[ distro kernel version vulnerable ]]

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

[[ base linux kernel vulnerable ]]

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

المتطلبات

  • python2 أو python3

  • pyinstaller (إذا كنت تريد بناء ملف ثنائي)


الاستخدام

root@kitploit:~
run modes:
	(default)	        python3 kernelpop.py
	(exploit-mode)	        python3 kernelpop.py -e {exploit name}
		(dump-source)   python3 kernelpop.py -e {exploit name} -d
	(uname-mode)            python3 kernelpop.py -u {uname -a output}
	(interactive-mode)      python3 kernelpop.py -i # LEGACY option (same as uname-mode)
other:
	(playground path)       -p {new path}
	(json output file)      --digest json

الوضع الافتراضي (سلبي)

يقوم الوضع الافتراضي بمعالجة معلومات حول نواة المضيف ومقارنتها باستغلالات النواة المعروفة المتاحة للبرنامج. ثم يُخرج قائمة بالثغرات المحتملة الفائدة والاستغلالات المرفقة.

وضع الاستغلال (نشط)

root@kitploit:~
-e {exploit name}

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

  • تفريغ المصدر (خيار) -d

    • هذا مُعدِّل لوضع الاستغلال. يقوم بتفريغ ملفات المصدر للاستغلال المحدد إلى ملفاتها الخاصة في PLAYGROUND_PATH (الافتراضي /tmp). هذا مفيد لتعديل مصدر الاستغلال على جهاز أو العمل مع استغلالات تتطلب تفاعلًا يدويًا أو ترميزًا ثابتًا للقيم. إنه مفيد بشكل خاص عند التشغيل من ملف ثنائي، لأنه لن يكون لديك إمكانية الوصول إلى كود مصدر المشروع (أي مصدر الاستغلال).

وضع uname (سلبي)

root@kitploit:~
-u {uname -a output}

يتيح لك هذا الخيار تمرير مخرجات أمر uname -a إلى البرنامج مباشرة، مما يجعله قابلًا للاستخدام للتكامل مع السكريبتات الآلية أو لأي سبب آخر متوقع. بديل لـ الوضع التفاعلي.

الوضع التفاعلي (سلبي) [إرث - مطلوب لنظام ماك بواسطة مخرجات uname]

root@kitploit:~
-i {uname -a output}

يسمح لك الوضع التفاعلي بإجراء التعداد فقط بمخرجات أمر uname -a، مما يجعله مفيدًا كأداة تعداد من جانب المضيف فقط. يتم تشغيله ببدء kernelpop مع العلامة -i ثم تمرير مخرجات uname -a عند الطلب. هذه ميزة إرث وتم استبدالها بـ وضع uname، لكنها تبقى مدعومة لأن -u لا يدعم تعداد ماك.

مسار PLAYGROUND

root@kitploit:~
-p {new PLAYGROUND_PATH dir}

يقوم الخيار -p بتعيين قيمة المتغير العام PLAYGROUND_PATH. هذا هو الموقع الذي تُكتب إليه جميع ملفات مصدر الاستغلالات، وتُجمّع إليه الاستغلالات. يتم تعيينه افتراضيًا إلى /tmp. ومع ذلك، يمكنك تعيينه إلى أي دليل باستخدام هذا المُعدِّل في حال لم يكن لديك صلاحية الكتابة في /tmp.

مخرجات قابلة للهضم

root@kitploit:~
--digest json

يتيح لك هذا الخيار تفريغ نتائج تشغيل kernelpop إلى ملف json قابل للهضم للمعالجة لاحقًا. حتى الآن، قمت فقط بتنفيذ تفريغ json، لكنني سأعمل على إصدار XML إذا تم طلبه.

قائمة المهام

  • إضافة المزيد من الاستغلالات! (src/to_add إذا أراد أي شخص البدء في العمل على بعضها، فليتفضل!)

  • تضمين مستويات التصحيح في مقارنات النوافذ المعرضة للخطر

  • إضافة طريقة لتجاوز الإعدادات المكتشفة في حالة التحليل غير الصحيح أو الإعدادات العدائية

عملية إضافة نوافذ ثغرات النواة: [ يجب كتابة أداة استخراج ]

  • ابحث في جوجل: CVE-XXXX-XXXX "ubuntu"

    • انقر على رابط canonical (https://people.canonical.com/~ubuntu-security/cve/2016/CVE-XXXX-XXXX.html)

      • انقر على جميع الإشعارات المرتبطة في usn.ubuntu.com واستخرج المعلومات

      • احصل على إصدارات التصحيح لملء نوافذ الثغرات حسب الإصدار

  • ابحث في جوجل: CVE-XXXX-XXXX "debian"

    • رابط security-tracker.debian.org (https://security-tracker.debian.org/tracker/CVE-XXXX-XXXX)

      • اسحب المعلومات من أسفل الصفحة المتعلقة بالإصدارات المصححة للثغرة المحددة
  • ابحث في جوجل: CVE-XXXX-XXXX "mitre"

    • روابط لتوزيعات أخرى لسحب المعلومات منها

قائمة CVE المدعومة حالياً:

  • CVE-2017-1000379

  • CVE-2017-1000373

  • CVE-2017-1000372

  • CVE-2017-1000371

  • CVE-2017-1000370

  • CVE-2017-1000367

  • CVE-2017-1000112

  • CVE-2017-7308

  • CVE-2017-6074

  • CVE-2017-5123

  • CVE-2016-5195

  • CVE-2016-2384

  • CVE-2016-0728


مصادر الاستغلالات

https://github.com/SecWiki/linux-kernel-exploits

http://exploit-db.com/

https://github.com/lucyoa/kernel-exploits

https://github.com/SecWiki/windows-kernel-exploits

مصادر التوزيعات التاريخية

ديبيان

  • إصدارات ديبيان
تنزيل الأداة
  • CVE-2015-1328

  • CVE-2014-4699

  • CVE-2014-4014

  • CVE-2014-3153

  • CVE-2014-0196

  • CVE-2014-0038

  • CVE-2013-2094

  • CVE-2010-4347

  • CVE-2010-2959

  • CVE-2009-1185