مختبر أكاديمي لتحليل واستغلال CVE-2025-5548 في FreeFloat FTP Server 1.0.
تجمع هذا المجلد العناصر القابلة لإعادة الإنتاج المرتبطة بمختبر CVE-2025-5548 / FreeFloat FTP Server 1.0. تتبع التسلسلة التعليمية والتسمية المادة التعليمية المرجعية من TheMalwareGuardian، بينما أُعيد بناء هذه النسخ لهذا المستودع انطلاقًا من التطوير وأدلة التمرين. ولا تُقدَّم على أنها نسخ مطابقة بايتًا ببايت لملفات المادة التعليمية.
جميع السكربتات مقيَّدة عمدًا بـ 127.0.0.1. والهدف هو أن ترافق حصريًا المختبر المحلي الموثَّق في docs/02-explotacion/.
| السكربت | وظيفته داخل المختبر | التوثيق |
|---|---|---|
01Python3Connection.py | التحقق من الاتصال والتفاعل مع FTP | Step 1 |
02Python3Fuzzing.py | الفَزْزَة التزايدية للأمر NOOP | Step 2 |
03Python3EIPOffsetDiscovery.py | إرسال النمط الدوري لتحديد إزاحة EIP | Step 2 |
04Python3ControlEIP.py | التحقق من التحكم في EIP باستخدام الإزاحة الموثَّقة | Step 3 |
05Python3FindBadChars.py | التحقق من bad characters المحدَّدة أثناء التمرين | Step 4 |
06Python3JMPESP.py | التحقق من إعادة التوجيه إلى ESP عبر علامة INT3 | Step 5 |
07Python3Shellcode.py | إعادة إنتاج آمنة للبنية النهائية للـ payload | Steps 6–7 |
يجب تفسير القيم الواردة في السكربتات ضمن سياق المختبر:
127.0.0.1:21، كما يظهر في لقطات التمرين.246، وقد حُصِل عليها أثناء مرحلة الاكتشاف وتأكَّدت عبر الكتابة فوق EIP.\x00 و\x0a و\x0d.0x75CD9B23 (\x23\x9b\xcd\x75 بصيغة little endian) يقابل جلسة التنقيح الموثَّقة. وكانت الوحدة التي حُدِّد فيها العنوان تخضع لـ ASLR، لذا يجب إعادة الحصول على العنوان في تنفيذ جديد.07Python3Shellcode.py فلا تُضمِّن ذلك الـ shellcode: بل تستخدم علامة INT3 للحفاظ على إمكانية تتبُّع التخطيط النهائي دون تحويل المستودع إلى عنصر تشغيلي للوصول عن بُعد.توفِّر المادة التعليمية المرجعية المنهجية وتسلسل الخطوات السبع. ويضيف هذا المستودع التطوير المُنجَز ولقطات الشاشة والتكييفات الخاصة بالتنفيذ. ويُوزَّع المحتوى الأصلي لهذا المستودع بموجب GPL-3.0، وفقًا للملف LICENSE؛ وتحتفظ المكوّنات والمواد التابعة لأطراف ثالثة بشروط الاستخدام الخاصة بها.