🧪 مختبر استغلال تجاوز سعة المخزن المؤقت (Buffer Overflow) لخادم FreeFloat FTP (CVE-2025-5548)

📌 الوصف
يوضح هذا المختبر كيفية استغلال ثغرة Stack Buffer Overflow في FreeFloat FTP Server، والمعروفة باسم CVE-2025-5548.
الهدف هو فهم عملية الاستغلال الكاملة في تطبيقات Windows القابلة للاختراق، بما في ذلك:
- اختبار Fuzzing للخدمة
- تحديد الإزاحة في EIP
- التحكم في مسار التنفيذ
- تحديد الرموز الضارة (bad characters)
- تحديد موقع تعليمات JMP ESP
- توليد الشيل كود (shellcode)
- تطوير استغلال (exploit) وظيفي
صُمم هذا المختبر لأغراض تعليمية لتعلّم التقنيات الكلاسيكية لاستغلال الذاكرة.
🎯 أهداف المختبر
خلال هذا المختبر ستتعلم:
- تحليل خدمة قابلة للاختراق
- إحداث انهيار (crash) مُتحكم به
- العثور على الإزاحة الدقيقة لـ EIP
- التحكم في مسار التنفيذ
- تحديد الرموز الضارة (bad characters)
- العثور على الأدوات (gadgets) في الذاكرة
- توليد الشيل كود (shellcode) باستخدام msfvenom
- بناء exploit بلغة Python
🖥️ بيئة المختبر
يتم تنفيذ المختبر في بيئة مُتحكم بها باستخدام الأدوات التالية:
الآلة الضحية
- Windows 7 / Windows XP
- FreeFloat FTP Server
- Immunity Debugger
- Mona.py
آلة المهاجم
- Kali Linux
- Python 3
- Metasploit Framework
- Netcat
🧰 الأدوات المستخدمة
- Immunity Debugger
- Mona.py
- Metasploit Framework
- msfvenom
- Python sockets
- Netcat
📂 هيكل المختبر
FreeFloat-BOF-Lab/
│
├── exploit/
│ ├── fuzz.py
│ ├── offset.py
│ ├── badchars.py
│ └── exploit.py
│
├── methodology/
│ └── exploitation_methodology.md
│
├── screenshots/
│
└── README.md
🔬 المنهجية
يتبع الاستغلال الخطوات التالية:
- Fuzzing
- العثور على إزاحة EIP
- التحكم في EIP
- تحديد الرموز الضارة (bad characters)
- العثور على JMP ESP
- توليد الشيل كود (shellcode)
- تنفيذ الاستغلال (exploit)
يمكنك مشاهدة الشرح الكامل هنا:
methodology/exploitation_methodology.md
🚀 تنفيذ الاستغلال
استمع إلى الاتصال العكسي:
nc -lvnp 443
نفّذ الاستغلال:
python exploit.py
📚 المفاهيم المكتسبة
- Stack Buffer Overflow
- التحكم في السجل EIP
- Shellcode
- Bad Characters
- JMP ESP
- تصحيح الأخطاء في Windows
- تطوير الاستغلالات (exploits)