Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
grafana-gitsync-dns-rebind — Grafana OSS 13.2.3 - عالي - عن بُعد - SSRF - Git Sync URLValidator هو DNS للقبول فقط | Kitploit
أدوات/GitHubGitHub/abraxas/grafana-gitsync-dns-rebind
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمرمختبرات وتدريب عملي
GitHubabraxas/grafana-gitsync-dns-rebind

grafana-gitsync-dns-rebind

Grafana OSS 13.2.3 - عالي - عن بُعد - SSRF - Git Sync URLValidator هو DNS للقبول فقط

عرض المستودع
منذ 4 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - grafana-gitsync-dns-rebind

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  grafana-gitsync-dns-rebind

grafana-gitsync-dns-rebind

الفئة: SSRF الوصول: عن بُعد

Grafana OSS 13.2.3 (6193dc0) - Grafana Labs

يتحقق Git Sync URLValidator من مضيف عنوان URL للمستودع عند القبول. يعيد nanogit / Test التحليل لاحقًا دون تثبيت عنوان IP. isBlockedIP يقتصر على loopback و RFC1918 و link-local و unspecified فقط. العنوان الحرفي 0.0.0.1 غير محظور. يمكن لاسم مضيف يكون عامًا وقت التحقق أن يُعاد ربطه بـ RFC1918 من أجل طلب GET الخاص بالاستنساخ.

اختبار Org Admin لعنوان URL لـ Git قابل لإعادة الربط يجعل Grafana تُجري GET على مضيف داخلي كُتب المدقق لرفضه.

المعرّفلا يوجد CVE بعد
الفئةSSRF (إعادة ربط DNS / ثغرة 0.0.0.0/8)
الوصولعن بُعد (Org Admin repositories:create)
CWECWE-918 / CWE-367
CVSSمرتفع: 7.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N
المنتجGrafana OSS
المتأثر13.2.3 (6193dc0)؛ Git Sync مُفعّل افتراضيًا
المصادقةOrg Admin (repositories:create / :write). ليس إنشاء Viewer/Editor.
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

ما يمكن للمهاجم فعله

الفاعل هو Org Admin، وليس شخصًا غريبًا. يستطيع Org Admin بالفعل توجيه مصادر البيانات إلى عناوين URL داخلية على OSS. هذا المتبقي هو تجاوز لـ URLValidator الخاص بـ Git Sync الذي كان يُفترض أن يسدّ هذه الفئة لعناوين URL الخاصة بالمستودعات.

الصلاحيةالطريقة / نقطة الوصولالاستطلاع / السلامة / التوافرمُثبت مختبريًا أو مُستنتج
جعل Grafana تُجري GET على عنوان URL لـ Git قابل لإعادة الربطOrg Admin POST .../repositories/{name}/test مع spec.git.url=http://git.lab/...استطلاع (HTTP صادر من عملية Grafana)مُثبت مختبريًا. DNS A1 عام، لاحقًا A RFC1918. أوراكل إعادة الربط hits=3، الشاهد في الجسم
الوصول إلى عنوان URL لـ Git حرفي 0.0.0.1نفس Test مع http://0.0.0.1:18080/lab/gitsync.gitاستطلاعمُثبت مختبريًا أنه غير محظور عند القبول (الحالة 400 نقل، وليس 422 عام-أو-مسموح)
قراءة Git Smart HTTP / جسم HTTP من ذلك المضيف في أخطاء TestgitRepository.Test يُدرج خطأ النقلاستطلاعمُستنتج من التثبيت. استخدم المختبر إعلان git بحالة 200
إعادة الربط بـ RFC1918 / CGNAT بعد القبولTOCTOU: التحقق من DNS ثم اتصال nanogitاستطلاعمُثبت مختبريًا لـ RFC1918 sidecar 172.30.60.3
قراءة Viewer لـ spec.*.url المخزّن بما في ذلك userinforepositories:readاستطلاعمُستنتج من التثبيت. ليس هذا المختبر

مغلق على هذا المتبقي (مُثبت مختبريًا): loopback الحرفي 127.0.0.1 422؛ RFC1918 الحرفي 10.0.0.1 422؛ IMDS 169.254.169.254 422. مغلق: Editor لا يمكنه إنشاء مستودعات. ليس RCE. لا يتطلب Grafana Admin. تجاهل Grafana G2 (IAM SSOSetting k8s authorizer).

كيف وجدته

القبول في apps/provisioning/pkg/repository/validator.go يستدعي URLValidator.ValidateURL. isBlockedIP هو أربع مسندات. unspecified هو 0.0.0.0 / :: فقط. باقي 0.0.0.0/8 و CGNAT يمرّان. الاستنساخ لاحقًا يستخدم nanogit.NewHTTPClient(gitConfig.URL) ويعيد التحليل.

منعطفات خاطئة مسجّلة بالفعل: التعامل مع عناوين URL الخاصة بـ Org Admin DS على أنها هذا المتبقي (تلك مقصودة؛ هذا تجاوز مدقق Git Sync)؛ توقع مرور IMDS 169.254 (محظور عند القبول)؛ إنشاء Editor (مرفوض)؛ reverse shell. مسرحية.

المختبر

python3 grafana-gitsync-dns-rebind-Abraxas-Labs.py

أو:

cd lab
./run.sh

Loopback: Grafana 127.0.0.1:19360، تحكم DNS 127.0.0.1:19361، أوراكل إعادة الربط 127.0.0.1:19362. الصورة grafana/grafana:13.2.3.

SUCCESS GRAFANA-GITSYNC-DNS-REBIND how=live actor=org-admin path=rebind dns_lookups=4 negatives=3 GRAFANA-GITSYNC-DNS-REBIND-WITNESS

الإصلاح

ثبّت العنوان المُحلَّل خلال الاستنساخ/Test، أو أعد التحقق عند كل اتصال. عامل 0.0.0.0/8 و CGNAT كمحظورين. لا تتخطَّ DNS على المضيفين المدرجين في القائمة المسموحة دون تثبيت.

المراجع

  • github.com/grafana/grafana وسم v13.2.3
  • url_validator.go · validator.go
  • CWE-918 · CWE-367

الترخيص

GNU Affero GPL v3.0. انظر LICENSE. مختبر loopback فقط. لا ضمان.

تنزيل الأداة