السلام عليكم ورحمة الله تعالى وبركاته. نوع الثغرة: Local Buffer Overflow التاريخ: 2008/07/02 المكتشف: DATA_SNIPER شرح الثغرة الثغرة هي عبارة عن خطأ في معالجة Arguments الموجودة في البرنامج "Debug>arguments" حيث انه بإدخال كم كبير من الأحرف سيحدث فيض في المكدس ويتم الكتابة على عنوان العودة, لكن السائل يقول ما الفائدة من هذه الثغرة. سيكون الجواب كالتالي عند كتابة اي Argument يقوم Olly بقرائة محتويات Ollydbg.ini و يستخرج منها معلومات و Arguments التي تم كتابتها من قبل واثناء معالجة سلسلة الأحرف الكبيرة(التي تم إدخالها من قبل) ستحدث الكارثة، فيض على مستوى المكدس مع ملاحظة انه يجب إضافة علامتي الإقتباس("") في بداية ونهاية سلسلة الأحرف (وهذا مالم اجد له تفسير لذيق الوقت و الخوف من ظهور فيروسات تستغل هذه الثغرة). وكشفافية هذه الثغرة ليست وليدة تحليل كبير و و وو لكن كانت صدفة لكن عملية كتابة إستثمار و إكتشاف طرق الحماية و تجاوز العقبات لم يكن صدفة بل كان بالتحليل سواءا التحليل البرمجي او بالملاحظة ولاتنسى انهOlly بعض العقبات العقبة الكبيرة كانت في كتابة الشل كود حيث أن الشل كود بعد تحميله في الذاكرة يكون تالف بسبب تعطيله من طرف Olly سواءا بطرق الفلترة التي اظن انها مبرمجة او بسبب دوال الويندوز و الحماية المركبة فيه, لذلك وجب علي إستعمال Alphanumeric Shellcode من Metasploit لتجاوز هذه العقبة، بالإضافة إلى ان الثغرة مجربة على Windows XP SP2 FR وليست عندها توافيقية مع إصدارات أخرى مثل العربية لكنها قابلة للتطوير بسهولة فالمشكلة برمتها متعلقة بعنوان العودة وحتى هذه المشكلة يمكن تجاوزها بتخمين اماكن وجود عنوان العودة وكتابة عنوان الشل كود فيه اي RET Brute Forcing كما اسميها. فعلى سبيل :
"AAAAAAA......AAAA(RET Win AR)(RET Win FR)(shellcode)"
AAAAAAAAAAAAAAAAAAAAAAAAAAA......AAAOEONOJMIYJ6FWFGB7LCORORA3DCG3PRBCPRBSPRA3OBP6O6FGP