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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-46398 — إثبات المفهوم لاستغلال الثغرة CVE-2021-46398 | Kitploit
أدوات/GitHubGitHub/laliea/cve-2021-46398
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالتصيد الاحتياليالتعلم والتعليممختبرات وتدريب عمليArchived
GitHublaliea/cve-2021-46398

CVE-2021-46398

إثبات المفهوم لاستغلال الثغرة CVE-2021-46398

عرض المستودع
50منذ 3 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2021-46398 - Lalie ARNOUD, Gaspard ANDRIEU

ستجد في هذا المستودع إثبات مفهوم لاستغلال ثغرة CVE-2021-46398 عبر docker compose، بالإضافة إلى تحليل لآثار هذه الثغرة على أنظمة المعلومات.

root@kitploit:~
# Exploit Title: FileBrowser 2.17.2 - Cross Site Request Forgery (CSRF) to Remote Code Execution (RCE)
# Date: 05/02/2022
# Exploit Author: FEBIN MON SAJI
# Vendor Homepage: https://filebrowser.org/
# Software Link: https://github.com/filebrowser/filebrowser
# Version:
    FileBrowser <= 2.17.2
# Tested on: Ubuntu 20.04
# CVE : CVE-2021-46398

ما هو FileBrowser؟

وفقًا لموقع FileBrowser، فإن FileBrowser هو برنامج شهير من نوع "اصنع سحابتك الخاصة"، يمكنك تثبيته على خادم، وتوجيهه إلى مسار معين، ثم الوصول إلى ملفاتك عبر واجهة ويب أنيقة مكتوبة بلغة Go، مع العديد من الميزات. إنه يشبه إلى حد ما Google Drive، إلا أن بإمكان أي شخص امتلاك واستضافة نسخته الخاصة.

وصف الثغرة

يمكن لمسؤولي FileBrowser إنشاء عدة مستخدمين، وحتى مستخدمًا آخر بصلاحيات مسؤول، ومنحه الوصول إلى أي دليل يريده. يتم التعامل مع إنشاء المستخدمين عبر نقطة نهاية /api/users. تقبل نقطة النهاية المدخلات بصيغة لإنشاء المستخدمين، لكنها تفشل في التحقق من ترويسة التي يجب أن تكون قيمتها ، إذ تقبل ، وهنا تنشأ الثغرة. كما لا يتم التحقق من ولا توجد رموز مضادة لـ مطبقة. ومن ثم يمكن للمهاجم استغلال هذه الثغرة بسهولة لإنشاء مستخدم خلفي بصلاحيات مسؤول والوصول إلى الدليل الرئيسي أو أي دليل يريد المهاجم الوصول إليه، فقط عن طريق إرسال رابط صفحة ويب خبيثة إلى المسؤول الشرعي والوصول إلى نظام الملفات الكامل للخادم (مزيد من الشرح لهذه العملية في قسم العرض التوضيحي).

JSON
Content-Type
HTTP
application/json
text/plain
Origin
CSRF

بالإضافة إلى ذلك، يمكن للمسؤول تنفيذ أوامر على النظام، لذا تؤدي هذه الثغرة إلى RCE.

في ما يلي مخطط تسلسلي يلخص عملية الهجوم (Alice هي المهاجمة و Bob هو المسؤول ومستضيف نسخة FileBrowser):

root@kitploit:~
sequenceDiagram
Alice (hacker) ->> Alice (hacker): *Maliciously creates the malicious HTML page*
Alice (hacker) ->> Bob (admin): Here is a cool page! You must check that bro!
Bob (admin) ->> Alice (hacker): Thanks dude, let's open that!
Bob (admin) ->> Bob (admin): *Opens the page thinking it's something cool*
Bob (admin) -->> FileBrowser: *Sends a request to create a user without knowing it*
FileBrowser -->> FileBrowser: *Creates a new admin privileged user as requested*
Alice (hacker) ->> FileBrowser: Eheheh Bob is so dumb! *Connect to FileBrowser with the backdoor user*
FileBrowser ->> Alice (hacker): *Accept Alice connection with the new user created*
Alice (hacker) ->> FileBrowser: *Request shell access to FileBrowser with the appropriate button then makes sytem calls on Bob's computer*

عرض توضيحي للثغرة الأمنية

الهدف من هذا العرض التوضيحي هو إنشاء بنية مصغّرة تتكون من جهازين/ثلاثة أجهزة:

  • جهازك الشخصي بوصفه جهاز مسؤول FileBrowser على جانب، وبوصفه المهاجم على جانب آخر.
  • حاوية Docker قابلة للاختراق تحاكي خادم FileBrowser بعيدًا.

إنها بنية مبسطة للغاية تهدف إلى إبراز الجانب التقني للثغرة.

