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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/e4zyy/project-cve-2026-33017
الاستطلاعآليات الاستمراريةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبما بعد الاستغلالالقيادة والسيطرةأداة الوصول عن بعدتطوير الحمولات
GitHube4zyy/project-cve-2026-33017

Project-CVE-2026-33017

CVE-2026-33017 - استغلال تنفيذ الأوامر عن بُعد غير المصادق عليه في Langflow

18منذ 21 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

سكربت CVE-2026-33017 Langflow — شرح الكود

برمجة: Xer0TLabs x Persephrak Decentralized Syndicate

الغرض من هذا المستند

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

يصف السكربت نفسه بأنه استغلال لثغرة مزعومة في Langflow تتعلق بتنفيذ التعليمات البرمجية عن بُعد دون مصادقة. يصف هذا README ما يحاول الكود القيام به؛ ولا يتحقق بشكل مستقل من معرّف CVE، أو الإصدارات المتأثرة، أو سلوك نقطة النهاية، أو نصائح البائع، أو فعالية السكربت.

السلوك العام

البرنامج منظم كأداة أتمتة لسطر الأوامر تحاول إرسال بيانات JSON مُنشأة خصيصًا إلى نقطة نهاية HTTP في Langflow. فرضيته الأساسية هي أن Python المُتحكم فيه من قبل المستخدم والمضمّن في تعريف التدفق سيتم معالجته بواسطة التطبيق البعيد.

إذا تحققت هذه الفرضية على هدف ما، فإن السكربت مصمم لتحويلها إلى تنفيذ أوامر تعسفية على نظام التشغيل. بالإضافة إلى فحص تنفيذ أساسي، يحتوي على إجراءات تهدف إلى إنشاء الثبات، وإنشاء جلسة تفاعلية عن بُعد، وتشغيل أوامر استطلاع، وتوليد زوج مفاتيح SSH محليًا.

نظرًا لأن هذه القدرات قد تعرض الأنظمة للخطر دون إذن، يجب التعامل مع الكود كأداة يحتمل أن تكون خبيثة أو مزدوجة الاستخدام. لا ينبغي تشغيله ضد الأنظمة إلا إذا كان النشاط مصرحًا به صراحةً وخاضعًا لنطاق اختبار محدد.

المكونات الرئيسية

الاستيرادات وسلوك TLS

يستورد البرنامج وحدات Python القياسية لتحليل الوسائط، ومعالجة JSON، وطلبات HTTP، والمقابس، والخيوط، وتنفيذ العمليات الفرعية، والوصول إلى الملفات.

يقوم بتعطيل التحقق العادي من شهادات TLS عالميًا عبر ssl._create_unverified_context. وهذا يجعل طلبات HTTPS تقبل الشهادات غير الصالحة أو غير الموثوقة. على الرغم من أن هذا يُرى أحيانًا في كود الاختبار، إلا أنه غير آمن في الإنتاج لأنه يضعف الحماية ضد الاعتراض والانتحال.

فئتا Colors و Logger

تعرف Colors تسلسلات هروب ANSI الطرفية المستخدمة لطباعة مخرجات ملونة.

Logger هي فئة أدوات صغيرة تطبع رسائل إعلامية، ونجاح، وتحذير، وخطأ. تعرض طريقة banner() عنوان السكربت، والثغرة المزعومة، ونطاق المنتج المتأثر المزعوم، والخطورة، وحالة CISA KEV. هذه الادعاءات هي نص عرض في البرنامج وليست دليلًا على دقة الادعاءات.

فئة CVE202633017Exploit

هذه هي الفئة الرئيسية. عند التهيئة، تقوم بما يلي:

  • تخزين عنوان URL المستهدف المقدم وإزالة الشرطة المائلة اللاحقة.
  • إضافة بادئة http:// إذا كانت مفقودة.
  • تعيين معرّف تدفق افتراضي.
  • بناء مسار طلب لنقطة نهاية بناء التدفق العامة.
  • استخدام مهلة HTTP تبلغ 30 ثانية.

معرّف التدفق الافتراضي هو قيمة ثابتة تشبه UUID. يسمح البرنامج بتجاوزها من خلال خيار سطر الأوامر.

