تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مدخل - Windows Kernel debugging with WinDbg
#1
تعتمد معظم انظمة التشغيل على نمطين لتشغيل  البرمجيات  Software
اليوزر مود والكيرنل مود
طبعا وجود وضعين لتشغيل السوفتوير يزيد من حماية كيرنل النظام لانه كمانعرف حدوث خطأ في اي برامج النظام التي تعمل من قبل ال System  سيسبب انهيار النظام
بامكانك ان تجرب وتوقف برنامج (lssase.exe    (Local Security Authority Subsystem Service برنامج الحماية وهو من مايكروسوفت عن العمل ثم سيقوم الحاسوب باعادة التشغيل تلقائيا (في ويندوز 10 تظهر شاشة تطلب ان تحفظ عملك لانه سيحدث auto restart )

 



توزع الداكرة
الان لنقم بتحميل اي برنامج يتخد وضع اليوزرمود في اي منقح وليكن Olly وليكن هدا البرنامج Calc.exe الة الحاسبة الويندوز
بعد تحميله اضغط ALT+E لعرض جميع المكتبات التي يستخدمها البرنامج
سنلاحظ انه يستخدم الكثير من المكتبات الموجودة بالمسار C://Windows/System32
انظر للعناوين


[صورة مرفقة: VFdq5ha.png]

ستلاحظ انهم كلهم يتحملون بعناوين اصغر من  0x80000000
كلهم بما فيهم kernel32.dll,user32.dll,shell32.dll,ntdll.dll
هدا لان الداكرة مقسمة بين اليوزر لاند و الكيرنل لاند
اليوزر لاند يشغل من العنوان x00000000  الى 0x7FFFFFFF  والكيرنل لاند تشغل من 0x80000000 الى 0xFFFFFFFF
فمثلا ادا لدبنا حاسوب به داكرة 4GB فان 2 سيدهب لليوزر لاند  والاخر سيدهب  الكيرنل لاند


______

____________________________________________________

Kernel debugging with WindDbg
______
WinDbg هو اصدار اخر من ال command line debugger (cdb.exe)  مدعم بواجهة رسومية GUI  متعدد المهام مقدم من مايكروسوفت يعتبر   Kernel mode deubgger ,user mode debugger  له قدرات عالية بامكانك عبره اصلاح اعطال النظام و
 تعمل Attach لبرامج الكيرنل و debug  لكيرنل النظام سواء Loacal
 او لنظام تشغله بواسطة VMware او لجهاز متصل عبر شبكة او USB
 ايضا بامكانك عبره ان تعمل debug للملفات التنفيدية[صورة مرفقة: hSY35Du.png]
 


[صورة مرفقة: jyK97h0.png]



 بامكانك تحميله من هنا


لمادا Kernel Debugging ؟
_ من اجل  فهم بنية النظام وكيف يعمل
_لفهم كيف ولمادا تحصل على مثل هده الشاشة

[صورة مرفقة: SA82uNp.png]

_لتحليل الدرايفرز
_لتحليل الروت كيت

 



بالنسبة لانشاء اتصال
_افتح الVMware فم اضغط Edit virtual machine setting > ADD > Serial port > pipe >
ثم اختر اي اسم للبورت بعد \\.pipe\ وليكن test
الان شغله ثم ابحث عن System Config
Boot  > Advenced setting > Check debug box
ثم Apply
Ok
ثم سيطلب منك اعادة التشغيل لاتعد التشغيل قبل ان تدخل الى
WinDbg > File > Kernel Debug > COM
الان اكتب اسم البورت والدي هو \\.\pipe\test
وتحقق من صندوق pipe لاننا سنتصل عبره reconnect ادا خفق الاتصال

Type :COM
port :\\.\pipe\test
معدل الاشارة بالثانية 115200 Baud Rate
اما عن حقل Resets فهو المدة اللازمة التي يجب الانتظار حتى يعيد الاتصال
هنا 0 يعني لانهائي

[صورة مرفقة: rD59NPo.png]


[صورة مرفقة: k4HkEDa.png][صورة مرفقة: tbJU8f2.png][صورة مرفقة: vazhpzB.png][صورة مرفقة: 8LQPoHF.png]

ادا ظهر لك هدا فكل شيئ على ما يرام عدا الرموز التصحيح Symbols

[صورة مرفقة: BawykAe.png]


رموز التصحيح تساعدك على فهم الكود اكثر فهي تشير لك للدوال 
فمثلا بدون رموز تصحيحية
[صورة مرفقة: y3IffhO.png]

مع رموز تصحيحية

[صورة مرفقة: 0D9Sx0J.png]

من اجل رموز التصحيح Symbols ادخل
File > Symbol File Path
ادخل في الحقل
srv*C:\symcache*http://msdl.microsoft.com/download/symbols
 
[صورة مرفقة: Rdji4ab.png]
طبعا  هنا بامكانك ان تحدده انت كما تريد المسار
ثم اعمل Break من debugاو CTRL+Break وادخل reload. او بامكانك ان تعيد الاتصال ليتحمل ال Symbols من سيرفر مايكروسوفت لاول مرة
ثم تتصل ب Virtual machine
[صورة مرفقة: rElbYNt.png]

أعضاء أعجبوا بهذه المشاركة : darkCOD3R , Cyperior , Cyros , fantazma , the9am3 , mohamad , TeRcO , الباحث , MountLegacy


الردود في هذا الموضوع
مدخل - Windows Kernel debugging with WinDbg - بواسطة SeGNMeNT - 05-09-2020, 02:12 PM
RE: مدخل - Windows Kernel debugging with WinDbg - بواسطة Cyros - 06-09-2020, 03:18 PM
RE: مدخل - Windows Kernel debugging with WinDbg - بواسطة mohamad - 09-09-2020, 08:05 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم