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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-53435 — باحث أمني هجومي + ذكاء اصطناعي ضد ثغرة n-day جديدة: بناء أول PoC عام لـ CVE-2026-53435 في ليلة جمعة واحدة. سجل خام لمدة 8 ساعات و20 دقيقة بالداخل. | Kitploit
أدوات/GitHubGitHub/amesianx/cve-2026-53435
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليماستغلال الملفات الثنائية
GitHubamesianx/cve-2026-53435

CVE-2026-53435

باحث أمني هجومي + ذكاء اصطناعي ضد ثغرة n-day جديدة: بناء أول PoC عام لـ CVE-2026-53435 في ليلة جمعة واحدة. سجل خام لمدة 8 ساعات و20 دقيقة بالداخل.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-53435 — إلغاء تسلسل Jenkins → قراءة ملف تعسفية (إثبات المفهوم)

أول إثبات مفهوم عام لـ CVE-2026-53435، تم بناؤه عندما كان الإعلان التحذيري فقط موجودًا ولم يُنشر أي إثبات مفهوم في أي مكان. تم إعادة بنائه من إعلان تحذيري غامض من سطر واحد خلال حوالي 8.5 ساعة في ليلة جمعة — ليس عن طريق كتابة الاستغلال يدويًا، ولكن عن طريق توجيه ذكاء اصطناعي عبر النهايات المسدودة، والمحاور، والتحقق حتى ظهرت سلسلة عاملة.

CVE-2026-53435 إثبات المفهوم يقرأ /etc/passwd من وحدة التحكم Jenkins

إثبات المفهوم يصل إلى /etc/passwd على وحدة التحكم — تأكيد قراءة ملف تعسفية.

CVECVE-2026-53435 (Jenkins SECURITY-3707)
الفئةإلغاء تسلسل غير آمن (تجاوز ClassFilter عبر config.xml)
التأثير (إثبات المفهوم هذا)قراءة ملف تعسفية موثقة على وحدة التحكم
المتأثرJenkins الأسبوعي ≤ 2.567، LTS ≤ 2.555.2
المُصحَّحJenkins الأسبوعي 2.568، LTS 2.555.3
الإعلان التحذيريhttps://www.jenkins.io/security/advisory/2026-06-10/ (نُشر 2026-06-10)
الحالة وقت الكتابةلا يوجد إثبات مفهوم عام (مستودعات إثبات المفهوم على GitHub: 0)

لماذا يوجد هذا المستودع

هذه تجربة في عرض العملية، وليس فقط النتيجة.

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

النقطة التي يطرحها هي عمدًا ليست "الذكاء الاصطناعي فعلها". الساعات الثماني هي الدليل على أنه لم يفعلها. لم يقم الذكاء الاصطناعي بنحت السلسلة في محاولة واحدة. ما حمل العمل هو الخبرة في المجال — معرفة أن الإعلان التحذيري كان يخفي مصرف إلغاء تسلسل، ومعرفة أين نبحث في أنواع نواة Jenkins بدلاً من الإضافات، ومعرفة أن DescribableList قبل التصحيح لن يفرض نوع عناصره، ومعرفة كيفية التحقق من ادعاء بدلاً من الوثوق به. قيمة الباحث لم تختفِ؛ لقد انتقلت من كتابة الاستغلال إلى التوجيه، والتهذيب، والتحقق.

هذا التحول هو الشيء الذي يستحق التوثيق.


الثغرة (السبب الجذري)

يحمي Jenkins إلغاء التسلسل باستخدام ClassFilter مخصص يسمح فقط باستخدام الأنواع المعرفة في نواة Jenkins أو الإضافات. CVE-2026-53435 هي أن هذا غير كافٍ: المهاجم الذي يمكنه إرسال طلب POST بـ config.xml يمكنه جعل Jenkins يقوم بإلغاء تسلسل نوع تعسفي من النواة/الإضافة في سياق لم يتوقعه أبدًا، ثم الوصول إلى ذلك الكائن عبر HTTP عبر توجيه Stapler.

يزرع إثبات المفهوم هذا نوع hudson.Plugin$DummyImpl (نوع من نواة Jenkins، لذا فهو يجتاز القائمة البيضاء للموقع) في قائمة <properties> الخاصة بـ ListView — وهي قائمة DescribableList<ViewProperty> التي، قبل التصحيح، لا تفرض نوع عناصرها. يحمل الكائن المزروع baseResourceURL=file:/. توجيه طلب HTTP إليه يقدم بعد ذلك الملفات مباشرة من نظام ملفات وحدة التحكم.

سلسلة ysoserial عامة لا تعمل هنا — يجب أن تكون الأداة (gadget) من نوع مقيم في Jenkins/إضافة لتبقى على قيد الحياة عبر الفلتر. هذا القيد هو اللعبة كلها.


