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


موقع يوتيوب مصر
 
الرئيسيةالبوابةأحدث الصورالتسجيلدخول

 

 الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني*

اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin
Admin



المساهمات : 20
تاريخ التسجيل : 22/05/2008

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* Empty
مُساهمةموضوع: الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني*   الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* Emptyالخميس مايو 22, 2008 3:42 pm

الشرح المفصل لثغرات buffer overflow و استغلالها



*هذه الدروس عبارة عن هدية صغيرة و متواضعه لفريق عمل القراصنة العرب *


* أولا أنا ابرئ نفسي من اي استعمال سيئ لهذه المعلومات *

* ثانياأنا تعبت كثيرا من اجل هذا الموضوع والذي هو من تأليفي 100% ... لذا فأمنع منعا باتا النقل و التعديل من غير استشارتي شخصيا برسالة خاصة او على الايمايل k--9999@hotmail.fr *

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


1- ماهي البفر اوفر فلو :

هي عبارة عن خطا برمجي يسمح بتحكم استثنائي في ذاكرة المعالج processor .
تحصل عندما نقوم بادخال معطيات تفوق سعة ال buffer وهو الجزء من الذاكرة المسؤول عن تخزين المدخلات كاسم المستعمل و كلمة السر مثلا ..وهكذا .مثلا اذا كان المبرمج حدد طول اسم المستعمل ب 50 حرف بذاكرة الBuffer و التي هي كافية من الناحية النظرية ..

ناتي نحن وندخل في اسم المستخدم 55 حرف مثلا ! ماذا يحدث يتوقف البرنامج عن العمل .وتخرج لنا مثل هذه الصورة.


الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 994232010

و نكون بذلك قد كتبنا فوق مكان آخر من الذاكرة . مسببين عطل بالبرنامج مثل ما كان واضح باالصورة السابقة.
لكن نستطيع كتابة اوامر مختلفة لتنفيذ غاياتنا كارسال رسالة أو أخذ صفة root ... مستغلين بذلك هذه الثغرة.
2-الدراسة المعمقة:
- صناعة برنامجنا الخاص الذي نتعمد الخطأ في برمجته :
لاحظ هذا البرنامج و الذي هو بلغة ال C
كود PHP:
# include <stdio.h>
main
()
{
char nom [5
] ;
printf ("What's your name ? : "
) ;
scanf ("%s",nom
) ;
printf ("Hi %s ", nom
) ;
return
0
;
}


يقوم هذا البرنامج بسؤال المستعمل عن اسمه .. فيكتب المستعمل اسمه ..
فيرسل له البرنامج رسالة ترحيب باسمه .
- برنامج ابسط مما يكون -
قم بحفظه باسم k-9999.c و حمل برنامج Digital Mars C/C++ Compilers
ستجده بهذا الموقع www.digitalmars.com .. قم بتنصيبه وفك ضغطه و ليكن في مجلد ال c
كما يلي :

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 242392615

تجده باسم dm
طريقة العمل بالبرنامج
ضع k-9999.c في هذا المكان
c:\dm\bin

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 772148595
ثم اذهب الى start ثم run ثم اكتب في المربع cmd .. فيفتح معك الدوس .
اكتب هذه الاوامر وراء بعض :
cd\
cd dm\bin
sc k-9999.c k-9999
لاحظ الصورة

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 514161178

تستطيع تطبيق البرنامج بكتابت k-9999 في محث اوامر الدوس
فتجد رسالة من برنامجنا تقول What's your name
اكتب اسمك مثلا mohamed
فيرسل كما قلنا البرنامج رسالة ترحيب لاحظ الصورة

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 896019766
الكود المهم بالبرنامج هو
كود PHP:
char nom [5] ;


حيث قمنا بتحديد طول اسم المستخدم .
ماذا لو وضعنا اسم مستخدم طويل ماذا يحدث ؟ سنضع مثلا AAAAAAAAAAAAAAAAAAAA
تخرج لنا رسالة خطأ تفيد ان برنامجنا قد اتلف أو حدثت له عملية crash .لاحظ الصورة
الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 625904227

الان انتهينا من صناعة برنامجنا و الذي به مشكلة سنحاول استغلالها .
2- مراقبت عمل البرنامج :
نحتاج لبرنامج ال OllyDbg v1.10 ..ستجدونه بالبحث في google. * يجب عليكم تعلم مهارة البحث عن الادوات *
نفتح برنامحنا الصغير بواسطة olly من file .. ثم
open ابحث عن مكان البرنامج الصغير و افتحه .

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 675041990
الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 423494314

اليوم قد تعبت حقا في انجاز هذا الدرس الذي ساكمله في الجزء الثاني ان شاء الله الذي سيكون اكثر تشويق .
[size=25]أخــــــ k-9999 ــــوكم
[/size]

