Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Win32_Offensive_Cheatsheet — تقنيات إساءة استخدام Win32 والنواة لاختبار الاختراق | Kitploit
أدوات/GitHubGitHub/matthieu-hackwitharts/win32_offensive_cheatsheet
آليات الاستمراريةالاستغلالالتهرب من IDS/IPSالهندسة العكسيةما بعد الاستغلالاختبار الاختراقتحليل الملفات الثنائيةالتعلم والتعليمالفريق الأحمر

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
موارد منسقة
تطوير الحمولات
GitHubmatthieu-hackwitharts/win32_offensive_cheatsheet

Win32_Offensive_Cheatsheet

تقنيات إساءة استخدام Win32 والنواة لاختبار الاختراق

عرض المستودع
98113617منذ 3 سنواتتمت المراجعة من قبل Kitploit
مشاركة

ورقة Win32 الهجومية السريعة

تقنيات استغلال Win32 والنواة لصالح مختبري الاختراق وفريق الأحمر، من إعداد @UVision و@RistBS

وضع المطوّر مفعّل، نرحب بأي مساعدة :)

  • توثيق ملفات Windows الثنائية
    • بنية PE
    • رؤوس PE
    • تحليل PE
    • جدول عناوين التصدير (EAT)
    • حل عنوان دالة
    • جدول عناوين الاستيراد (IAT)
      • تحليل IAT
    • جدول بحث الاستيراد (ILT)
    • تفعيل صلاحية SeDebug
  • تنفيذ ملف ثنائي
    • تنفيذ الشيل كود التقليدي
    • تنفيذ DLL
    • ملف RAW إلى PE
  • تقنيات حقن الكود
    • حقن CreateRemoteThread
    • Process Hollowing
    • تقنية طابور APC
    • Early Bird
    • Reflective DLL Injection
    • حقن DLL
    • Process Doppelganging
    • Fibers
    • CreateThreadPoolWait
    • Thread Hijacking
    • حقن كود MapView
    • Module Stomping
    • Function Stomping
  • تقنيات الربط (Hooking)
    • Inline hooking
    • ربط IAT
  • تقنيات تجاوز الهندسة العكسية
    • إخفاء الاستدعاءات والسلاسل النصية
    • الحل اليدوي للدوال
    • تجزئة Win32 API
  • تجاوز EDR/نقطة النهاية
    • استدعاء النظام المباشر
    • اللغات عالية المستوى
    • ترقيع inline hooking
    • كشف الخطافات
    • ترقيع ETW
    • تجاوز بيئة الاختبار
    • تجاوز التصحيح (Debugging)
    • تقنية VirtualProtect
    • إزالة الخطاف من نسخة جديدة
    • Hell's Gate
    • Heaven's Gate
    • انتحال PPID
    • استدعاء تتبّع العملية
    • تشفير الكومة (Heap)
    • إخفاء وضع السكون
  • أساسيات برمجة الدرايفر
    • مفاهيم عامة
    • جدول إرسال خدمات النظام (SSDT)
    • نقطة دخول الدرايفر
    • الإدخال والإخراج)
    • التواصل مع الدرايفر
    • توقيع الدرايفر (Microsoft)
    • استدعاءات مخصصة (ObRegisterCallbacks)
  • البرمجة الهجومية للدرايفرات
    • ترقيع استدعاء النواة
    • ترقيع عملية محمية
  • استخدام Win32 API لزيادة OPSEC
    • الثبات (Persistence)
      • المهام المجدولة
    • انتحال سطر الأوامر
  • مواضيع متفرقة
    • اتفاقية الاستدعاء x64
    • التنفيذ غير المباشر
      • تجاوز CFG باستخدام SetProcessValidCallTargets

  • البرمجيات الخبيثة/التقنيات المتطورة
    • حالة Emotet: انتحال PPID باستخدام WMI
    • تقنية إخفاء ملفات برمجية Zeus الخبيثة
    • تقنية ربط keylogger الخاصة بـ SpyEye
    • أغرب إيقاف لبرمجية خبيثة (WannaCry)

توثيق ملفات Windows الثنائية

أدوات ومواقع/كتب/مراجع مفيدة

  • 🔹 https://github.com/RistBS/Awesome-RedTeam-Cheatsheet/ (مرجع جيد جدًا)
  • 🔹 https://www.ired.team/ (مرجع رائع لفريق الأحمر مع ملاحظات ممتازة عن حقن الكود)
  • 🔹 https://undocumented.ntinternals.net/ (دوال NT غير الموثقة)
  • 🔹 https://docs.microsoft.com/en-us/windows/win32/api/ (التوثيق الرسمي من Microsoft)
  • 🔹 Windows Kernel Programming - Pavel Yosifovich
  • 🔹 https://research.checkpoint.com/ (وثائق مثيرة جدًا حول التهرب ومضادات التصحيح والمزيد)
  • 🔹 https://www.vx-underground.org/ (محتوى رائع حول تطوير البرمجيات الخبيثة والهندسة العكسية)

