مضى على الشبكة و يوم من العطاء.
  • تحذير: يجب على كل روّاد الشبكة تشغيل برامج الاختراق داخل الأنظمة الوهمية وهي بهدف التعلم وحماية الأعضاء والتوعية بها

Malware Development (Windows Internals)

  • بادئ الموضوع بادئ الموضوع Pro
  • تاريخ البدء تاريخ البدء

Pro

./عضو جديد

السمعة:

السلام عليكم ورحمة الله وبركاته

أما بعد

رجعنالكم مرة أخرى يا شباب

بس النهارده الموضوع غير , النهارده هنخش في العميق


بس قبل ما أبدأ أنا غير مسؤول عن إنك تستخدم الحاجات دي في حاجة تضر بيها شركة أو شخص أو منظمة


بسم الله نبدأ

العناصر الي هنشرحها النهارده

1 - ماهو ال Process وما هي مكوناته ؟
2 - ماهي الThreads ؟
3 - مكونات Windows Architecture ؟
4 - Memory Managment


أولاً ماهي ال Process؟
الProcess هي ما تسمى بالعملية وهو جدول يحتوي على عدة أشياء منها :

1 - Threads
2 - Private Handle Table
3 - Private Address Space
4 - Access Token


يلا بينا نتكلم وحدة وحدة وشوف الحاجات دي بتعمل ايه أو ما هي فائدتها

1 - ال Threads - الي تشغل البرنامج من الأساس مش ال Process يعني ال Threads هي الي بتشغل البرنامج وبتشغل أكواد البرنامج
2 - ال Private Handle Table - هذا جدول بيحمل جميع ال Handles المربوطة بين البرنامج والkernel
3 - ال Private Address Space - جدول برضو بيحمل معلومات ال Process زي المتغيرات , الدوال
4 - ال Access Token هذا Token- أو رمز بيحمل صلاحيات اليوزر المستخدم لهذا البرنامج ومحتويات جداً كثيرة تقدر تبحث عنه في صفحة Microsoft

واديني كدا يباشا خلصنا أول حاجة وهي ال Process

ثانيًا ما هو ال Thread ؟
ال Thread : بختصار هو ما يدعو بالخيط وهو الشيئ الذي يقوم بتشغيل الكود الخاص بك فقط لا أكثر ولا أقل


ثالثًا مكونات ال Windows Architecture :
وهنا هحكي عن أهم الأشياء وتحتوي على :

1 - ال User Processes وهي عبارة عن المهام الشغالة داخل نظام الWindows مثل ال Discord, Google Chrome , microsoft Edge وهكذا
2 - ال Subsystem Dll's وهي عبارة عن ال DLL المستخدمة من قبل النظام مثل user32.dll , kernel32.dll
3 - وهي من أهم الأشياء ال NTDLL.DLL أو ال Native Api وهي من خلالها بنوصل إلى ال Kernel Mode ليه لأننا في المستقبل بنعرف إنها تستخدم ال Syscall وهذا يستخدم للوصول إلى Kernel Mode
طب هتقولي ازاي بتعرف أن العملية دي مثلاً خاصة بصنع الملف أو العملية دي خاصة بصنع حدث معين .. عن طريق ما يسمى بال SSN أو ال Syscall Service Number وهي رقم الخدمة داخل ال Syscall
وتم بحمد الله إنهاء هذه الفقرة


رابعًا واخيرًا Memory Managment :

أول حاجة لازم نعرفها أن ال Processes متقدرش تتعامل مع ال Physical Memory
فيكون في وسيط مابين ال Process وال Physical Memory وهو ال Virtual Memory

طبعاً ال Virtual Memory ممكن تتصنع من ال Physical Memory أو ال Hard Disk

