
مختبر تحليل واستغلال الثغرة CVE-2025-5548 في FreeFloat FTP Server 1.0
مختبر تحليل واستغلال الثغرات · تطوير الاستغلال · Windows x86
يوثق هذا المستودع بشكل كامل عملية تحليل واستغلال الثغرة ** CVE-2025-5548 **، وهي ** تجاوز سعة المخزن المؤقت المستند إلى المكدس ** الموجودة في ** خادم FreeFloat FTP 1.0 ** لنظام Windows.
الهدف ليس فقط استغلال الثغرة، بل شرح ** كيفية بناء مختبر تحليل من الصفر **: ما الأدوات المطلوبة، ولماذا هي مطلوبة، وكيفية استخدام كل منها طوال عملية الاستغلال. يتم إعداد البيئة بالكامل ** يدويًا خطوة بخطوة **، دون نصوص برمجية آلية، مما يتيح فهمًا عميقًا لكل مرحلة من مراحل العملية.
CVE-2025-5548 هو تجاوز سعة المخزن المؤقت في خادم FreeFloat FTP.
تحدث الثغرة عندما يتلقى خادم FTP مدخلة مصممة خصيصًا عبر الأمر NOOP. نظرًا لعدم التحقق من حجم المخزن المؤقت المستلم، يمكن تجاوز سعة المكدس، والكتابة فوق سجل EIP، وإعادة توجيه تدفق التنفيذ إلى شفرة عشوائية يتحكم بها المهاجم.
CVE-2025-5548-FreeFloat-FTP-Buffer-Overflow/
│
├── docs/
│ ├── 01_environment_setup.md ← الجزء 1: إعداد البيئة
│ └── 02_exploitation.md ← الجزء 2: استغلال الثغرة
│
├── exploits/
│ ├── exploit01.py ← التحقق من الاتصال
│ ├── exploit02.py ← اختبار الأمر NOOP بالبيانات العشوائية
│ ├── exploit03.py ← إرسال النمط الدوري
│ ├── exploit04.py ← التحقق من التحكم في EIP
│ ├── exploit05.py ← تحديد الأحرف الممنوعة
│ └── exploit06.py ← الاستغلال النهائي باستخدام JMP ESP
│
└── images/
└── *.png ← لقطات شاشة مستخدمة في التوثيق
تثبيت وإعداد جميع الأدوات اللازمة للمختبر يدويًا، مع لقطات شاشة وشرح لسبب الحاجة إلى كل أداة.
📄 عرض التوثيق ← docs/01_environment_setup.md
عملية استغلال كاملة موثقة مرحلة بمرحلة، بدءًا من أول انهيار وصولًا إلى السيطرة الكاملة على تدفق التنفيذ.
📄 عرض التوثيق ← docs/02_exploitation.md
graph LR
A["Entrada controlada: NOP + buffer"] --> B["Buffer Overflow"]
B --> C["Sobrescritura de EIP"]
C --> D["EIP → dirección JMP ESP"]
D --> E["JMP ESP"]
E --> F["ESP → buffer controlado"]
F --> G["NOP sled"]
G --> H["Shellcode"]
Entrada controlada (NOOP + buffer)
↓
Buffer Overflow
↓
Sobrescritura de EIP
↓
EIP → dirección de JMP ESP
↓
JMP ESP
↓
ESP → buffer controlado
↓
NOP sled
↓
Shellcode
لا يقتصر هذا المختبر على مجرد تنفيذ استغلال، بل يهدف إلى فهم العملية الكاملة لتحليل الثغرات واستغلالها.
هذا المستودع ** لأغراض تعليمية حصرية **. يتم إجراء جميع عمليات التحليل والاستغلال على برنامج ضعيف في بيئة محكومة ومعزولة. لا تستخدم هذه التقنيات ضد أنظمة دون إذن صريح.
| الحقل | التفاصيل |
|---|
| CVE | CVE-2025-5548 |
| تاريخ النشر | 03/06/2025 |
| الخطورة | حرجة |
| النوع | Stack-based Buffer Overflow |
| المكون المتأثر | NOOP Command Handler |
| البرنامج المتأثر | FreeFloat FTP Server 1.0 |
| المنصة | Windows x86 |
| ناقل الهجوم | شبكة (وصول عن بعد) |
| الإزاحة حتى EIP | 246 bytes |
| الأحرف الممنوعة | \x00 \x0a \x0d |
| عنوان JMP ESP | 0x7C86467B (kernel32.dll) |
| الفئة | الأدوات |
|---|
| اللغات | Python, Java (JDK) |
| بيئات التطوير والمحررات | Visual Studio Code, Notepad++, PyCharm |
| التحليل والتصحيح | IDA Free, Immunity Debugger, Ghidra |
| الاستغلال | Mona (إضافة لـ Immunity) |
| التطبيقات الضعيفة | VulnServer, FreeFloat FTP Server |
| الشبكة والأدوات | Nmap / Ncat, Git |
| المرحلة | الوصف |
|---|
| 1 | إعداد بيئة الاستغلال |
| 2 | التحليل الثابت للثنائي باستخدام IDA |
| 3 | اختبار الأمر NOOP بالبيانات العشوائية (Fuzzing) |
| 4 | حساب الإزاحة باستخدام Mona (246 بايت) |
| 5 | تحديد الأحرف الممنوعة (\x00, \x0a, \x0d) |
| 6 | إعادة توجيه تدفق التنفيذ عبر JMP ESP |