بنية PE

رؤوس PE

  • DOS_HEADER : الرأس الأول لملف PE، يحتوي على رسالة MS DOS ("This programm cannot be run in DOS mode....")، ورأس MZ (بايتات سحرية للتعرف على PE) وبعض محتوى الإجراء الافتتاحي (stub).
  • IMAGE_NT_HEADER : يحتوي على توقيع ملف PE، ورأس الملف (File Header) والرأس الاختياري (Optionnal Header)
  • SECTION_TABLE : يحتوي على رؤوس الأقسام
  • SECTIONS : ليست رأسًا ولكن من المفيد معرفتها: هذه هي أقسام ملف PE

التفاصيل : https://www.researchgate.net/figure/PE-structure-of-normal-executable_fig1_259647266

تحليل PE

تحليل PE بسيط للحصول على العنوان المطلق لـ IAT و ILT:

  • الحصول على العنوان الأساسي : GetModuleHandleA(NULL);
  • PIMAGE_DOS_HEADER = العنوان الأساسي، رأس DOS
  • PIMAGE_NT_HEADER = BaseAddress+PIMAGE_DOS_HEADER.e_lfnanew (RVA الخاص بـ NT_HEADER)
  • IMAGE_DATA_DIRECTORY = OptionnalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT] من PIMAGE_NT_HEADER
  • IMAGE_IMPORT_DIRECTORY = IMAGE_DATA_DIRECTORY.VirtualAddress (RVA الخاص بـ IMAGE_IMPORT_DIRECTORY)
  • IMAGE_IMPORT_DESCRIPTOR = BaseAddress + IMAGE_IMPORT_DIRECTORY.VirtualAddress (RVA الخاص بـ IMAGE_IMPORT_DESCRIPTOR)
  • العنوان المطلق لـ IAT : IMAGE_IMPORT_DESCRIPTOR.FirstThunk (RVA الخاص بـ IAT) + BaseAddress
  • العنوان المطلق لـ ILT : IMAGE_IMPORT_DESCRIPTOR.OriginalFirstThunk (RVA الخاص بـ ILT) + BaseAddress

جدول عناوين التصدير (EAT)

يعمل EAT على حل جميع الدوال التي يصدرها PE ويحل أيضًا ملفات DLL. وهو معرَّف في بنية IMAGE_EXPORT_DIRECTORY:```c
typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; DWORD Name; // name of DLL DWORD Base; // first ordinal number DWORD NumberOfFunctions; // number of entries in EAT DWORD NumberOfNames; // number of entries in (1) (2) DWORD AddressOfFunctions; // RVA EAT and contains also RVA of exported functions DWORD AddressOfNames; // Pointer array contains address of function names DWORD AddressOfNameOrdinals; // Pointer array contains address of ordinal number of functions (index in AddressOfFunctions) } IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;

يُرجى ملاحظة أن EAT مُعرَّف في DLL، وليس في PE "حقيقي" (حيث يستخدم الـ PE جدول EAT الخاص بـ DLL مُحمَّل لحل المؤشرات إلى الدوال التي يريد استخدامها).

### تحليل عنوان دالة

**باستخدام عنوان الدالة**

على ماذا تنتظر؟ ابحث عن هذه الدالة!

**باستخدام الرقم الترتيبي**

الرقم الترتيبي هو **موضع فهرسي** يشير إلى عنوان الدالة المقابل في مصفوفة `AddressOfFunctions`. يمكن استخدامه **لاسترجاع العنوان الصحيح للدالة**، كما يلي:

لنحاول العثور على العنوان المقابل (Addr4) باستخدام الرقم الترتيبي 3.

- **AddressOfFunctions** : *Addr1 Addr2 Addr3 Addr4 .... AddrN*
- **AdressOfNameOrdinals** : *2 5 7 3 ... N*

العنوان الذي نبحث عنه يقع في الموضع الثالث (بدءًا من 0)، والرقم الترتيبي لدينا يقابل **فهرس هذا العنوان**.

**باستخدام اسم الدالة**

العنصر Nth في مصفوفة AddressOfNames يقابل العنصر Nth في مصفوفة AddressOfNameOrdinals: باستخدام اسم معيّن، يمكنك استرجاع الرقم الترتيبي المقابل، ثم المتابعة للعثور على عنوان الدالة باستخدام هذا الرقم.

## جدول عناوين الاستيراد (IAT)
تنزيل الأداة