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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ForgottenButNotGone — نصوص برمجية لإثبات المفهوم لثغرتين لتنفيذ تعليمات برمجية عن بُعد بدون مصادقة في سامبا (CVE-2026-4408 و CVE-2026-4480) ورفع امتيازات محلي في TelnetD (CVE-2026-28372) | Kitploit
أدوات/GitHubGitHub/safebreach-labs/forgottenbutnotgone
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالفريق الأحمر
GitHubsafebreach-labs/forgottenbutnotgone

ForgottenButNotGone

نصوص برمجية لإثبات المفهوم لثغرتين لتنفيذ تعليمات برمجية عن بُعد بدون مصادقة في سامبا (CVE-2026-4408 و CVE-2026-4480) ورفع امتيازات محلي في TelnetD (CVE-2026-28372)

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
11منذ شهر واحدلم تتم المراجعة بعد

منسي لكنه لم يختفِ

يحتوي هذا المستودع على سكربتات إثبات المفهوم للثغرات التي عُرضت في المحاضرة "Forgotten but Not Gone: Unauthenticated RCEs and LPEs in Legacy Linux Services" في مؤتمر Black Hat USA 2026 وDEF CON 34.

CVE-2026-28372

تصعيد صلاحيات محلي في TelnetD: يمكن للمهاجمين غير المميزين استغلال ميزة متغيرات البيئة في TelnetD لمنح أنفسهم شلًا بصلاحيات الجذر. بحسب التصميم ووفقًا لـ RFC الخاصة به، يتيح بروتوكول Telnet لعملائه تعيين متغيرات بيئة لجلسة الشل. كانت هذه الميزة سيئة التصميم من منظور أمني. كانت الخدمة تسمح للعملاء غير المصادقين بتعيين متغيرات بيئة لعملية telnetd نفسها ولجميع عملياتها الفرعية. إحدى عملياتها الفرعية هي /usr/bin/login. سمح لنا تعيين متغيرات البيئة كعميل telnet عن بُعد بإطلاق /usr/bin/login مع متغير البيئة “CREDENTIALS_DIRECTORY”. يؤدي ذلك إلى جعل عملية login تبحث عن ملف باسم “login.noauth” في الدليل المحدد بواسطة “CREDENTIALS_DIRECTORY”. إذا كان الملف يحتوي على السلسلة النصية “yes”، تتخطى عملية login المصادقة وتمنح العميل شلًا يعمل بصلاحيات المستخدم الذي حدده العميل. ويمكن أن يكون أي مستخدم، حتى الجذر.

CVE-2026-4408

تنفيذ تعليمات برمجية عن بُعد بدون مصادقة في Samba عبر SAMR: يعتمد Samba على أوامر شل محددة في ملف الإعدادات (smb.conf) لتنفيذ عمليات مختلفة يطلبها عملاؤه، مثل إضافة مشاركة شبكة جديدة، أو إضافة طابعة جديدة، والمزيد. تستقبل بعض أوامر الشل معاملات بناءً على الطلب المُرسل من العميل. وفي معظم الأحيان، يتم تعقيم المعاملات وهروب الأحرف الخاصة قبل تنفيذ الأمر لمنع حقن الشل.

تكمن الثغرة في الدالة “check_password_complexity" التي تنسّق سلسلة نصية يحددها العميل داخل أمر شل دون تعقيمها. تتطلب الثغرة شرطين:

  1. يتم تكوين "check password script" لتنفيذ أمر مع المعامل "%u"
  2. يتم تكوين الخدمة لاستخدام تسلسل بروتوكول NCACN_IP_TCP لقبول طلبات RPC عبر TCP
عندما يصل الاستدعاء إلى الدالة "check_password_complexity”، سيُستخدم حقل "UserAccountName" من بنية "SAM_VALIDATE_PASSWORD_CHANGE_INPUT_ARG" كاسم مستخدم يُنسَّق داخل المعامل “%u” لأمر "check password script". ثم يُمرَّر سطر الأوامر الكامل إلى الدالة "smbrunsecret" التي تنفذه دون استدعاء "escape_shell_string”.

لتكوين البرنامج الخفي الخاص بـ RPC في samba (samba-dcerpcd) لاستخدام NCACN_IP_TCP، يجب تشغيله كخدمة نظام منفصلة وليس كجزء من خدمة samba الرئيسية. أيضًا، يجب ضبط الخيار "rpc start on demand helpers” في ملف الإعدادات على القيمة “no”.

CVE-2026-4480

تنفيذ تعليمات برمجية عن بُعد بدون مصادقة في Samba عبر SPOOLSS: تقوم الدالة generic_job_submit أيضًا بتنسيق سلسلة نصية يتحكم بها العميل داخل أمر شل دون تعقيمها. يؤدي الجمع بين الإعدادات التالية إلى هذه الثغرة:

  1. يُعرّض الخادم مشاركة طابعة
  2. يتم تعيين إعداد "printing" إلى أي قيمة غير IPRINT أو CUPS
  3. يحتوي إعداد "print command" على "%J" لتنسيق اسم المهمة

يمكن لعميل غير مصادق طلب الوصول إلى مشاركة طابعة عبر واجهة RPC الخاصة بـ spoolss. بعد ذلك، يمكن إرسال مهمة طباعة عبر الدالة RpcStartDocPrinter. سيُستخدم اسم المستند المحدد في الطلب كاسم مهمة يُنسَّق داخل المعامل “%J” للأمر. يؤدي استدعاء hRpcEndDocPrinter إلى تشغيل generic_job_submit التي ستنفذ الأمر “print command” من الإعدادات بعد تنسيق اسم المهمة دون تعقيم. سيتم تنفيذ الكود المُرسل من الاستغلال بصلاحيات المستخدم "nobody". إذا أُضيف الإعداد "valid users = @users" إلى قسم مشاركة الطابعة، يظل الاستغلال يعمل، لكنه يتطلب بيانات اعتماد صالحة. إذا تمت المصادقة، سيتم تنفيذ الكود المُرسل من الاستغلال بصلاحيات المستخدم المصادق وليس بصلاحيات "nobody".

شكر وتقدير

  • Ron Ben Yizhak

المراجع

  • CVE-2026-24061
تنزيل الأداة