* هذه الدروس عبارة عن هدية صغيرة و متواضعه لفريق عمل القراصنة العرب *
* أولا أنا أبرئ نفسي من أي استعمال سيئ لهذه المعلومات *
* ثانياأنا تعبت كثيرا من اجل هذا الموضوع والذي هو من تأليفي 100% ... لذا فأمنع منعا باتا النقل و التعديل من غير استشارتي شخصيا برسالة خاصة أو على الايمايل k--9999@hotmail.fr *
وصلنا بدرسنا السابق الى فتح بنامجنا الصغير k-9999.exe بواسطة ال Olly .
يجب علينا اولا تشغيل التطبيق و وضع الاسم الكبير مثل : AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA
و هي 60 A ( يجب احترام هذه القيمة فلو وضعت عدد كبير جدا لن تنجح في استغلال الثغرة )
وذلك من اجل انتاج خطأ في البرنامج لاحظ الصورة :

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 134832157
يجب علينا الآن أن نبحث عن الاشياء المهمه ..و هي عنوان العوده و مكان ال60 Aالتي ادخلناها . لاحظ الصورة .
الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 151226330
هنا ناتي الى المرحلة المهمة .وهي وضع كود الاستغلال بعد عنوان العودة وهو كالتالي :

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 690543489
انا الآن لن اكمل العمل ببرنامج k-9999.exe كون استغلاله أمر مستحيل .
تقولون لماذا ؟
الأمر لن ينتبه له الا من تابع معنا من البداية.. وكان له قدر صغير من الذكاء .
فأولا وقبل وضع الكود الاستغلال يجب الاشارة الى مكان بدايته في اول خانه كالتالي :

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 188694629

لكن كيف نضع العنوان هل نكتب بعد ال 16 A العنوان كالتالي :
AAAAAAAAAAAAAAAA0012FF90
مثلما فعلنا مع الجمله السابقه اذكركم بها .
AAAAAAAAAAAAAAAAput-your-code-here
بالتاكيد لا و الف لا ... كيف اذا ؟
العنوان هو عبارة عن رموز ascii وكل رمز يقابله رمز اخر و للاسف الرمز 00 لم استطع ايجاد رمز يقابله
فهو يشير الى نهاية السلسلة الحرفية .
اي لو اردت استغلال برنامج k-9999.exe لن استطيع لاني لن اتمكن من وضع عنوان بدء تنفيد كود الاستغلال
0012FF90 كون ال00 تقابلها نهاية السلسة الحرفية التي ندخلها عند الاستغلال .
أعلم ان الامر معقد نوعا ما لكن ان لم تفهم شيئا اقرء و أعد القراءه مره اخرى فان لم تستطع ضع في ردك النقطة التي لم تفهمها و ساعيد شرحها .
و سيكون التطبيق الان على برنامج آخر و هو برنامج myprog للتحميل من هنا

و هو برنامج بسيط قمت بتعريبه و بعض التعديلات فيه اذ يقوم بنسخ ما يوجد بالملف info و الذي هو ملف نصي .
وهذا هو الجزء المهم من كوده
كود PHP:
BOOL Rfile(HWND mhWnd)
{
HANDLE hfile=(HANDLE)-1
;
DWORD nbt=0
;
// لاحظ حجم مصفوفة الحروف
TCHAR buf[10
];
hfile=CreateFile ("info.txt",GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE
,
(
LPSECURITY_ATTRIBUTES )NULL,OPEN_EXISTING,0,NULL
);
if(
hfile==(HANDLE)-1
)


مثلا للعمل بالبرنامج اكتب k-9999 بالملف info و قم بحفظ التغيرات .
ثم افتح برنامج myprog و اضغط على read file لتنسخ لك ما كتبته سايقا بالملف info لا حظ الصوره

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 696544383
* أظن أنكم مباشرة من كود البرنامج ادركتم اننا لو نضع في الملف info نص اكبر من 10 احرف سيحدث خطأ *
نفتح مباشرة البرنامج بال olly و ذلك لدراسة عنوان العوده كاتبيين في ملف ال info
32 A
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 443082735
ما علينا الان الا التطبيق ..و يجب عليك البحث عن برنامج ال hex workshop و ستعرف لماذا.
الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 154136783
و لتبديل عنوان بداية الكود نقوم بفتح ملف الـ info بالhex workshop و نعدل به كالتالي :
" تجدون التعديل جاهزا بملف info آخر مضغوط . "

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 860682047
و طريقة التعديل هي كالتالي :
الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 755707213
الى ان نصل الى النتيجة النهائيه و هي كالتالي :
الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 570661186
ثم قم بحفظ التعديلات على ملف info و قم بتشغيل برنامج myprog بالolly و اضغط على read file
ولاحظ في ال olly ما يلي :

الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 545267183
كما تخرج لنا رساله
الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني* 472930092
لقد نجحنا بعملنا .
و في الاخير نصيحة صغيرة للتعامل ببرنامج ال Olly في كل مرة تشغلون برنامج "مثل k-9999"ويحدث له
تخريب تستطيعون مباشرة اعادة العمل به من debug ثم restart و ليس عليكم اقفال ال olly بالكامل
و المباشرة بالعمل به مره اخرى.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://video.yoo7.com
 
الشرح المفصل لثغرات buffer overflow و استغلالها *الجزء الاول+الثاني*
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
فديو :: الاختراق العام :: اختراق المواقع-
انتقل الى: