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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2015-3306-lab — مختبر Docker قابل لإعادة الإنتاج + استغلال raw-socket لـ CVE-2015-3306 (نسخ ملفات تعسفي قبل المصادقة في ProFTPD mod_copy) — تمرين تعليمي لمقارنة التصحيحات | Kitploit
أدوات/GitHubGitHub/diegslva/cve-2015-3306-lab
أطر الاستغلالتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubdiegslva/cve-2015-3306-lab

cve-2015-3306-lab

مختبر Docker قابل لإعادة الإنتاج + استغلال raw-socket لـ CVE-2015-3306 (نسخ ملفات تعسفي قبل المصادقة في ProFTPD mod_copy) — تمرين تعليمي لمقارنة التصحيحات

عرض المستودع
منذ 8س 44دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2015-3306 — ProFTPD mod_copy نسخ الملفات التعسفي قبل المصادقة

مختبر قابل لإعادة الإنتاج بالكامل واستغلال مكتوب يدويًا لـ CVE-2015-3306 — مبني كتمرين تعليمي في أبحاث الثغرات: مقارنة التصحيحات، الاستدعاء اليدوي، وتطوير الاستغلال عبر المقابس الخام.

الثغرة

وحدة mod_copy في ProFTPD تنفّذ زوج الأوامر SITE CPFR / SITE CPTO الذي ينسخ الملفات على جانب الخادم دون نقل البيانات إلى العميل.

في الإصدار 1.3.5، لم يتحقق أي من المعالجين من أن الجلسة مصادق عليها. افترضت الوحدة ببساطة "لن يرسل أحد أوامر SITE قبل تسجيل الدخول" — افتراض خاطئ تحوّل إلى CVE. أي عميل غير مصادق يمكنه نسخ أي ملف قابل للقراءة من قبل عملية الخادم إلى أي موقع قابل للكتابة من قبله.

التصحيح

الإصلاح (الالتزام 212d54271f، صدر في 1.3.5a) يقوم بأمرين:

  1. يضيف بوابة مصادقة في أعلى copy_cpfr و copy_cpto:
root@kitploit:~
authenticated = get_param_ptr(cmd->server->conf, "authenticated", FALSE);
if (authenticated == NULL || *authenticated == FALSE) {
  pr_response_add_err(R_530, _("Please login with USER and PASS"));
  errno = EPERM;
  return PR_ERROR(cmd);
}
  • يضيف توجيه CopyEngine on|off — سابقًا لم يكن بالإمكان حتى تعطيل الوحدة في البنيات التي تضمّنتها.
  • الفرق الموحّد الكامل موجود في patch.diff. قراءة التصحيحات هي المهارة: الإصلاح يخبرك أين كان الجرح.

    المختبر

    يقوم ملف Dockerfile بترجمة ProFTPD 1.3.5 (آخر إصدار معرّض للثغرة) من الملف المصدر الرسمي المضغوط مع تفعيل mod_copy:

    root@kitploit:~
    docker build -t proftpd-135 .
    docker run -d --name lab135 -p 127.0.0.1:2121:21 -p 127.0.0.1:30000-30010:30000-30010 proftpd-135
    docker exec lab135 chmod 777 /home/ftp
    

    PassivePorts في proftpd.conf يثبّت قناة البيانات — بنية FTP ثنائية القنوات (التحكم + البيانات الديناميكية) هي السبب في فشل تعيينات الحاويات الساذجة: منفذ التحكم يعمل، منفذ البيانات لا يعمل.

    الاستغلال

    يستخدم exploit.py مقابس خام — بدون ftplib، لأن المكتبات تخفي البروتوكول، وإخفاء البروتوكول هو بالضبط ما نحاربه:

    root@kitploit:~
    SITE CPFR /etc/segredo.txt   -> 350  (لم يتم إرسال USER/PASS: هذه هي الثغرة)
    SITE CPTO /home/ftp/...      -> 250  (تم النسخ التعسفي)
    USER ftp / PASS ...          -> 230  (تسجيل الدخول هو فقط مسار استخراج البيانات)
    PASV / RETR                  -> 150 -> 226  (تم التقاط العلم)
    DELE                         -> 250  (تنظيف: لا مؤشرات اختراق متبقية)
    

    الدروس المستفادة (الهدف الفعلي من هذا المستودع)

    • اللافتة ليست الحقيقة. دبيان يضيف إصلاحات خلفية دون تغيير الإصدارات؛ أفخاخ العسل (Dionaea وغيرها) تحاكي عمدًا لافتات معرّضة للثغرة.
    • الثغرة القابلة للاستغلال لا تعني استغلالًا تلقائيًا. البيئة (أذونات نظام الملفات، AllowOverwrite، تعيينات المنافذ) تحدد الأثر النهائي.
    • الاستدامة مهمة. الاستغلال الجيد يعمل مرتين متتاليتين — أسماء وجهات فريدة (time.time_ns()، وليس time.time())، وعدم الاعتماد على حالة متبقية.
    • ردود FTP لها آلة حالات. 1xx تمهيدي (توقع المزيد)، 2xx مكتمل، 3xx وسيط، 5xx خطأ. RETR يجيب مرتين: 150، ثم 226. استنزف كليهما قبل الأمر التالي.
    • سجلات الهدف هي الحقيقة الأساسية. عندما يقول العميل "550" ولا تعرف السبب، سجل تصحيح الخادم (-d10) يخبرك بالضبط أي فحص تم تفعيله.
    • التنظيف هو OPSEC. الاستغلال الذي يترك ملفات خلفه هو استغلال يترك أدلة خلفه.

    المراجع

    • التزام الإصلاح: https://github.com/proftpd/proftpd/commit/212d54271f
    • CVE: https://nvd.nist.gov/vuln/detail/CVE-2015-3306

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

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

    تنزيل الأداة