منتديات ايجى موكا
آلسلام عليكم ورحمه الله وبركـآته
W:W
آهلا وسهلا بيك فى منتديات
ايجى موكا
طنطاويه | منتديات | دردشه | شات | أفلام | أغاني | برامج | صور | العاب | كليبات | رنات | أسلاميات | أغاني شعبي | راب | موبايلات | سفر | سياحة | طنطاويه| أغاني ...
منتديات ايجى موكا
آلسلام عليكم ورحمه الله وبركـآته
W:W
آهلا وسهلا بيك فى منتديات
ايجى موكا
طنطاويه | منتديات | دردشه | شات | أفلام | أغاني | برامج | صور | العاب | كليبات | رنات | أسلاميات | أغاني شعبي | راب | موبايلات | سفر | سياحة | طنطاويه| أغاني ...
منتديات ايجى موكا
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتديات ايجى موكا

ايجى موكا | منتديات | دردشه | شات | أفلام | أغاني | برامج | صور | العاب | كليبات | رنات | أسلاميات | أغاني شعبي | راب | موبايلات | سفر | سياحة |ايجى موكا| أغاني| راب.. ...
 
الرئيسيةبوابه ايجى موكاأحدث الصورالتسجيلدخول

 

 شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي

اذهب الى الأسفل 
كاتب الموضوعرسالة
????
زائر
Anonymous



شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي Empty
مُساهمةموضوع: شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي   شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي Icon_minitimeالجمعة مايو 08, 2009 8:05 am

السلام عليكم
هذا اول درس اكتبه عن ثغرات الفيض stack buffer overflow
وساشرح فيه ان شاء الله كيفية اكتشافها واستغلالها بنوع من التفصيل ان شاء الله
يلا بدون التكثير في الكلام نبدا ببسم الله
اولا نبدا بالاكتشاف

اكتشافها اسهل بكثير من استغلالها بحيث نقوم بارسال كمية كبيرة من البيانات عبر احد المداخل "inputs" اي كل ما يسمح لنا بادخال بيانات الى البرنامج فاذا ضهر لنا خطا فان البرنامج مصاب بثغرت فيض واذا لم يضهر فانه غير مصاب

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

ربما سيكون هذا الجزء هو الاصعب ولكن ليس بعد ان تعرف اساسيات حدوث الفيض، لذا لاسهل علي الشرح واسهل عليك الفهم سابدا اولا بتعريف وتوضيح كل ما هو اساسي لاستغلال ثغرات الفيض :

1 المسجلات "Registers"

المسجلات هي مكان في بروسيسر الجهاز الذي يقوم بعمليات الحاسب الالي

2 مسجل الستاك "stack register"

هو مسجل يستعمل ليسهل على وحدة المعالجة المركزية التعامل مع داكرة النضام التي يكون البرنامج محملا عليها

3 المسجلات EIP - ESP
3 - 1 ESP


يشير دائما الى التعليمة التي تاتي بعد الكود المنفذ في الstack


لهذا يكتب الشل كود بعد عنوان العودة لتسهيل معرفة مكانه في الذاكرة


3 - 2 EIP


هو مسجل يخزن فيه عنوان التعليمة التي تاتي مبشرة بعد اي تعليمة تدهب بالتنفيد الى كود داخل الكود الرئيسي


ولفهم هذا الامر فلنرجع الى تعريف برنامج


البرنامج "Logiciel" هو مجموعة من البرانم "Programmes" كل برنام له عمل خاص


وهذه صورة موضحه





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


مثال اخر :


في الصورة اعلاه وبالضبط الزر "اضهار رسالة",,عندما نضغط عليه فان البرنامج يقوم باستدعاء البرنام المسؤول عن اضهار رسالة ويمرر التنفيذ اليه فنصبح الان خارج البرنامج الرئيسي وذاخل برنامج فرعي يقوم باضهار الرسالة


وعند ضهور الرسالة تكون مهمة البرنامج الفرعي قد انتهت وبذلك يمرر التنفيذ للبرنامج الرئيسي مرة اخرى


لنوضح اكثر بهذه الصورة





لا شك ان صورة كيفية وقوع الفيض بدات تتضح لديك


ان استطعنا ان نغير عنوان العودة فاننا قد ندهب بالتنفيذ الى اي مكان نريده

مثلا ان ندهب بالتنفيذ الى عنوان الشل كود

دعني اوضح لك اكثر

عندما يحجز المبرمج متغير ما فان حالة الstack تكون كالتالي


buffer | 41414141
41414141 |
return addr |004012A1


يعني اذا لم يقم المبرمج بالتاكد من طول البيانات المدخلة و طول المتغير


فان ادخال بيانات طويلة سيمكننا من الكتابة فوق عنوان العودة ليصبح الستاك كالتالي


buffer | 41414141
41414141 |
return addr | 41414141


A = 41 اذا حولناه الى قيم الهكس


فكل ما ندخله الى البرنامج


يحول الى قيم هيكس يعني لا يحفض كما هو فلو اذخلنا الى برنامج ABCD


41 42 43 44


بحيث


A = 41
B = 42
C = 43
D = 44

ويكتبها بالمقلوب