النطاق والإفصاح المسؤول

  • يُظهر إثبات المفهوم هذا تأثير قراءة الملف التعسفي فقط.
  • يصف الإعلان التحذيري أيضًا انتحال هوية المستخدم وتنفيذ أوامر عن بعد عبر Script Console باستخدام نفس الأساس. تم الوصول إلى تلك السلاسل خلال البحث ولكن تم حجبها عمدًا هنا: تم تصحيح CVE قبل النشر بأيام فقط، وسيخدم تنفيذ أوامر عن بعد جاهز (turnkey RCE) بشكل أساسي الاستغلال الجماعي للنسخ غير المصححة. قراءة الملف كافية لإثبات التأثير.
  • الثغرة مصحَّحة بالفعل. تم إجراء جميع الاختبارات ضد مختبر محلي معزول (انظر أدناه) على جهاز المؤلف الخاص. لم يتم لمس أي أنظمة خارجية أو تابعة لجهات أخرى.

استخدم فقط ضد الأنظمة التي تمتلكها أو مخول صراحة باختبارها.


إثبات: يعمل على النسخة الضعيفة، يفشل على المصححة

تم تشغيل الاستغلال ضد حاويتين بنفس الإعداد — النسخة الضعيفة 2.555.2 والمصححة 2.555.3 — لتأكيد أنه يمارس ثغرة هذه CVE وليس أي أساس قراءة ملف غير ذي صلة:

تقبل النسخة المصححة الطلب لكن التصحيح يرفض النوع المزروع عند وقت إلغاء التسلسل، لذا تعود قائمة الخصائص فارغة ولا يوجد شيء لتوجيهه إليه. يقع الفشل تمامًا على الآلية التي يصفها الإعلان التحذيري — وهو ما يجعل هذا إثبات مفهوم حقيقيًا لـ CVE-2026-53435.


الاستخدام

root@kitploit:~
python3 exploit_cve_2026_53435_v2.py <base_url> <user> <pass> <remote_file> [view_name]

# example (against your own lab):
python3 exploit_cve_2026_53435_v2.py http://127.0.0.1:8080 <user> <pass> /etc/passwd
  • base_url — http://host:port للهدف (HTTP عادي؛ لا تضع https ما لم يكن المثيل ينهي TLS فعلاً).
  • يتطلب حسابًا لديه صلاحية إرسال طلب POST إلى config.xml الخاص بعرض (View/Configure)، بالإضافة إلى صلاحية القراءة الشاملة (Overall/Read).

إعادة إنتاج المختبر

root@kitploit:~
docker compose -f lab/docker-compose.yml up -d
#   vulnerable:  http://127.0.0.1:8080   (Jenkins LTS 2.555.2)
#   patched:     http://127.0.0.1:8081   (Jenkins LTS 2.555.3, negative control)

يقوم المختبر بتجهيز قاعدة بيانات مستخدمين محلية فقط عبر تهيئة Groovy بحيث يمكن اختبار المسار الموثق ذي الامتيازات المنخفضة دون مزود هوية خارجي.


الجدول الزمني — حوالي 8.5 ساعة، ليلة جمعة واحدة

root@kitploit:~
2026-06-12 (الجمعة)  15:00 → 23:23   ≈ 8 س 20 د

  15:00–15:12   بناء المختبر (docker: vuln 2.555.2 / patched 2.555.3) + استطلاع أولي
  15:12–21:00   تحليل مصرف إلغاء التسلسل والأداة (gadget)
                  (محاولات تجاوز Commons-Collections فشلت → تحول
                   من الخصائص إلى الإجراءات والعودة)
  21:00–22:30   تحليل ClassFilter + بحث جديد عن أداة، مقيد بأنواع النواة
  22:30–23:00   إثبات مفهوم عامل (v1 → v2) + تحقق تفاضلي (vuln vs patched)

معظم تلك الساعات كانت تحليلًا، وليس كتابة. الاستغلال نفسه تم تجميعه في آخر حوالي 30 دقيقة — بمجرد معرفة المصرف والأداة الصحيحين.


كيف تم بناء هذا

تم بناؤه باستخدام Claude Code (Anthropic)، تم توجيهه تفاعليًا من قبل المؤلف:

  • النموذج الرئيسي: Claude Opus 4.8 (Claude Max)
  • أجزاء: Claude Fable 5 (فئة Mythos-class)

النص الكامل والمحرر بشكل طفيف لجلسة العمل موجود في transcript/ — محفوظ كما هو، بما في ذلك النهايات المسدودة. (تم التحرير فقط لتخفيف بعض نبرة الأسطر ولإخفاء تفاصيل الشبكة المحلية؛ لم يتم إزالة أي شيء تقني.)


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

للاستخدام في الاختبارات الأمنية المصرح بها، والبحث، والتعليم فقط. لا يتحمل المؤلف والمساهمون أي مسؤولية عن سوء الاستخدام. الثغرة المستهدفة مصحَّحة — قم بالتحديث إلى Jenkins LTS 2.555.3 / الأسبوعي 2.568 أو أحدث.

تنزيل الأداة
2.555.2 (ضعيفة)2.555.3 (مصحَّحة)
createViewHTTP 200HTTP 200
<properties> المُخزَّن<hudson.Plugin_-DummyImpl/> — يبقى<properties/> — مُزَال
التشغيل → /etc/passwdroot:x:0:0:... — تمت القراءةفارغ — محظور