black007
إداري سابق وداعم للمنتدى (خبير فحص ملفات)
داعــــم للمنتـــــدى
★★ نجم المنتدى ★★
عضوية موثوقة ✔️
كبار الشخصيات
غير متصل
بسم الله
السلام عليكم جميعا
عند دخولى اليوم لتصفح مواضيع المنتدى لفت انتباهى احدى الاسئله التى موجوده فى هذا الموضع
http://forum.zyzoom.net/threads/233893/
هو السوال هل يمكن تخطى اّليه (HIPS) ؟
واغلب الردود كانت من منظور خبرتكم من التعامل مع البرامج لكن الاجابه على هذا السواء تحتاج الى موضوع كامل حيث لا يمكن اختصارها فى رد واحد
لذلك احببت عمل موضوع كامل يشرح ما هو الهبس وكيف يعمل وما هى طريقه تخطيه
------------------------------
ما هو الهبس بشكل سريع
------------------------------
الهبس هو طبقه من طبقات الحمايه
تقوم على مبدأ مراقبة التحركات المشبوهة بناء على قواعد معينة (rules) موجودة مسبقاً داخل البرنامج
-----------------------------------------
للتعرف على الهوك لابد لنا للاطلاع على بعض الامور
--------------------------------------
طريقه عمل الروت كت ROOTKIT
-------------------------------------
مبدأ عمل الروت كت هو التلاعب في استدعاءات الدوال البرمجية
توضيح اولا لكى يفهمه كل من يقراء ما اقصده قبل شرح طريقه عمل الروت كت
اغلب النشاطات التي تقوم بها في جهازك الحاسب الآلي هي تنقسم الى عملية استعداء لدالة ما ثم عملية معالجة
بمعنى
مثال 1
--------
عند الضغط على برنامج معين دبل كلك .
مايحدث فى الخفاء عند الضغط دبل كلك هو ان برنامج Explorer.exe يقوم باستعداء دالة تدعى CreateProcessW ويمرر لها مسار البرنامج , وهي دالة لتشغيل بروسيس جديدةماينتج عن ذلك ظاهريا هو فتح البرنامج وبدء عمله
مثال 2
-------
عند فتح برنامج regedit.exe محرر الرجستري والقيام بانشاء قيمة جديدة بالرجستري كأن تختار اسمها IDM مثلا
مايحدث فعليا هو استعداء لدالة RegSetValueExW وتمرير لها اسم القيمة المراد انشاؤها
الان كيف يعمل الروت كت
-----------------------------
طريقه عمل الروت كت تعتمد على اخفاء نفسها داخل الجهاز المستهدف بحيث قد يكون هناك باتش اختراق واتصال جاري حاليا بين الهاكر والضحية ولكن في اثناء الفحص والتحليل في برامج البروسيس وتحليل الاتصالات لا نجد اي وجود الى هذا الباتش
ولكنه فى الحقيقه هو موجود بشكل مخفي !!
كيف ذلك ببساطه عن طريق تخطى الداله
مثال توضيحى
----------------
على فرض لدى احد برامج البروسيس لمراقبه الملفات
وظيفته اظهار العمليات الحالية في التاسك مناجر
كما ذكرت في مثال 1 و 2 ان آلية عمل كل برنامج ترجع الى عملية استعداء وعملية معالجة
الأن برنامج البروسيس كيف له ان يسرد لك العمليات الحالية ؟؟
عن طريق استدعاء داله CreateToolhelp32Snapshot وتقوم هذي الدالة بالتقاط شوت او صورة عن العمليات الجارية حالية وترجع له بالمعلومات عن هذه العمليات ومن ثم يقوم برنامج البروسيس بعملية المعالجة لهذه البيانات اي يقوم بسردها لك بشكل جيد ونافذة ملونة والعملية تتم بشكل متكرر وسريع
-----------------------------------------
بعد معرفته طريقه عمل الروت كيت نبدا بتعريف الهوك HOOK
--------------------------------------------------------------------
فى المثال التوضيحى قلنا ان الية عمل برنامج البروسيس وقد عرفنا ماهي الدالة التي يعتمد عليها في سرد البيانات
على فرد اننا قمنا بمنعه بالكامل من استخدام دالة CreateToolhelp32Snapshot ماذا سيحدث سوف لن يظهر لك اي عملية
كلام جميل جدا طيب كيف لنا ان نمنعه من استخدام تلك الدالة ؟ او نمنع اي برنامج من استخدام دالة معينة ؟
اولا
يجب أن نعلم بأن النظام الويندوز ينقسم إلى :
Ring3 : Usermode
Ring2
Ring1
Ring0 : kernelmode
الـ Ring3 وهو رينج اليوزر مود هي الطبقة اللتي نعمل عليها وكل الاستدعائات السابقة كانت عليها
لكن لماذا تم تقسيم النظام بهذا الشكل ؟
نواة النظام هى (ntoskrnl.exe) لو تعاملنا معها بشكل مباشر فأي خطأ قد يخل بالنظام كامل ويتسبب في سقوطه لذلك تم تقسيم النظام بهذا الشكل فالأخطاء في الرينج 3 لن تتسبب في إطاحة النظام بأكمله
مفهوم الهوك : هو عباره عن تحويل داله او عند طلب داله معينه يتم تنفيذ داله اخرى
مثال لتبسيط الشرح
-----------------------
يتم تنفيز هذا الهوك على مستوى الكرنل مود Ring0 وليس اليوزر مود Ring3
لدينا دالة ShellExecuteA عنوانها كان 0x0006 وهي دالة لتشغيل ملف
نقوم بتحويل عنوان هذه الدالة الى عنوان اخر وليكن 0x0007 وهو عنوان لدالة اخرى او فنكشن خاص بنا
لذا عند طلب دالة ShellExecuteA سوف يتم تحويله الى شيء اخر مختلف
اسلوب الهوك السابق هو عملية صعبة جدا ولكى تحاول برمجه هوك معين يجب ان تكون على داريه واحترافيه تامه باحدى لغات البرمجه C++ لانك ستقوم بكتابه الهوك داخل رنج الكرنل Ring0
هناك اسلوب اخر ونستطيع تنفيذه من اليوزر المود Ring3 اي لا نحتاج الى صلاحيات
وهو عن طريق حقن ملف دل DLL بالبرنامج المستهدف يقوم بالسيطرة على استعداء الدوال اللي تحدث به
-----------------------------------------------
ناتى الان الى التعرف على Window API وما هى
--------------------------------------------------------
API هى نواة معدة من قبل نظام مايكروسوفت
و هي اختصار ل application programming interfaces و هذا النظام يتيح لنا التواصل مع نواة النظام
و عمل صلة بين برامجنا و النظام
هناك مايسمى باسلوب MS Detours
ويقصد بـ Detours تحويلات اي هي عملية الهوك
يقوم بعملية جمب وتحويل جميع الاستعداءات على الدالة المستهدفة الى فنكشن خاص بنا
ومايكروسوفت شرحت هذا الاسلوب ليس بغية منها لتطوير الفيروسات على العكس تماما فعملية الهوك لها استخدامات شرعية كثير مثل ان يقوم المبرمج بتتبع اخطاء برنامجه عند فشل دالة ما
---------------------------------------------------------
هذا كان شرح مبسط وبشكل سريع وسهل عن الهوك وطريقه عمله
ملحوظه اود قولها الهوك لكى تتقنه يجب ان تكون خبير الى محترف برمجه وتتفرع اساليب الهوك بشكل كامل ولكن تم شرحها بشكل مبسط لتسهيل على الجميع فهمها
جزئيه اخرى احب اضيفها قبل نهايه الموضوع وهى مكلمله للموضوع
كيف تقوم برامج الحمايه والجدران الناريه بالتقاط الملفات الخبيثه (الباتشات و الفيروسات )
-----------------------------------------------------------------------------------------------------
برامج الحماية الشهيرة والجدران النارية تقوم بالتقاط الفيروسات عند الدخول على الجهاز ومحاولة التعديل عليه والكتابة
عن طريق الهوك ايضا
يكون هناك درايفر خاص للحماية يعمل في مستوى الكيرنل يقوم بعمل هوك على الدوال اللتي قد تكون مشبوهة نوعا ما
مثلا عند عمل برنامج يقوم باستدعاء دالة CreateProcessA لكي يقوم يتشغيل ملف اخر بالتأكيد العملية لن تمر بهذا السلاسة بحيث ان الحماية تكون على علم بذلك الاستعداء ومن ثم تقوم بتفحص الملف الهدف اللي سوف يتم تشغيله وايضا تقوم بعملية مسح على الملف الفاعل الذي يقوم بعملية التشغيل او اللذي قام بالاستعداء وبعد ذلك اذا لم يكون هناك اي شبهات يتم السماح لهذه الدالة بالمرور واستكمال العمل
هذا ما يحدث خلف الكواليس عند عمل باتش معين من الباتشات ونحن لا نعلم عنها شى
-----------------------------------------
فى النهايه اتمنى ان تكونو استفدتم من الدرس الذى لم يكن فى بالى طرحه لولى الاخ Dr.protection
جازاه الله خير ولتبسيط على الجميع عن مفهوم هذا الامر
تحياتى للجميع واتمنى اكون وفقت فى الشرح وتبسيط الامور بشكل سلس
محبكم دوما مصطفى Black007
السلام عليكم جميعا
عند دخولى اليوم لتصفح مواضيع المنتدى لفت انتباهى احدى الاسئله التى موجوده فى هذا الموضع
http://forum.zyzoom.net/threads/233893/
هو السوال هل يمكن تخطى اّليه (HIPS) ؟
واغلب الردود كانت من منظور خبرتكم من التعامل مع البرامج لكن الاجابه على هذا السواء تحتاج الى موضوع كامل حيث لا يمكن اختصارها فى رد واحد
لذلك احببت عمل موضوع كامل يشرح ما هو الهبس وكيف يعمل وما هى طريقه تخطيه
------------------------------
ما هو الهبس بشكل سريع
------------------------------
الهبس هو طبقه من طبقات الحمايه
تقوم على مبدأ مراقبة التحركات المشبوهة بناء على قواعد معينة (rules) موجودة مسبقاً داخل البرنامج
-----------------------------------------
للتعرف على الهوك لابد لنا للاطلاع على بعض الامور
--------------------------------------
طريقه عمل الروت كت ROOTKIT
-------------------------------------
مبدأ عمل الروت كت هو التلاعب في استدعاءات الدوال البرمجية
توضيح اولا لكى يفهمه كل من يقراء ما اقصده قبل شرح طريقه عمل الروت كت
اغلب النشاطات التي تقوم بها في جهازك الحاسب الآلي هي تنقسم الى عملية استعداء لدالة ما ثم عملية معالجة
بمعنى
مثال 1
--------
عند الضغط على برنامج معين دبل كلك .
مايحدث فى الخفاء عند الضغط دبل كلك هو ان برنامج Explorer.exe يقوم باستعداء دالة تدعى CreateProcessW ويمرر لها مسار البرنامج , وهي دالة لتشغيل بروسيس جديدةماينتج عن ذلك ظاهريا هو فتح البرنامج وبدء عمله
مثال 2
-------
عند فتح برنامج regedit.exe محرر الرجستري والقيام بانشاء قيمة جديدة بالرجستري كأن تختار اسمها IDM مثلا
مايحدث فعليا هو استعداء لدالة RegSetValueExW وتمرير لها اسم القيمة المراد انشاؤها
الان كيف يعمل الروت كت
-----------------------------
طريقه عمل الروت كت تعتمد على اخفاء نفسها داخل الجهاز المستهدف بحيث قد يكون هناك باتش اختراق واتصال جاري حاليا بين الهاكر والضحية ولكن في اثناء الفحص والتحليل في برامج البروسيس وتحليل الاتصالات لا نجد اي وجود الى هذا الباتش
ولكنه فى الحقيقه هو موجود بشكل مخفي !!
كيف ذلك ببساطه عن طريق تخطى الداله
مثال توضيحى
----------------
على فرض لدى احد برامج البروسيس لمراقبه الملفات
وظيفته اظهار العمليات الحالية في التاسك مناجر
كما ذكرت في مثال 1 و 2 ان آلية عمل كل برنامج ترجع الى عملية استعداء وعملية معالجة
الأن برنامج البروسيس كيف له ان يسرد لك العمليات الحالية ؟؟
عن طريق استدعاء داله CreateToolhelp32Snapshot وتقوم هذي الدالة بالتقاط شوت او صورة عن العمليات الجارية حالية وترجع له بالمعلومات عن هذه العمليات ومن ثم يقوم برنامج البروسيس بعملية المعالجة لهذه البيانات اي يقوم بسردها لك بشكل جيد ونافذة ملونة والعملية تتم بشكل متكرر وسريع
-----------------------------------------
بعد معرفته طريقه عمل الروت كيت نبدا بتعريف الهوك HOOK
--------------------------------------------------------------------
فى المثال التوضيحى قلنا ان الية عمل برنامج البروسيس وقد عرفنا ماهي الدالة التي يعتمد عليها في سرد البيانات
على فرد اننا قمنا بمنعه بالكامل من استخدام دالة CreateToolhelp32Snapshot ماذا سيحدث سوف لن يظهر لك اي عملية
كلام جميل جدا طيب كيف لنا ان نمنعه من استخدام تلك الدالة ؟ او نمنع اي برنامج من استخدام دالة معينة ؟
اولا
يجب أن نعلم بأن النظام الويندوز ينقسم إلى :
Ring3 : Usermode
Ring2
Ring1
Ring0 : kernelmode
الـ Ring3 وهو رينج اليوزر مود هي الطبقة اللتي نعمل عليها وكل الاستدعائات السابقة كانت عليها
لكن لماذا تم تقسيم النظام بهذا الشكل ؟
نواة النظام هى (ntoskrnl.exe) لو تعاملنا معها بشكل مباشر فأي خطأ قد يخل بالنظام كامل ويتسبب في سقوطه لذلك تم تقسيم النظام بهذا الشكل فالأخطاء في الرينج 3 لن تتسبب في إطاحة النظام بأكمله
مفهوم الهوك : هو عباره عن تحويل داله او عند طلب داله معينه يتم تنفيذ داله اخرى
مثال لتبسيط الشرح
-----------------------
يتم تنفيز هذا الهوك على مستوى الكرنل مود Ring0 وليس اليوزر مود Ring3
لدينا دالة ShellExecuteA عنوانها كان 0x0006 وهي دالة لتشغيل ملف
نقوم بتحويل عنوان هذه الدالة الى عنوان اخر وليكن 0x0007 وهو عنوان لدالة اخرى او فنكشن خاص بنا
لذا عند طلب دالة ShellExecuteA سوف يتم تحويله الى شيء اخر مختلف
اسلوب الهوك السابق هو عملية صعبة جدا ولكى تحاول برمجه هوك معين يجب ان تكون على داريه واحترافيه تامه باحدى لغات البرمجه C++ لانك ستقوم بكتابه الهوك داخل رنج الكرنل Ring0
هناك اسلوب اخر ونستطيع تنفيذه من اليوزر المود Ring3 اي لا نحتاج الى صلاحيات
وهو عن طريق حقن ملف دل DLL بالبرنامج المستهدف يقوم بالسيطرة على استعداء الدوال اللي تحدث به
-----------------------------------------------
ناتى الان الى التعرف على Window API وما هى
--------------------------------------------------------
API هى نواة معدة من قبل نظام مايكروسوفت
و هي اختصار ل application programming interfaces و هذا النظام يتيح لنا التواصل مع نواة النظام
و عمل صلة بين برامجنا و النظام
هناك مايسمى باسلوب MS Detours
ويقصد بـ Detours تحويلات اي هي عملية الهوك
يقوم بعملية جمب وتحويل جميع الاستعداءات على الدالة المستهدفة الى فنكشن خاص بنا
ومايكروسوفت شرحت هذا الاسلوب ليس بغية منها لتطوير الفيروسات على العكس تماما فعملية الهوك لها استخدامات شرعية كثير مثل ان يقوم المبرمج بتتبع اخطاء برنامجه عند فشل دالة ما
---------------------------------------------------------
هذا كان شرح مبسط وبشكل سريع وسهل عن الهوك وطريقه عمله
ملحوظه اود قولها الهوك لكى تتقنه يجب ان تكون خبير الى محترف برمجه وتتفرع اساليب الهوك بشكل كامل ولكن تم شرحها بشكل مبسط لتسهيل على الجميع فهمها
جزئيه اخرى احب اضيفها قبل نهايه الموضوع وهى مكلمله للموضوع
كيف تقوم برامج الحمايه والجدران الناريه بالتقاط الملفات الخبيثه (الباتشات و الفيروسات )
-----------------------------------------------------------------------------------------------------
برامج الحماية الشهيرة والجدران النارية تقوم بالتقاط الفيروسات عند الدخول على الجهاز ومحاولة التعديل عليه والكتابة
عن طريق الهوك ايضا
يكون هناك درايفر خاص للحماية يعمل في مستوى الكيرنل يقوم بعمل هوك على الدوال اللتي قد تكون مشبوهة نوعا ما
مثلا عند عمل برنامج يقوم باستدعاء دالة CreateProcessA لكي يقوم يتشغيل ملف اخر بالتأكيد العملية لن تمر بهذا السلاسة بحيث ان الحماية تكون على علم بذلك الاستعداء ومن ثم تقوم بتفحص الملف الهدف اللي سوف يتم تشغيله وايضا تقوم بعملية مسح على الملف الفاعل الذي يقوم بعملية التشغيل او اللذي قام بالاستعداء وبعد ذلك اذا لم يكون هناك اي شبهات يتم السماح لهذه الدالة بالمرور واستكمال العمل
هذا ما يحدث خلف الكواليس عند عمل باتش معين من الباتشات ونحن لا نعلم عنها شى
-----------------------------------------
فى النهايه اتمنى ان تكونو استفدتم من الدرس الذى لم يكن فى بالى طرحه لولى الاخ Dr.protection
جازاه الله خير ولتبسيط على الجميع عن مفهوم هذا الامر
تحياتى للجميع واتمنى اكون وفقت فى الشرح وتبسيط الامور بشكل سلس
محبكم دوما مصطفى Black007

التعديل الأخير: