🐞CVE-2025-5548
ثغرة تجاوز سعة المخزن المؤقت في FreeFloat FTP Server 1.0

🎯 استغلال تجاوز سعة المخزن المؤقت في المكدس (Stack Buffer Overflow)
يحتوي هذا المستودع على توثيق وتطوير عملي لمشروع أمن سيبراني يركز على الهندسة العكسية واستغلال الثغرات على مستوى الذاكرة (Stack Buffer Overflow) في بيئات ويندوز 32-بت.
📌 هدف المشروع
الهدف من هذا المشروع هو تدقيق وتحليل واستغلال برنامج Freefloat FTP Server v1.00 بنجاح، وهو برنامج معروف بخلوه من آليات الحماية الأمنية الحديثة (مثل ASLR أو DEP). في جميع أنحاء هذا المستودع، تم توثيق دورة حياة الهجوم كاملة: بدءًا من إعداد بيئة المختبر بالأدوات الاحترافية، وصولًا إلى اكتشاف الثغرة (Fuzzing)، ثم اختطاف تدفق تنفيذ البرنامج للحصول على وحدة تحكم عن بُعد (Reverse Shell).
📂 هيكل المستودع
ينقسم المشروع إلى مرحلتين رئيسيتين، لكل منهما توثيق مفصل والنصوص البرمجية (Scripts) المقابلة:
-
🛠️ 01 Lab_Setup
- يحتوي على مبررات التنزيل وتعليمات التثبيت لجميع الأدوات المستخدمة خلال المشروع (أدوات التصحيح، بيئات التطوير المتكاملة، المترجمات الفورية، والبرامج القابلة للاستغلال).
- الأدوات المميزة: Immunity Debugger, IDA, Mona.py, Python 3.
-
💥 02 Vulnerability
- يحتوي على تحليل الثغرة والتطوير التدريجي للاستغلال (Exploit).
- يتضمن نصوصًا برمجية بلغة Python من أجل: Fuzzing، التحكم في سجل EIP، حساب الإزاحات (Offsets)، تحديد الأحرف الممنوعة (Bad Chars)، وحقن الـ Shellcode النهائي.
⚙️ المنهجية المطبقة
لتحقيق استغلال ناجح، تم اتباع المراحل المنهجية التالية:
- إعداد البيئة: نشر آمن للجهاز الضحية وأدوات التحليل.
- Fuzzing (الاكتشاف): إرسال مدخلات غير طبيعية إلى خادم FTP للتسبب في تعطله (Denial of Service).
- التحكم في EIP: إنشاء أنماط دورية لحساب الحجم الدقيق للمخزن المؤقت واستبدال مؤشر التعليمات.
- تحليل الذاكرة: تحديد الأحرف الممنوعة (Bad Chars) والبحث عن تعليمات القفز (
JMP ESP).
- الاستغلال: توليد الحمولة الخبيثة (Shellcode) وتحقيق تنفيذ التعليمات البرمجية عن بُعد (Remote Code Execution - RCE).