DCBA
قد تلاحظ اننا دخلنا مباشرة في الاستغلال ولكن لا تقلق سنبصط اكثر واكثر حتى يصبح الدرس اسهل وفي متناول الجميع
لنستمر في شرح الاساسيات
4 الشل كود "shellcode"
الشل كود عبارة عن برنامج/برنام مكتوب بطريقة احترافية تخوله للعمل في اي نضام دون الحاجة الى اي برنامج اخر (مترجم) وهذه الخاصية هي الاهم وهي التي تجعلنا نضع الشل كود في الثغرات لانه كما تعلم عندما تخترق عن بعد لا يمكنك ارفاق مترجم مع البرنامج بل تحتاج برنامج جاهز ما ان يصل الى الذاكرة يصبح قابل للتنفيذ .
الان وبعد ان فهمنا الاساسيات دعونا نقوم بخطوة لنتقدم بالموضوع الى الامام
وهي تلخيص فكرة كتابة استغلال ثغرة فيض المكدس :
ليحدث فيض يجب ان يكون لدينا متغير ذو حجم معين مثلا 260 بايت يجب علينا ادخال كمية كبيرة من المعلومات اي مثلا لو ادخلنا 270 فالبرنامج قادر فقط على تخزين 260 حرف و 10 احرف المتبقية فلا مكان لها بل سيكتبها فوق كل ما هو موجود بعد المساحة المحددة من طرف البرنامج وكما تعلمون عنوان العودة يكون ايضا بعد هذه المساحة اذن هكذا سيتم الكتابة فوقه وهكذا سنتحكم في البرنامج وذلك بتغيير عنوان العودة الى اي عنوان نريده
الان عرفنا كيف نتحكم في سير البرنامج اي فهمنا كيف نغير عنوان العودة

ماذا بعد ؟

تحدثت لنا على الشلكود وقلت انه يكتب ايضا في الذاكرة وللوصول الى هدفنا (وهو تنفيد الشلكود في جهاز الضحية) كيف سنعرف مكان هذا الشل كود ؟ او كيف نعرف عنوانه لكي نقوم بكتابته فوق عنوان العودة ؟

الجواب هو :


عند ادخال الشل كود الى البرنامج يكون على الشكل التالي


AAAAAAAA+عنوان العودة+shellcode

ويصبح بعد كتابته في الذاكرة

buffer (A's) | 41414141
41414141 |
عنوان العودة | عنوان العودة الجديد
الشل كود | الشل كود يوجد مباشرة بعد عنوان العودة

وهنا ياتي دور المسجل ESP راجع تعريفه "ضروري"

اكيد عرفتها قلنا انه هذا المسجل يسجل عنوان التعليمة التي بعد التعليمة المنفذة

وفي حالتنا هذه التعليمة المنفذة هي retn

اي العودة الى عنوان العودة وبما ان الشل كود موجود مباشرة بعدها هذا يعني ان العنوان المخزن بالمسجل ESP هو عنوان الشل كود

لذا لكي ننفذ الشل كود او لننقل التنفيذ اليه يجب علينا البحث عن قفزة للمسجل ESP

صورة تبسيطية :



اضنك الان فهمت كيف ينفذ الشل كود (ان لم تفهم اعد القراءة "تساعد على الفهم اكثر") .

قذ تلاحظ ان هذا الجزء كله نضري ولن ادعك تقول هذا في رد بل سننتقل الان الى الجزء التطبيقي من الدرس

سنقوم بكتابة استغلال لبرنامج مصاب بثغرة فيض طبعا نحن من سيقوم بكتابته وبلغة سي ثم نقوم بعمل اكسبلويت له ان شاء الله

يلا نبدا ببسم الله
هذا هو سورس كود برنامجنا التطبيقي
الرجوع الى أعلى الصفحة اذهب الى الأسفل
$$المجروح$$
SuPer VIP
SuPer VIP
$$المجروح$$


شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي 4210o
الهوايــة : شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي Chess10
المهن : شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي Studen10
ذكر الجدي عدد المساهمات : 1605
نقاط : 1861
تاريخ التسجيل : 27/05/2009
العمر : 33
المزاج متظبت

شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي Empty
مُساهمةموضوع: رد: شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي   شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي Icon_minitimeالإثنين أغسطس 10, 2009 12:30 pm

شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي 668523402

كل عام وانتم بخير بمناسبة شهر رمضان الكريم اللهم بلغنا رمضان وبارك لنا فى اعمالنا وتقبلها منا
قولو امين
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://mooka.tk/
 
شرح ثغرات فيض المكدس - Stack OverFlow Exploitation درس كتبته بالعربي + فيديو تطبيقي
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» SnIpEr_SA Shell بالعربي ..,
» جمع المعلومات واستخدام ثغرات FrontPage
» حمل أغنية سنوات الضياع بالعربي Mp3 للمطرب نؤاس أموري يا شمعتي وحصرياً على عمان دي جيه
» شرح فيديو كيفيه اخذ الرووت من خلال ثغره منتديات phpBB والسيطرة على السيرفر
» شرح مبسط : استغلال ثغرات xss (موضوع مهم ) + تطبيق

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات ايجى موكا :: منتديات الهاكر :: ^--^ منتدى المواضيع المتميزة ^--^-
انتقل الى: