مدخل - Windows Kernel debugging with WinDbg - نسخة قابلة للطباعة +- الفريق العربي للهندسة العكسية (https://www.at4re.net/f) +-- قسم : منتديات الهندسة العكسية - Reverse Engineering Forums (https://www.at4re.net/f/forum-4.html) +--- قسم : مختبر الفايروسات - Virus & Malware Labs (https://www.at4re.net/f/forum-30.html) +--- الموضوع : مدخل - Windows Kernel debugging with WinDbg (/thread-2067.html) |
مدخل - Windows Kernel debugging with WinDbg - SeGNMeNT - 05-09-2020 تعتمد معظم انظمة التشغيل على نمطين لتشغيل البرمجيات Software اليوزر مود والكيرنل مود طبعا وجود وضعين لتشغيل السوفتوير يزيد من حماية كيرنل النظام لانه كمانعرف حدوث خطأ في اي برامج النظام التي تعمل من قبل ال System سيسبب انهيار النظام بامكانك ان تجرب وتوقف برنامج (lssase.exe (Local Security Authority Subsystem Service برنامج الحماية وهو من مايكروسوفت عن العمل ثم سيقوم الحاسوب باعادة التشغيل تلقائيا (في ويندوز 10 تظهر شاشة تطلب ان تحفظ عملك لانه سيحدث auto restart ) توزع الداكرة الان لنقم بتحميل اي برنامج يتخد وضع اليوزرمود في اي منقح وليكن Olly وليكن هدا البرنامج Calc.exe الة الحاسبة الويندوز بعد تحميله اضغط ALT+E لعرض جميع المكتبات التي يستخدمها البرنامج سنلاحظ انه يستخدم الكثير من المكتبات الموجودة بالمسار C://Windows/System32 انظر للعناوين ستلاحظ انهم كلهم يتحملون بعناوين اصغر من 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 للملفات التنفيدية بامكانك تحميله من هنا لمادا Kernel Debugging ؟ _ من اجل فهم بنية النظام وكيف يعمل _لفهم كيف ولمادا تحصل على مثل هده الشاشة _لتحليل الدرايفرز _لتحليل الروت كيت بالنسبة لانشاء اتصال _افتح ال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 يعني لانهائي ادا ظهر لك هدا فكل شيئ على ما يرام عدا الرموز التصحيح Symbols رموز التصحيح تساعدك على فهم الكود اكثر فهي تشير لك للدوال فمثلا بدون رموز تصحيحية مع رموز تصحيحية من اجل رموز التصحيح Symbols ادخل File > Symbol File Path ادخل في الحقل طبعا هنا بامكانك ان تحدده انت كما تريد المسار ثم اعمل Break من debugاو CTRL+Break وادخل reload. او بامكانك ان تعيد الاتصال ليتحمل ال Symbols من سيرفر مايكروسوفت لاول مرة ثم تتصل ب Virtual machine RE: مدخل - Windows Kernel debugging with WinDbg - Cyros - 06-09-2020 حين ادخل system configuration لا يظهر لان نظامي عربي هل في طريقة اخرى لفتح النافذة تلك وقمت بتجربة عمل attach لبرنامج lssase يقول لي access deneid RE: مدخل - Windows Kernel debugging with WinDbg - SeGNMeNT - 09-09-2020 من الRun (Windows + R) ادخل msconfig.exe اي برنامج بيحتاج الوصول للكيرنل او يعدل على Kernel memory او اي شيئ من هدا يحتاج فتح ك Admin ارجو من المشرفين حدف هدا الموضوع او اخر جملة " كان هدا الموصوع مقدمة لمواضيع عن Windows kernel debugging with WinDbg والتي ساكتبها لاحقا انشاء الله ان تيسرت الظروف. " RE: مدخل - Windows Kernel debugging with WinDbg - mohamad - 09-09-2020 ماشاء الله شرح ممتاز ، من الصدف الجميلة اني من قليل بس كنت ادرس باحد المواد عن ال dispatcher والتحكم في في الوصول للكينرل واليوزر مود ، بس سؤال ، ايش اللي يمنع برامج التنقيح من الحصول على صلاحية الوصول للكيرنل مثل windbg ?? RE: مدخل - Windows Kernel debugging with WinDbg - SeGNMeNT - 14-09-2020 نعم dispatch routine تستخدم لمعالجة طلبات IRP في driver يمكن استخدام DeviceIoControl API لارسال مثلا Shellcode ودلك عبر معامل handle من برنامج عادي لدرايفر ويمكن حدوث خلل بعمله كعملStackOverflowاو ايا يكن لم افهم السؤال جيدا WinDbg يمكن ان ينقح عبره كبرنل النظام و اشياء ك Kernel drivers , Windows Kernel API... |