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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
vsftpd-cmds-denied-alias — vsftpd 3.0.5 - عالي - عن بُعد - بقايا صلاحيات - cmds_denied يفوّت الأسماء المستعارة وفق RFC (XRMD) | Kitploit
أدوات/GitHubGitHub/abraxas/vsftpd-cmds-denied-alias
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالتدقيق التكوينأمن الشبكاتاختبار الاختراقالأوراق والأبحاثمختبرات وتدريب عملي
GitHubabraxas/vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

vsftpd 3.0.5 - عالي - عن بُعد - بقايا صلاحيات - cmds_denied يفوّت الأسماء المستعارة وفق RFC (XRMD)

عرض المستودع
4منذ 2 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - vsftpd-cmds-denied-alias

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

الفئة: صلاحية متبقية الوصول: عن بُعد

vsftpd 3.0.5 - Chris Evans

ثبّتُ الحزمة الرسمية (tarball)، وليس نسخة GitHub ولا تفرّعًا من توزيعة. SHA-256 26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3. vsftpver.h VSF_VERSION "3.0.5".

cmds_denied هو مطابقة دقيقة لرمز بأحرف كبيرة في process_post_login (postlogin.c:140-184). ثم يقوم الإرسال (dispatch) بدمج أسماء RFC 775 البديلة على نفس المعالجات: RMD||XRMD (:263-264)، وكذلك CWD||XCWD، MKD||XMKD، PASV||P@SW، بالإضافة إلى EPSV / STOU / APPE المنفصلة. المشغّل الذي يضع RMD في قائمة المنع (وصفة DELE,RMD الشائعة) لا يزال يسمح لـ XRMD بحذف المجلد.

هذه الصلاحية المتبقية هي انتهاك لسلامة FTP بعد المصادقة في ظل قائمة منع ظنّ المشغّل أنها مغلقة. ليست بدون مصادقة، وليست root، وليست هروبًا من chroot، وليست RCE.

IDلا يوجد CVE بعد
الفئةصلاحية متبقية (cmds_denied مطابقة دقيقة للرمز)
الوصولعن بُعد (FTP بعد المصادقة)
CWECWE-863
CVSSمرتفع: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
المنتجvsftpd (Chris Evans)
المتأثرvsftpd 3.0.5 الحزمة الرسمية
المصادقةFTP USER/PASS (المختبر: anonymous ftp)
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1:18720 فقط

ما يمكن للمهاجم فعله

من: مستخدم FTP مُصادَق عليه (anonymous أو محلي) على خادم حيث ضبط المشغّل cmds_denied. القيمة الافتراضية غير مضبوطة. وصفات المستخدمين الافتراضيين التي تذكرها صفحة الدليل تتشارك uid الضيف، لذا لا يمكن لـ Unix DAC الفصل بينها. الجلسة هي بالفعل الـ uid المُعيَّن داخل chroot المعتاد. كان cmds_denied هو الضابط الإضافي الذي كان يُفترض أن يزيل الفعل.

السلامة (مُثبتة في المختبر)

الطريقة + الهدفالصلاحية
XRMD labdir بعد cmds_denied=RMDhandle_rmd -> str_rmdir لمجلد يمكن لـ uid الجلسة حذفه عبر Unix-rmdir. المختبر: RMD labdir 550، XRMD labdir 250، CWD labdir 550 (المجلد اختفى). MKD labctrl الثاني لا يزال 550 على RMD.

السلامة (مُستنتجة من نفس بوابة المطابقة الدقيقة؛ ليست من المختبر)

الطريقة + الهدفالصلاحية
XMKD dir بعد cmds_denied=MKDhandle_mkd -> mkdir بصلاحية uid الجلسة
XCWD path بعد cmds_denied=CWDhandle_cwd -> chdir. ثم RETR إذا كان download_enable
STOU / APPE بعد cmds_denied=STORhandle_upload_common إنشاء / إلحاق. يحتاج write_enable
EPSV / P@SW بعد cmds_denied=PASVhandle_pasv يفتح مستمع بيانات كان من المفترض أن تمنعه قائمة المنع

أثبت المختبر فقط XRMD بعد RMD. الأسماء البديلة الأخرى تتشارك نفس بوابة str_equal ونفس OR في الإرسال. لم أختبرها.

الاستطلاع

لا شيء كصلاحية متبقية من الدرجة الأولى. cmds_denied ليس إخفاءً. XRMD لا يسرد الأسماء.

التوافر

ليس ضمن النطاق. حذف مجلد هو ضربة على السلامة. CWD / RETR لاحق لذلك الاسم يعطي 550 كأثر جانبي.

ما لا تمنحه هذه الصلاحية المتبقية

  • cmds_denied بدون مصادقة (ما قبل تسجيل الدخول يتجاهله؛ USER/PASS/QUIT تبقى جدول ما قبل تسجيل الدخول)
  • Root
  • الهروب من chroot (allow_writeable_chroot افتراضيًا معطّل؛ المختبر يكتب فقط تحت /incoming لذا يبقى المنع ساريًا)
  • cmds_allowed يفشل مغلقًا: الأفعال غير المدرجة بما فيها XRMD تبقى 550
  • write_enable=NO لا يزال يحجب عائلة الكتابة (STOR/MKD/RMD/DELE/RNFR/RNTO/SITE/APPE/STOU)
  • Unix DAC عندما لا يتشارك المستخدمون uid
  • تجاوز حالة SITE مقابل site (ftpcmdio.c str_upper)
  • cmds_denied=CHMOD لا يطابق أبدًا؛ اقتل chmod بـ chmod_enable=NO أو cmds_denied=SITE

كيف وجدتها

بحثتُ عن hide/deny/cmds_denied على الإصدار الرسمي 3.0.5. البوابة هي مرور واحد على رموز مفصولة بفواصل وstr_equal مقابل الفعل بأحرف كبيرة. لا يوجد فحص ثانٍ داخل handle_rmd. لا يزال RFC 775 يوفّر XRMD كـ RMD. النصيحة الشائعة هي cmds_denied=DELE,RMD. تلك السلسلة لا تذكر XRMD أبدًا.

منعطف خاطئ: اعتبار SITE مقابل site تجاوزًا. الأفعال تُحوَّل إلى أحرف كبيرة. واعتبار cmds_allowed بنفس الطريقة: تلك القائمة تفشل مغلقة، لذا الأسماء البديلة غير المدرجة تبقى ممنوعة.

المختبر

cd lab
./run.sh

Loopback 127.0.0.1:18720. مشروع Compose vsftpd-cmds-denied-alias. الحزمة الرسمية 3.0.5 في lab/ (SHA-256 أعلاه). cmds_denied=RMD، write_enable=YES، anonymous، الكتابة فقط تحت /incoming. الشاهد VSFTPD-CMDS-DENIED-ALIAS-WITNESS. السطر الأخير:

SUCCESS vsftpd-cmds-denied-alias rmd=550 xrmd=250 dir-gone=yes VSFTPD-CMDS-DENIED-ALIAS-WITNESS

الإصلاح

امنع الأسماء البديلة لـ RFC عند منع الفعل الحديث، أو طابق الأسماء البديلة في cmds_denied (XCWD / XMKD / XRMD / XPWD / XCUP / P@SW / EPSV / STOU / APPE). فضّل cmds_allowed (قائمة السماح).

استقبال المورّد هو [email protected] (vsftpd). غير مدفوع. لا تفتح issue عامًا على GitHub على أي نسخة من vsftpd.

التواصل

Abraxas Labs - abraxaslabs.tech - github.com/abraxas - @abraxas_null - [email protected]

تنزيل الأداة