Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-5548 — دراسة فنية للثغرة CVE-2025-5548 | Kitploit
أدوات/GitHubGitHub/cryptomachio/cve-2025-5548
تحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةشيل كودمصممي الأخطاءاختبار الاختراقالتعلم والتعليمتطوير الحمولاتاستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubcryptomachio/cve-2025-5548

CVE-2025-5548

منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

دراسة فنية للثغرة CVE-2025-5548

عرض المستودع

دراسة تقنية للثغرة CVE-2025-5548

مقدمة

في هذا العمل، يتم تحليل الثغرة CVE-2025-5548، المرتبطة بـ تجاوز سعة المخزن المؤقت في المكدس الموجودة في FreeFloat FTP Server v1.0. الهدف الرئيسي من المختبر هو فهم كيفية تصرف تطبيق ضعيف تجاه المدخلات المعدلة، ومراقبة كيفية تسبب فشل التحقق في التأثير على تدفق تنفيذ البرنامج في بيئة خاضعة للرقابة.

لا يقتصر تطوير المستودع على إظهار النتيجة النهائية، بل يشمل عملية البحث الكاملة: إعداد البيئة، اختيار الأدوات، مراقبة الخلل، تحليل الذاكرة، والتحقق من الأثر الفعلي للثغرة.


تنظيم المحتوى

تم تقسيم العمل إلى جزأين متميزين.

إعداد المختبر

في هذا القسم، يتم شرح كيفية بناء بيئة الممارسة، نظام التشغيل المستخدم، التطبيق الضعيف، والأدوات التي اعتُبرت ضرورية لإجراء التحليل.

تطوير التحليل

يركز الجزء الثاني على الجانب العملي. هنا يتم وصف العملية المتبعة لاكتشاف الخلل، تأكيد تلف الذاكرة، دراسة الكتابة فوق السجلات، والتحقق من كيفية استغلال الثغرة.


1. المختبر المستخدم

النظام المستخدم

تم تنفيذ الممارسة على جهاز افتراضي يعمل بنظام Windows 11 Pro 25H2 (Build 26200.6584). البرنامج الضعيف المختار هو FreeFloat FTP Server v1.0، وهو تطبيق قديم مناسب لهذا النوع من التمارين لافتقاره للعديد من الحمايات الشائعة في البرامج الحالية.

تم تكوين شبكة الجهاز الافتراضي في وضع NAT، مما أتاح الوصول إلى الإنترنت لتثبيت التبعيات، تنزيل الأدوات، والحفاظ على الاتصال الأساسي للمختبر.

الأدوات الرئيسية

لتغطية جميع مراحل التحليل، كان من الضروري الاعتماد على العديد من الأدوات. استُخدم بعضها لإعداد البيئة، والبعض الآخر لمراجعة الملف الثنائي، وأخرى لمراقبة سلوك العملية عند حدوث الخلل.

الأدوات الأساسية

Git

استُخدم لتنزيل المستودعات، تنظيم بعض الموارد، وتسهيل إدارة المواد المستخدمة أثناء البحث.

Nmap

استُخدم كأداة دعم للتحقق من الاتصال، تحديد الخدمة المكشوفة، والتأكد من استجابة الهدف بشكل صحيح على المنفذ المتوقع.

Windows SDK

تم تثبيته للحصول على المكتبات، ملفات الرأس، والأدوات المفيدة في مهام التصحيح والتحليل منخفض المستوى داخل نظام Windows.

المحررات وبيئات التطوير

Notepad++

استُخدم للتحريرات السريعة، مراجعة النصوص البرمجية، والتلاعب البسيط بالسلاسل أو بيانات الاختبار.

Visual Studio Code

كان بمثابة بيئة مريحة لكتابة النصوص البرمجية، اختبار الأتمتة، والعمل مع الكود بطريقة أكثر انتظامًا.

PyCharm Community

كان مفيدًا بشكل خاص عند الحاجة لمراجعة نصوص أطول أو تصحيح منطق متعلق ببناء الحمولات.