بناء الحمولة

_build_malicious_payload(command) ينشئ كائن JSON يشبه رسمًا بيانيًا للتدفق مع عقدة واحدة. يتم تمييز العقدة كـ CustomComponent وتتضمن كود مصدر Python في حقل code.

يحاول الكود المدرج استدعاء أمر نظام التشغيل. يحاول أولاً استخدام واجهة برمجة تطبيقات Python واحدة ثم يتراجع إلى استدعاء عملية فرعية في حالة حدوث خطأ. يتم بعد ذلك إرجاع بنية JSON إلى كود إرسال الطلب.

هذا هو منطق الاستغلال الأساسي: يفترض أن الخدمة المستقبلة ستنفذ الكود المقدم أثناء معالجة الرسم البياني.

إجراء طلب HTTP

_send_exploit_request(payload_data) يسلسل الحمولة كـ JSON ويقوم بطلب HTTP POST إلى نقطة النهاية المُنشأة. يتضمن رؤوسًا تقليدية تشبه المتصفح ويعيد كلًا من نص استجابة الجسم وحالة HTTP.

يتم التقاط أخطاء HTTP وإرجاعها بدلاً من إنهاء البرنامج. يتم تحويل الاستثناءات الأخرى، مثل فشل الاتصال أو انتهاء المهلة، إلى سلاسل نصية وإرجاعها مع الحالة 0.

فحص الثغرة

check_vulnerability() يرسل حمولة تحتوي على أمر علامة ثم يعامل إما استجابة HTTP ناجحة أو أي استجابة تحتوي على كلمة error كدليل على أن الهدف "يبدو عرضة للثغرة".

هذه ليست طريقة تحقق موثوقة. يمكن أن تحدث استجابة 200 أو 500 أو خطأ تطبيق لأسباب عديدة لا علاقة لها بتنفيذ التعليمات البرمجية. لا يلاحظ السكربت بشكل مستقل مخرجات العلامة، لذا يمكن أن ينتج نتائج إيجابية خاطئة.

تنفيذ أمر واحد

execute_command(command) يغلف الأمر المقدم في حمولة التدفق الخبيثة ويرسلها. يفسر HTTP 200 أو 500 كنتيجة ناجحة محتملة.

مرة أخرى، لا تُظهر رموز الحالة وحدها تنفيذ أوامر عن بُعد. من منظور مراجعة الكود الدفاعية، تحاول هذه الطريقة جعل الأداة مرنة من خلال السماح للمشغل بتقديم أوامر نظام تشغيل تعسفية.

إجراء ثبات مفتاح SSH

_build_ssh_payload() و inject_ssh_key() مصممان لتعديل تكوين SSH البعيد وملفات المفاتيح المصرح بها. تشمل الإجراءات المحاولة إنشاء أدلة SSH، وإضافة مفتاح SSH عام، وتغيير الأذونات، وتعديل إعدادات خادم SSH، وإعادة تشغيل خدمة SSH، وإنشاء آلية ثبات قائمة على cron، وإزالة آثار سجل الأوامر.

هذه سلوكيات ثبات وتهرب دفاعي، وليست فحص ثغرة حميدًا. قد يدعي البرنامج النجاح بناءً على حالة HTTP فقط، دون تأكيد أن أي ملف أو خدمة قد تغيرت فعليًا.

إجراء الصدفة العكسية

_build_reverse_shell_payload() يجمع آليات تراجع متعددة تهدف إلى جعل الهدف يبدأ اتصال شبكة صادر إلى مضيف ومنفذ يتحكم فيه المشغل.

spawn_reverse_shell() يبدأ مستمع TCP محلي في خيط خلفي، وينتظر لفترة وجيزة، ويرسل الحمولة البعيدة، ثم ينتظر اتصالًا.

_start_listener() يقبل اتصالًا ويوفر حلقة أوامر تفاعلية بسيطة. هذه قدرة وصول عن بُعد. لديها معالجة أخطاء محدودة، ولا تصادق على الاتصال الوارد، وليست مناسبة للإدارة الآمنة أو البنية التحتية المشروعة للاختبار.

إجراء السلسلة الكاملة

