دليل خطوة بخطوة لاستغلال ثغرة تجاوز سعة المخزن المؤقت (Buffer Overflow) في خادم FreeFloat FTP باستخدام الاختبار التخريبي بلغة بايثون (Fuzzing)، وأداة Immunity Debugger مع mona.py، و IDA Free لتحليل الملفات الثنائية وتطوير الحمولة (Payload).
المنصة المستهدفة: Windows
يشرح هذا الدليل جميع الأدوات المطلوبة لإجراء تحليل الثغرات واختبار Fuzzing للبرنامج الثنائي. اتبع الخطوات بالترتيب لضمان إعداد كل شيء بشكل صحيح.
التحميل: python.org/downloads/windows
Python 3 هي اللغة التي سنستخدمها لكتابة سكربتات Fuzzing. بفضل بساطتها ونظامها البيئي الغني، فهي مثالية لأتمتة تسليم الحمولة (Payload) إلى البرنامج الثنائي المستهدف، والتعامل مع اتصالات الشبكة، ومعالجة الاستجابات.
التثبيت: قم بتنزيل ملف التثبيت .exe من الرابط وتشغيله. أثناء التثبيت، تأكد من تحديد ✅ "Add Python to PATH" — وإلا فلن تتمكن من استدعاء python من الطرفية.
التحميل: github.com/kbandla/ImmunityDebugger
Immunity Debugger هو مصحح أخطاء على مستوى العمليات (process-level debugger) موجّه خصيصًا لتحليل الأمان وأبحاث استغلال الثغرات. يتيح لك فحص السجلات (registers)، والذاكرة، والمكدس (stack)، والكومة (heap) في الوقت الفعلي أثناء تشغيل البرنامج — وهو بالضبط ما نحتاجه لتحديد وتأكيد تجاوز سعة المخزن المؤقت (buffer overflow).
⚠️ ملاحظة: توقف تطوير Immunity Debugger ولم يعد موقعه الرسمي متاحًا. ومع ذلك، لا يزال يُستخدم على نطاق واسع في مجتمع الأمان والبيئات الأكاديمية نظرًا لتكامله مع إضافة mona.py، وانخفاض استخدامه للموارد، وواجهته البديهية لتحليل الاستغلال على أنظمة Windows 32 بت. يحتوي مستودع GitHub المشار إليه على ملف التثبيت الثنائي كما تم توزيعه في الأصل.
التثبيت: استنسخ المستودع. يقع الملف التنفيذي في ImmunityDebugger\1.85\ImmunityDebugger.exe ولا يتطلب تثبيتًا.

التحميل: python.org/download/releases/2.7
محرك السكربتات في Immunity Debugger مبني على Python 2.7، مما يجعل هذا الإصدار شرطًا صارمًا لكي يعمل البرنامج بشكل صحيح — لا سيما لتشغيل إضافة mona.
ℹ️ يمكن أن يتعايش Python 2.7 وPython 3 على نفس النظام دون مشاكل. فقط تأكد من بقاء Python 3 كإصدار أساسي في PATH.
التثبيت: قم بتنزيل ملف التثبيت وتشغيله. ليس من الضروري إضافته إلى PATH إذا كان Python 3 مُعدًا مسبقًا.

التحميل: github.com/corelan/mona
mona.py هي الإضافة الرائدة لـ Immunity Debugger، طورها فريق Corelan. تعمل على أتمتة أكثر أجزاء تطوير الاستغلال مللًا:
pattern_create, pattern_offset)JMP ESPالتثبيت:
mona.py إلى دليل أوامر Immunity:ImmunityDebugger\1.85\PyCommands\mona.py
بعد النسخ، يمكنك استدعاؤه من شريط أوامر Immunity باستخدام:
!mona help

التحميل: code.visualstudio.com
🟡 اختياري — لكن يُنصح به بشدة.
VS Code هو المحرر الذي سنكتب فيه سكربتات Fuzzing الخاصة بنا بلغة Python. يوفر تلوينًا نحويًا، وإكمالًا تلقائيًا ذكيًا، وطرفية مدمجة، ودعمًا للإضافات، مما يحسّن كفاءة سير العمل بشكل ملحوظ.
الإضافة الموصى بها: Python — Microsoft
توفر IntelliSense، والتحقق من الأخطاء (Linting)، وتصحيح الأخطاء المدمج، واختيار مفسّر Python مباشرة داخل VS Code. بعد التثبيت، تأكد من تحديد المفسّر الصحيح (Python 3) من الشريط السفلي للمحرر.

التحميل: hex-rays.com → قسم التنزيلات ← IDA Free
IDA (Interactive DisAssembler) هو المعيار الصناعي لـ الهندسة العكسية للبرامج الثنائية. النسخة المجانية (IDA Free) أكثر من كافية لهذا التحليل: فهي تسمح لك بفك تجميع الملف التنفيذي المستهدف، والتنقل بين دواله، وتحديد الاستدعاءات الخطيرة مثل strcpy أو gets، وفهم تدفق البرنامج دون الوصول إلى الكود المصدري.
🔐 الترخيص: النسخة الفردية غير التجارية مجانية تمامًا. تتطلب فقط التسجيل بريدًا إلكترونيًا صالحًا. يتم تنزيل ملف التثبيت والترخيص من بوابة عملاء Hex-Rays.
التثبيت:
نزّل ملف التثبيت .exe من بوابة العملاء وقم بتشغيله باتباع خطوات المعالج.
بعد التثبيت، سيشير المعالج إلى أنه يجب وضع ملف الترخيص (.hexlic) في المسار التالي:
%APPDATA%\Hex-Rays\IDA Pro\
.hexlic من قسم التراخيص في بوابة العملاء وانسخه إلى هذا الموقع. في المرة القادمة التي تشغّل فيها IDA، سيتم تفعيل الترخيص تلقائيًا. ✅البرنامج الثنائي المستهدف هو FreeFloat FTP Server v1.0، وهو خادم FTP خفيف لنظام Windows. إنه برنامج له ثغرات معروفة وموثقة جيدًا في مجتمع الأمان، مما يجعله هدفًا كلاسيكيًا لممارسة تقنيات تجاوز سعة المخزن المؤقت في بيئات خاضعة للسيطرة.
📦 الملف التنفيذي متاح في هذا المستودع نفسه: FreeFloatFtpServer1.0.zip
استخرج ملف zip للحصول على Win32/FTPServer.exe، وهو البرنامج الثنائي الذي سنستخدمه طوال التحليل بأكمله.
تابع في 02 Vulnerability →
اختراق سعيد! 🎯