التبعيات الضرورية

Python

تم النظر في نسختين:

  • Python 3، كخيار رئيسي للبرمجة النصية والأتمتة الحديثة.
  • Python 2.7، ضروري للتوافق مع بعض أدوات التصحيح الكلاسيكية المستخدمة في هذا النوع من المختبرات.

Java JDK

كان ضروريًا لتشغيل Ghidra، حيث أن هذه الأداة مطورة على Java.

أدوات التحليل والهندسة العكسية

Immunity Debugger

استُخدم لمراقبة حالة البرنامج أثناء التنفيذ، فحص السجلات، مراجعة الذاكرة، وتحليل النقطة الدقيقة التي يحدث فيها الخلل.

IDA Free

استُخدم في مرحلة التحليل الثابت لمراجعة الملف الثنائي وتحديد الوظائف المشبوهة من منظور أمني.

Ghidra

استُخدم كدعم لفك الترجمة وفهم المنطق الداخلي للبرنامج الضعيف بشكل أفضل.

Mona

سهلت هذه الإضافة مهام مثل إنشاء الأنماط، حساب الإزاحة، وتحديد الأحرف المشكلة في الحمولة.

التطبيق الضعيف

المكون الرئيسي للمختبر هو FreeFloat FTP Server v1.0، الذي يعمل كنظام هدف ضمن إثبات المفهوم. تكمن أهميته في أنه يحتوي على ثغرة كلاسيكية لتجاوز سعة المخزن المؤقت في المكدس، مما يجعله حالة مناسبة جدًا للتحليل التدريبي.

ملاحظة عامة

على الرغم من وجود أجهزة افتراضية معدة مسبقًا لهذا النوع من التمارين، فقد تم في هذه الحالة توثيق البيئة وتبرير الأدوات المستخدمة. يتيح ذلك فهمًا أفضل لسبب كون كل تطبيق جزءًا من المختبر والدور الذي يلعبه أثناء التحليل.


2. تحليل الثغرة

الاستطلاع الأولي

تألفت الخطوة الأولى من التحقق من أن خدمة FTP كانت متاحة وتعمل بشكل صحيح. بمجرد تأكيد الاتصال، تم مراجعة الملف الثنائي باستخدام أدوات التحليل الثابت لتحديد نقاط الضعف المحتملة المتعلقة بمعالجة السلاسل.

خلال هذه المراجعة، ظهرت دوال غير آمنة مثل strcpy و strcat، مما عزز الاشتباه في أن الخدمة قد تكون عرضة للمدخلات الطويلة بشكل مفرط. كما تم فحص عدة أوامر من بروتوكول FTP يمكن أن تتلقى بيانات يتحكم بها المستخدم، وتم اختيار أحدها كمرشح رئيسي للاختبارات.

بناءً على ذلك، تم تحميل العملية في مصحح لمراقبة سلوكها أثناء التنفيذ.


التحقق عبر المدخلات المتزايدة

تألفت المرحلة التالية من إرسال سلاسل ذات أطوال متزايدة للتحقق مما إذا كان البرنامج سيتوقف عن الاستجابة بشكل صحيح. أتاح هذا الإجراء التحقق من أنه بدءًا من حجم معين، تتعطل الخدمة وينتهي الأمر بحدوث تغيير في الذاكرة.

أكد هذا السلوك أنه ليس مجرد خطأ تحقق سطحي، بل تلف فعلي يؤثر على تدفق العملية.


التحديد الدقيق لنقطة الكتابة فوق

بعد التسبب في الخلل، كان من الضروري حساب عدد البايتات المطلوبة للوصول إلى عنوان الإرجاع بدقة. تم استخدام تسلسل غير متكرر بحيث يمكن ربط القيمة المنعكسة في EIP في لحظة التعطل بموقع محدد داخل المدخلات المرسلة.

بفضل هذا الإجراء، تم الحصول على الإزاحة المحددة اللازمة للكتابة فوق سجل التحكم.


