INTRO-Buffer Over Flow~Part1/ ثغرات الفيض- مقدمه
في البدايه اعتذر عن الدخول المتقطع لاسباب شخصيه اسأل الله ان يعيني ويعين الجميع. واتمنى انكم تكونون في احسن حال، على العموم راح اكسر السلسله التي انا ملزم فيها"4chieve THE T4G3T" للتنويع وراح اتطرق اليوم بأذن الله عن ثغرات الفيض بالاخص الستاك -buffer over flow وعن انواع البفر. وراح نتعمق ونشرح اكثر في شروحات اخرى مستقله للتكمله فيما بعد بحيث يكون الموضوع هاذا مرجع للشروحات بأذن الله. على كل حال لنتعرف على ثغرات البفر اوفر فلو ماذا تعني وماانواعها وكيفيه حدوثها.
1- ثغرات الفيض ماذا تعني وماخطورتها؟، ثغرات البفراوفرفلو تعني طفح في المعلومات المخزنه داخل البرمجيه التي التعتمد بتخزين data-معلومات مؤقته داخل الذاكرة او بكتابه قيمه في الذاكرة غير متواجده من الاساس وذالك يحدث فيض في الذاكرة، البرمجيه بالعادة تكون مكتوبه بالغات التالية،"C, C++, assembly "، وتكمن في خطورتها من حيث تخزين المعلومات في الذاكرة والتفنيذ، خطورتها تكمن في تخزين المعلومات في الذاكرة، وذالك قد يستخدم في ثغرات الريموت بفر اوفر فلو وذلك عن خلال حقن Shellcode. او ينتج بثغرات Denial of Service Buffer overflow حجب الخدمه.
٢- انواع البفراوفر فلو؟ انواع البفر اوفر فلو هي تنقسم الى خمس اقسام
*- Stack buffer over flow - اكثرها شهره
*- Heap buffer over flow
* -Off-by-One Errors
*-Buffer Overrun
*-Format String Attack
3- حدوث الثغرة في البرمجيه من نوع Stack او اكتشفها<
هناك تقريبا ثلاث طرق للاكتشاف هاذي الثغرات وهي وتنقسم من remote الى local ع حسب تشغيل البرمجيه والاتصال يكون من خارج الشبكه او من الداخل.
١-Fuzzing- التشويش -تكديس
*، عندما نقوم بالتكديس البرنامج او ارسال حزم معلومات مثل ارقام او حروف موحده بعدد كبير للبرنامج فوق مايستطيع من تخزينه في الذاكرة يحدث Crash او سقوط للبرنامج. من خلال الكراش او السقوط يستطيع المخترق بالتتبع بالقيمه اللمسببه للسقوط Offset من خلال Ollydbug. او المنقح
2- debug Source code- معاينه السورس كود وتتبع الدوال المصابة.
*/ كلنا نعرف بان اي لغة برمجيه لها دوال وقيم ومتغيرات. بعض القيم تكون غير مفلتره او المبرمج لم يقوم بتفعيل التحقق من عدد البايتات byte المرسله من البرنامج. وذالك عندما يقوم المخترق بالفحص للسورس كود وينظر الى دالة معينه لم يقم المبرمج بتفعيل او تحقيق البايتات المدخله نقدر نقول بالعاميه، راحت عليه
3- reverse engineering- الهندسة العكسية باستخدام ollydbug -dbg
لكي تكون متمكن في الهندسه العكسية يتطلب ان تكون لديك خلفيه لو بسيطه في لغة assembly. لغة الاسمبلي هي لغة تقوم بترجمه البرمجيه الى الذاكرة او المعالج المكتوب بلغة الكمبيوتر 0001. 0001. 01100100. وايضا من خلال الهندسة العكسيه وفهمها تستطيع بتحليل البرنامج وا طريقة عمل البرمجيه او البرنامج المصاب.يعني بالاحرى هي الغة الوسيطه بينك وبين الذاكرة والمعالج يعني تعلمك الاسمبلي في عالم البفر اوفر فلو مطلوب.B0F TOOLS
http://debugger.immunityinc.com/ID_register.py immunity debugger- المنقح
2- m3tasploit pattren
3-بعض الحرفه في برمجيه معينه بحيث تقوم بكتابة برمجيه من خلال اي لغه برمجه بأرسال حزم او معلومات للبرنامج ان كان من نوع يقبل الاتصال الخارجي او الداخلي.
-----------------------------------------------------------------------------------------------------
وفي النهاية حاولت قدر المستطاع بالتلخيص المبسط للثغرات البفر اوفر فلو، واعتذر ان كان فيه خطاء او نسيان، وهاذا والصلاة والسلام ع اشرف الخلق والمرسلين محمد صلى الله عليه وسلم، ألقاكم في الشرح اخر مع تفاصيل اكثر بأذن الله
تعليقات
إرسال تعليق