
استغلال لثغرة grafana CVE-2021-43798
Grafana هي منصة مفتوحة المصدر للمراقبة وقابلية الملاحظة. إصدارات Grafana من 8.0.0-beta1 حتى 8.3.0 (باستثناء الإصدارات المصححة) معرضة لثغرة اجتياز الدليل (directory traversal)، مما يتيح الوصول إلى الملفات المحلية. عنوان URL المعرض هو: <grafana_host_url>/public/plugins//، حيث يكون معرّف المكوّن الإضافي لأي مكوّن إضافي مثبت. لم تكن Grafana Cloud معرضة لهذه الثغرة في أي وقت. يُنصح المستخدمون بالتحديث إلى الإصدارات المصححة 8.0.7 أو 8.1.8 أو 8.2.7 أو 8.3.1.
هذا السكربت بلغة Python هو إثبات مفهوم (PoC) لاستغلال الثغرة CVE-2021-43798 في Grafana.
لتشغيل هذا السكربت، يجب أولاً استنساخ المستودع والانتقال إلى دليل المشروع:
git clone https://github.com/FAOG99/GrafanaDirectoryScanner.git
cd GrafanaDirectoryScanner
إذا كنت ترغب في تشغيل مختبر معرض للثغرة، يمكنك اتباع الخطوات التالية:
cd CVE-2021-43798
docker-compose up -d
بعد أن يقوم الخادم بالتشغيل، يمكنك الانتقال إلى http://localhost:3000 للوصول إلى صفحة تسجيل الدخول. لا تحتاج إلى بيانات اعتماد لاستغلال هذه الثغرة.
بعد ذلك يمكنك تشغيل السكربت باستخدام Python 3.
تذكر تشغيل الاستغلال من المسار الصحيح (إذا دخلت إلى مجلد المختبر، فتذكر العودة إلى المجلد الجذر).
الوسائط المطلوبة هي -d لتحديد النطاق أو عنوان IP للموقع، و-p لتحديد المنفذ، و-f لإدخال مسار الملف الذي تريد البحث عنه (إذا لم تستخدم هذا الخيار، فسيتم استخدام /etc/passwd افتراضيًا). إليك مثال:
python3 GrafanaDirectoryScanner -d dominio.com -p 80 -f /etc/passwd
إذا وجد السكربت الملف وتمكن من قراءته، فسيقوم بطباعة محتوى الملف. إذا لم يتمكن من العثور على الملف، فسيقوم بطباعة رسالة خطأ.