تشغيل صورة الآلة القابلة للاختراق

لهذه التجربة، ستحتاج فقط إلى docker.

في هذا الإعداد، تعتمد الآلة المستهدفة على صورة FileBrowser إصدار v2.17.2 (وهو إصدار قابل للاختراق بهذه الثغرة)، حيث يكون حساب FileBrowser الوحيد هو حساب المسؤول الذي يملك admin/admin كاسم مستخدم وكلمة مرور.

تشغيل الآلة المستهدفة:

root@kitploit:~
mkdir srv && docker compose up

الاستغلال

إنشاء صفحة الويب الخبيثة

من جانب المهاجم، ستسمح لنا صفحة الويب الخبيثة بتنفيذ استدعاء واجهة برمجة تطبيقات FileBrowser وإنشاء مستخدمنا الخلفي من جهاز المسؤول.

تم توفير مثال لهذه الصفحة في هذا المستودع باسم index.html. إنها صفحة HTML بسيطة تحتوي على نموذج مخفي ينفذ طلب POST إلى نقطة نهاية FileBrowser /api/users مع الحمولة في اسم الإدخال. تنشئ هذه الحمولة مستخدمًا بصلاحيات مسؤول اسم تسجيل دخوله "oui" وكلمة مروره "oui"، ويتم تشغيلها عند النقر على الزر.

كان بإمكاننا بوضوح إنشاء صفحة أجمل وأكثر جاذبية من هذه وإخفاء إرسال طلب HTTP في عنصر آخر من الموقع، لكن الأمر فقط لتتمكن من رؤية الجانب التقني لاستغلال الثغرة. تذكّر أن الهدف من صفحة الويب الخبيثة هذه هو أن يفتحها مسؤول FileBrowser دون أن يشك في أي شيء!

تنفيذ استغلال صفحة الويب عبر إرسال نموذج HTML

من جانب المسؤول، نقوم بهدوء بأمور إدارية على FileBrowser. انتقل إلى 127.0.0.1:8080 وسجّل الدخول ببيانات اعتماد المسؤول admin/admin.

بعد ذلك، نتلقى صفحة الويب الخبيثة بأي وسيلة، مثل رسالة تصيد احتيالي، وننفذ الإجراء الذي يشغّل الاستغلال. افتح صفحة index.html وانقر على الزر؛ سيؤدي ذلك إلى تشغيل الحمولة.

الوصول إلى المستخدم الخلفي في FileBrowser

الآن، نعود إلى جانب المهاجم، فقد أصبح لدينا مستخدم خلفي بصلاحيات مسؤول على خادم FileBrowser.

افتح متصفح الويب المفضل لديك في وضع التصفح الخاص للتأكد من أنك لا تستخدم أيًا من وسائل مصادقة المسؤول. انتقل إلى localhost:8080 وسجّل الدخول ببيانات اعتماد المستخدم الخلفي oui/oui.

تهانينا! أصبح لديك الآن إمكانية الوصول إلى نظام ملفات خادم FileBrowser وبالتالي إلى جميع ملفات مستخدمي الخادم!

ونظرًا لأن FileBrowser منصة رائعة بها الكثير من الميزات، يمكنك تشغيل نافذة طرفية بالضغط على زر "toggle shell"... جرب كتابة whoami، وافعل ما تشاء بصلاحيات root :)

لكي يتمكن المستخدم الخلفي من استخدام أوامر الصدفة، يجب التصريح بها صراحةً في الحمولة. انظر إلى index.html لإضافة ما يخصك!

الإصلاح

تم تصحيح الثغرة بدءًا من الإصدار v2.18.0. المعلومات حول ذلك متاحة على GitHub الخاص بالمشروع. لم يكن نشر التصحيح مكلفًا للغاية، إذ تطلّب تغيير 6 أسطر فقط في ملف برنامج واحد. وبما أن الثغرة نشأت عن فشل في التحليل (انظر وصف الثغرة)، فقد كان كافيًا التأكد من تحليل أي طلب بصيغة application/json قبل معالجته لأي شيء آخر.

المصطلحات

  • CSRF: تزوير الطلبات عبر المواقع
  • CVE: الثغرات ونقاط الضعف الشائعة
  • POST: طريقة HTTP
  • RCE: تنفيذ التعليمات البرمجية عن بُعد

المراجع

  • CVE-2021-46398
  • ExploitDB
  • مثال الاستغلال
  • التصحيح الأمني من GitHub الخاص بـ FileBrowser
  • سلسلة النقاش في GitHub الخاص بـ FileBrowser

تم إنجاز هذا العمل كجزء من مقرر أمن نظم المعلومات الذي يُدرَّس في السنة الأخيرة من تخصص هندسة نظم المعلومات في Grenoble INP - Ensimag, UGA.

تنزيل الأداة