طيب عندنا في حاجة اسمها Page وهي نقطة الوصول الي بتحددها ال Virtual Memory الخاصة بال Process عشان نبدأ نشتغل عليها
طيب أنا عاوز أعرف حجم الصفحة دي أو نقطة الوصول ؟
حجمها بيكون 4 كيلوبايت للصفحة الواحدة

وعندنا 3 أنواع من ال Paging :
1 - Free - وهي معناها نقطة الوصول الفارغة أو لا يوجد عليها نقطة وصول ( قابلة للاستخدام )
2 - Reserved - وهي معناها أن المنطقة محجوزة وقابلة للاستخدام
3 - Commited - وهي معناها أن المنطقة محجوزة وتم التعامل معها

وعندنا 4 صلاحيات لكل Page وهم :
1 - PAGE_NOACESS - ليس لدينا صلاحيات للوصول إلى هذه الpage
2 - PAGE_READONLY - لدينا فقط صلاحيات القراءة
3 - PAGE_READWRITE - لدينا صلاحيات القراءة والكتابة
4 - PAGE_EXECUTE_READWRITE لدينا صلاحيات القراءة والكتابة والتشغيل

طبعاً أنت هتسألني وهتقولي ايه الي هيحصل لو احنا تعدينا هذه الصلاحيات وجربنا نخش عليها واحنا معندناش صلاحيات - ايه ده مسألتنيش ؟ متسمع وأنت ساكت 😂
انا هحكي عن نوعين من حراس الميموري الجامدين:

الاول DEP أو ال Data Execution Prevention وهي أنه هيوقفك عند حدودك وهيقولك اي أنت عبيط هي وكالة من غير بواب
وكذلك عندنا نوع تاني والي هو ال ASLR والي هو ال Address Space Layout Randomization ونفس الحوار بس بيحمي من حاجة اسمها ال Buffer Overflow وأنت ممكن تبحث عليها بتعمق بس دي فكرة أساسية.

وبس والله أتمنى أن المقال قد نال إعجابك وفي كل مرة هرجع وأقولك

اعمل لايك عشان مهكركش
 
التعديل الأخير بواسطة المشرف:

السلام عليكم ورحمة الله وبركاته أما بعد

رجعنالكم مرة أخرى يا شباب

بس النهارده الموضوع غير , النهارده هنخش في العميق

بس قبل ما ابدأ انا غير مسؤول عن إنك تستخدم الحاجات دي في حاجه تضر بيها شركة أو شخص أو منظمة

فبسم الله نبدأ​

العناصر الي هنشرحها النهارده


1 - ماهو ال Process وما هي مكوناته
2 - ماهي الThreads
3 - مكونات Windows Architecture
4 - Memory Managment



أولاً ماهي ال Process؟
الProcess هي ما تسمي بالعملية وهو جدول يحتنوي على عدة أشياء منها
1 - Threads
2 - Private Handle Table
3 - Private Address Space
4 - Access Token


يلا بينا نتكلم وحدة وحدة وشوف الحاجات دي بتعمل ايه أو ما هي فائدتها

1 - ال Threads - الي تشغل البرنامج من الأساس مش ال Process يعني ال Threads هي الي بتشغل البرنامج وبتشغل أكواد البرنامج
2 - ال Private Handle Table - هذا جدول بيحمل جميع ال Handles المربوطة بين البرنامج والkernel
3 - ال Private Address Space - حجول برضو بيحمل معلومات ال Process زي المتغيرات , الدوال
4 - ال Access Token هذا Token أو رمز بيحمل صلاحيات اليوزر المستخدم لهذا البرنامج ومحتويات جداً كثيرة تقدر تبحث عنه في صفحة Microsoft


واديني كدا يباشا خلصنا أول حاجه وهي ال Process

