Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-4034 — لقد قمت بتحليل الثغرة الأمنية المعروفة شائعًا باسم Pwnkit لأغراض تعليمية وكتبت لها PoC. يُستخدم حصريًا لأغراض تعليمية | Kitploit
أدوات/GitHubGitHub/eshkoreee/cve-2021-4034
تصعيد الامتيازاتالاستغلالالتعلم والتعليمتطوير الحمولاتاستغلال الملفات الثنائية
GitHubeshkoreee/cve-2021-4034

CVE-2021-4034

لقد قمت بتحليل الثغرة الأمنية المعروفة شائعًا باسم Pwnkit لأغراض تعليمية وكتبت لها PoC. يُستخدم حصريًا لأغراض تعليمية

عرض المستودع
1منذ 2 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2021-4034 (PwnKit) PoC

إخلاء المسؤولية: هذه المادة مقدمة لأغراض تعليمية حصراً. استخدام الاستغلال (exploit) دون موافقة كتابية من مالك النظام المستهدف غير أخلاقي وقد يعرض صاحبه للمساءلة القانونية.

التثبيت والتشغيل

  1. استنسخ المستودع على الجهاز المستهدف.
  2. امنح صلاحية التشغيل لسكربت البناء: chmod +x build.sh.
  3. شغّل البناء: ./build.sh.
  4. نفّذ الاستغلال: ./mls_envp. ستحصل على صلاحيات root.

جوهر الثغرة

في النسخة المصابة من polkit (0.105)، افترض المؤلف ديفيد زويتن أن pkexec سيُستدعى دائماً من الطرفية (console). وقد انطلق من أن argc (عدد الوسائط) أكبر من 1 دائماً، لأن argv[0] هو اسم البرنامج نفسه. غير أن pkexec يمكن استدعاؤه عبر استدعاء النظام execve بتمرير مصفوفة وسائط فارغة. ونتيجة لذلك تتعطل منطقية البرنامج.

1. تجاوز حدود المصفوفة

في شيفرة pkexec يوجد افتراض ثابت بأن argv يحتوي على عنصر واحد على الأقل. وعندما يكون argc مساوياً لـ 0، يحاول البرنامج رغم ذلك الوصول إلى argv[1]. ويؤدي هذا إلى تجاوز حدود مصفوفة argv وقراءة العنصر الأول من مصفوفة envp (متغيرات البيئة). وفي حالتنا هذه توجد هناك السلسلة "exp_exe".

2. تجاوز فحص PATH

يحاول pkexec العثور على البرنامج exp_exe باستخدام الدالة g_find_program_in_path. وتستخدم هذه الدالة المتغير PATH للبحث. ونحن نستبدل PATH بالقيمة GCONV_PATH=.. ونتيجة لذلك يعثر pkexec على الملف الوهمي exp_exe في مجلدنا المحلي ويعيد المسار GCONV_PATH=./exp_exe. وبسبب الخلل المتعلق بـ argc يُكتب هذا المسار مرة أخرى في envp[0]، مما «يُقنّن» المتغير GCONV_PATH.

3. تحميل مكتبة خبيثة

قبل تشغيل البرنامج يتحقق pkexec من متغيرات البيئة (بما فيها SHELL). ونحن نمرر صدفة (shell) غير موجودة (SHELL=xyz) لإحداث خطأ. وعند إخراج الخطأ تُستدعى log_message التي تستخدم آليات glibc. تنظر glibc إلى المتغير CHARSET=bohemcavanna، وعند عدم عثورها على المحوّل القياسي تلجأ إلى المجلد المحدد في GCONV_PATH (الذي دسسناه). وهناك تقرأ الملف gconv-modules، وتحمّل مكتبتنا exploit.so، وتنفّذ الشيفرة داخلها بصلاحيات root.

تنزيل الأداة