في الدرس السابق كنا قد قمنا بحقن كود أثناء عمل البرنامج و بالتالي قمنا بالتلاعب في تسلسل تنفيذ البرنامج و عليه إستطعنا جعل البرنامج يقوم بالشيء الذي نريده نحن.هذا ما يسمى بالتلاعب بـ Process.
في درس اليوم سنتعرف على الكود الذي تم حقنه و الذي يسمى بالـ Shell Code و البعض يحب أن يسميه الـ Payload Code.كلا التسميتين صحيحتين.
ببساطة الشل كود هو مكتوب بلغة اﻵلة،يتم حقنه ليقوم بعمل محدد.
تتم عملية كتابة الكود شل بتتبع مراحل معينة،أوﻻ تتم كتابة الكود عن طريق لغة البرمجة سي و هي تعتبر المرحلة اﻷكثر سهولة بما أننا سنستخدم لغة برمجية متوسطة المستوى.بعدها يتم ترجمة الكود إلى لغة اﻵلة و بالتالي يتحول إلى النظام الثنائي و يتنج ملف تنفيذي.
المرحلة الثانية نقوم فيها بالرجوع خطوة إلى الوراء و ذلك عن طريق القيام بعملية فك التجميع Disassembling للملف التنفيذي و بالتالي سنحصل على كود اﻷسمبلي الموافق للملف التنفيذي.
في آخر مرحلة سنستغل معرفتنا المسبقة باﻷسمبلي و مشروع GDB من أجل تحويل الكود الذي نتحصل عليه إلى شل كود من أجل حقنه في البرنامج
لن أطيل الحديث و أترككم مع الدرس
تتم عملية كتابة الكود شل بتتبع مراحل معينة،أوﻻ تتم كتابة الكود عن طريق لغة البرمجة سي و هي تعتبر المرحلة اﻷكثر سهولة بما أننا سنستخدم لغة برمجية متوسطة المستوى.بعدها يتم ترجمة الكود إلى لغة اﻵلة و بالتالي يتحول إلى النظام الثنائي و يتنج ملف تنفيذي.
المرحلة الثانية نقوم فيها بالرجوع خطوة إلى الوراء و ذلك عن طريق القيام بعملية فك التجميع Disassembling للملف التنفيذي و بالتالي سنحصل على كود اﻷسمبلي الموافق للملف التنفيذي.
في آخر مرحلة سنستغل معرفتنا المسبقة باﻷسمبلي و مشروع GDB من أجل تحويل الكود الذي نتحصل عليه إلى شل كود من أجل حقنه في البرنامج
لن أطيل الحديث و أترككم مع الدرس
أتمنى أن يكون الشرح مبسطا،في حالة وجود أي جزئية غامضة يمكنكم طرح اﻷسئلة من أجل أن
تعليقات
إرسال تعليق
شاركنا رأيك حول الموضوع...