ال Thread : بختصار هو ما يدعو بالخيط وهي الشيئ الذي يقوم بتشغيل الكود الخاص بك فقط لا أكثر ولا أقل
نأتي الآن ل Windows Architecture
وهنا هحكي عن أهم الأشياء وتحتوي علي
1 - ال User Processes وهي عباره عن المهام الشغاله داخل نظام الWindows مثل ال Discord, Google Chrome , microsoft Edge وهكذا
2 - ال Subsystem Dll's وهي عباره عن ال DLL المستخدمه من قبل النظام مثل user32.dll , kernel32.dll
3 - وهي من أهم الأشياء ال NTDLL.DLL أو ال Native Api وهي من خلالها بنوصل إلى ال Kernel Mode ليه لأننا في المستقبل بنعرف إنها تستخدم ال Syscall وهذا يستخدم للوصول إلى Kernel Mode
طب هتقولي ازاي بتعرف أن العملية دي مثلاً خاصة بصنع الملف أو العملية دي خاصة بصنع حدث معين .. عن طريق ما يسمي بال SSN أو ال Syscall Service Number وهي رقم الخدمة داخل ال Syscall

وتم بحمد الله إنهاء هذه الفقرة

وآخر شيء وهو Memory Managment

أول حاجة لازم نعرفها أن ال Processes متقدرش تتعامل مع ال Physical Memory
فيكون في وسيط مابين ال Process وال Physical Memory وهو ال Virtual Memory
طبعاً ال Virtual Memory ممكن تتصنع من ال Physical Memory أو ال Hard Disk
طيب عندنا في حاجة اسمها Page وهي نقطة الوصول في بتحددها ال Virtual Memory الخاصة بال Process عشان نبدأ نشتغل عليها
طيب أنا عاوز أعرف حجم الصفحة دي أو نقطة الوصول , حجمها بيكون 4 كيلوبايت للصفحة الواحدة وعندنا 3 أنواع من ال Paging

1 - Free - وهي معناها نقطة الوصول الفارغة أو لا يوجد عليها نقطة وصول ( قابلة للاستخدام )
2 - Reserved - وهي معناها أن المنطقة محجوزة وقابلة للاستخدام
3 - Commited - وهي معناها أن المنطقة محجوزة وتم التعامل معها

وعندنا 4 صلاحيات لكل Page وهما
1 - PAGE_NOACESS - ليس لدينا صلاحيات للوصول إلى هذه الpage
2 - PAGE_READONLY - لدينا فقط صلاحيات القراءة
3 - PAGE_READWRITE - لدينا صلاحيات القراءة والكتابة
4 - PAGE_EXECUTE_READWRITE لدينا صلاحيات القراءة والكتابة والتشغيل


طبعاً أنت هتسألني وهتقولي ايه الي هيحصل لو احنا تعدينا هذه الصلاحيات وجربنا نخش عليها واحنا معندناش صلاحيات - ايه ده مسألتنيش ؟ متسمع وأنت ساكت 😂
انا هحكي عن نوعين من حراس الميموري الجامدين
DEP أو ال Data Execution Prevention وهي أنه هيوقفك عند حدودك وهيقولك اي أنت عبيط هي وكاله من غير بواب
وكذلك عندنا نوع تاني والي هو ال ASLR والي هو ال Address Space Layout Randomization ونفس الحوار بس بيحمي من حاجه اسمها ال Buffer Overflow وأنت ممكن تبحث عليها بتعمق بس دي فكرة أساسية.

وبس ولله أتمنى أن المقال قد نال إعجابك وفي كل مرة هرجع وأقولك

اعمل لايك عشان مهكركش
الله يعطيك العافيه اخي
ننتظر جديدك بإذن الله +سويت لايك عشان ما تهكرني ههه
 
  • Love
التفاعلات: Pro
مشكور علي تعبك
 
  • Love
التفاعلات: Pro
عاشت إيدك على هذا الشرح الرائع ❤️ 🔥
 
  • Love
التفاعلات: Pro
سويت لايك لاتهكرني😂💖 + عاشت ايدك ياغالي
 
  • Love
التفاعلات: Pro

آخر المشاركات

عودة
أعلى