التحقق من التحكم في التنفيذ

مع الإزاحة المعروفة بالفعل، تم إعداد اختبار جديد حيث تم استبدال عنوان الإرجاع بقيمة يمكن التعرف عليها بسهولة. كان الهدف هو التحقق مما إذا كان البرنامج يسمح بتعديل EIP بشكل متحكم به.

كان الاختبار ناجحًا، حيث أظهر المصحح أن السجل يحتوي بالضبط على القيمة المدخلة. أثبت هذا أنه من الممكن تغيير تدفق التنفيذ وإعادة توجيهه نحو عنوان محدد.


مراجعة الأحرف المشكلة

بمجرد الوصول إلى هذه النقطة، تم تحليل البايتات التي قد تتداخل مع الحمولة. في هذا النوع من الثغرات، من الشائع أن تتسبب بعض الأحرف في اقتطاع، تغييرات غير متوقعة، أو إنهاء مبكر للسلسلة.

من خلال المقارنات المتتالية في الذاكرة، تم تحديد العديد من الأحرف السيئة، من بينها:

  • \x00
  • \x0a
  • \x0d

كان اكتشافها مهمًا لبناء حمولة نهائية مستقرة ومتوافقة مع سلوك البرنامج الضعيف.


البحث عن مرجع مفيد في الذاكرة

تألفت الخطوة التالية من إيجاد عنوان مناسب يسمح بإعادة توجيه التنفيذ نحو منطقة الذاكرة التي ستستضيف الحمولة. كان يجب إجراء هذا التحليل مع مراعاة نظام التشغيل والحراسات النشطة، حيث أن بعض العناوين غير مستقرة بين عمليات التنفيذ.

داخل المختبر، تم تحديد مرجع صالح يسمح بربط الكتابة فوق التدفق بالمدخلة التي يتحكم بها المهاجم.


إعداد الحمولة

بعد التحقق من التحكم في التدفق، تم بناء شيل كود متوافق مع القيود المكتشفة سابقًا. بالإضافة إلى ذلك، تمت إضافة منطقة سابقة من التعليمات المحايدة لتسهيل وصول وحدة المعالجة المركزية (CPU) بأمان إلى بداية الحمولة حتى في حالة وجود انحراف طفيف في الموقع المتوقع.

كانت هذه الخطوة مهمة لزيادة موثوقية التنفيذ.


التنفيذ النهائي والتحقق من الأثر

في المرحلة الأخيرة، تم إطلاق الحمولة الكاملة ضد الخدمة الضعيفة بينما كان مُستمع ينتظر على الجهاز المهاجم. كانت النتيجة إنشاء اتصال عن بعد بالنظام الهدف، مما أكد أن الثغرة لا تسمح فقط بالتسبب في تعطل البرنامج، بل أيضًا الحصول على تنفيذ متحكم به.

يوضح هذا الأثر الفعلي للخلل ويبرر أهميته من منظور الأمن الهجومي والدفاعي.


الاستنتاجات

تُظهر دراسة CVE-2025-5548 بوضوح كيف يمكن أن يكون تطبيق قديم، بدون آليات حماية حديثة، عرضة لتقنيات الاستغلال الكلاسيكية القائمة على تلف الذاكرة.

طوال المختبر، تم تغطية عدة مراحل أساسية: إعداد البيئة، المراقبة الأولية للخلل، التحقق من تجاوز السعة، التحكم في سجل التنفيذ، تصحيح الحمولة، والتحقق من النتيجة النهائية.

بعيدًا عن الاختبار التقني، تعمل هذه الحالة على فهم سبب كون استخدام الدوال غير الآمنة وغياب إجراءات الحماية لا يزالان خطرًا كبيرًا في البرامج القديمة. لذلك، فإن هذا النوع من التمارين مفيد بشكل خاص لتعزيز المعرفة بالهندسة العكسية، تحليل الثغرات، والاستغلال في بيئات خاضعة للرقابة.

تنزيل الأداة