full_exploit_chain() يجمع بين سلوكيات متعددة:

  • محاولة فحص الثغرة الضعيف.
  • إرسال أوامر استطلاع نظام التشغيل.
  • محاولة ثبات مفتاح SSH اختياريًا.
  • بدء سير عمل الصدفة العكسية اختياريًا.

تهدف قائمة الاستطلاع إلى كشف الهوية، والصلاحيات، ومعلومات نظام التشغيل، والملفات، والعمليات، والخدمات المستمعة، والحسابات، والمهام المجدولة. هذا يميز التعداد بعد الاختراق.

توليد مفتاح SSH محلي

generate_ssh_key_pair(key_path) يستدعي برنامج ssh-keygen المحلي لإنشاء زوج مفاتيح RSA بحجم 4096 بت إذا كانت الملفات المطلوبة غير موجودة بالفعل.

ينشئ تعليق مفتاح يشير إلى CVE المزعوم وهو مصمم لدعم وظيفة ثبات SSH. هذا يؤثر على الجهاز الذي يُشغَّل عليه السكربت نفسه، وليس الهدف البعيد.

واجهة سطر الأوامر

main() يعرف خيارات سطر الأوامر لاختيار الهدف، ومعرّف التدفق، وتنفيذ أمر واحد، ومعالجة مفتاح SSH، وإعدادات الصدفة العكسية، وتنفيذ السلسلة الكاملة، والتوليد التلقائي للمفاتيح، والمخرجات التفصيلية.

يقوم الكود بتحقق محدود فقط. على سبيل المثال، تتطلب أوضاع الصدفة العكسية والسلسلة الكاملة مضيفًا ومنفذًا محليين. لا يتحقق من التفويض، أو النطاق، أو ملكية الهدف، أو سلامة عنوان URL، أو ما إذا كان الهدف هو بالفعل مثيل Langflow.

مخاوف الموثوقية وجودة الكود

  • فحص الثغرة لا يثبت تنفيذ التعليمات البرمجية وقد يسمي هدفًا بأنه عرضة للثغرة بشكل خاطئ.
  • السكربت يعطل التحقق من الشهادات، مما يعرض طلباته الخاصة للاعتراض.
  • يعامل أخطاء الخادم كنجاح محتمل، مما يجعل النتائج غامضة.
  • عدة وحدات ومتغيرات مستوردة غير مستخدمة أو مستخدمة جزئيًا فقط.
  • المتغير encoded_key يُحسب لكن لا يُستخدم أبدًا.
  • منطق ثبات SSH يفترض مسارات، ومديري خدمات، وأذونات، وتخطيطات تكوين قد لا تكون موجودة.
  • بناء الأوامر والاقتباس هش ويمكن أن يفشل مع الأحرف الخاصة.
  • مستمع الصدفة العكسية مبسط، ويفتقر إلى المصادقة، وغير موثوق لعمليات الإدخال/الإخراج التفاعلية.
  • سير عمل السلسلة الكاملة يرسل إجراءات قد تكون مدمرة أو شديدة التدخل دون تأكيد قوي أو تراجع.
  • السكربت لا يحتوي على تسجيل تدقيق، أو فرض نطاق، أو تحديد معدل، أو ضمانات مناسبة لأداة اختبار مصرح بها.

الأهمية الدفاعية

يجب على فرق الأمان التي تراجع هذا الكود التعامل مع ما يلي كمؤشرات على محاولة استغلال أو نشاط ما بعد الاختراق:

  • نشاط HTTP POST موجه إلى نقطة نهاية بناء التدفق العامة.
  • تعريفات تدفق تحتوي على كود مصدر مكون مخصص غير متوقع.
  • عمليات فرعية تم إطلاقها بواسطة حساب خدمة Langflow.
  • تعديلات غير متوقعة على ملفات المفاتيح المصرح بها لـ SSH، أو تكوين خادم SSH، أو إدخالات cron، أو ملفات سجل الأوامر.
  • اتصالات TCP صادرة غير عادية تنشأ من مضيف Langflow.
  • تنفيذ أوامر اكتشاف النظام بواسطة عملية أو حساب خدمة Langflow.

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

التعامل المسؤول

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

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

تنزيل الأداة