Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PMD — دورة عملية لتطوير البرمجيات الخبيثة لنظام ويندوز: تجزئة API، التحميل الجانبي لملفات DLL، تنفيذ الشيل كود (shellcode)، التلاعب بملفات PE، استضافة الحمولات، ومختبرات التسليم. | Kitploit
أدوات/GitHubGitHub/rad9800/pmd
الهندسة العكسيةشيل كودتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةالتعلم والتعليمالفريق الأحمرتوليد شيفرة القشرةتطوير الحمولاتمختبرات وتدريب عملي
GitHubrad9800/pmd

PMD

دورة عملية لتطوير البرمجيات الخبيثة لنظام ويندوز: تجزئة API، التحميل الجانبي لملفات DLL، تنفيذ الشيل كود (shellcode)، التلاعب بملفات PE، استضافة الحمولات، ومختبرات التسليم.

15914منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع

التطوير العملي للبرمجيات الخبيثة

التمرين 1 - إعداد البيئة

  1. قم بإعداد جهاز افتراضي يعمل بنظام ويندوز داخل مُشغّل افتراضي (hypervisor). أ. تأكد من أخذ لقطة (snapshot) للتثبيت الأساسي.
  2. قم بتنزيل وتثبيت Visual Studio 2022 - https://visualstudio.microsoft.com/vs/ أ. اختر عبء العمل Desktop development with C++ عند التثبيت.
  3. قم بتنزيل وتثبيت:
    • DebugView++ - https://github.com/CobaltFusion/DebugViewPP
    • PE Bear - https://github.com/hasherezade/pe-bear
    • ProcMon - https://learn.microsoft.com/en-us/sysinternals/downloads/procmon
    • Ghidra - https://www.ghidra-sre.org/
    • Everything - https://www.voidtools.com/

بالإضافة إلى ذلك (اختياري)، للحصول على تجربة فك هندسي أكثر اكتمالًا، قم بإعداد الرموز (symbols):

setx _NT_SYMBOL_PATH c:\Symbols;srv*c:\Symbols*https://msdl.microsoft.com/download/symbols

mkdir \symbols

  1. افتح PMD.sln داخل Visual Studio.
  2. حدد مشروع setup، وتأكد من أنك تستطيع: أ. ترجمة المشروع ب. رؤية عبارة الطباعة الخاصة بالتصحيح داخل DebugView++.

التمرين 2 - فهم خصائص PE

  1. حدّث خيارات المترجم والرابط لمشروع template للتحكم في مدخلات IAT وخصائص PE الأخرى. أ. اعتد على استخدام تحليل API الديناميكي ووثائق MSDN. ب. هل توجد أي خصائص أخرى تبرز؟ إذا قمت بتشغيل Strings.exe على الملف الثنائي، فهل تبرز أي سلاسل نصية؟ ج. هل يمكنك إزالتها/تحديثها؟

استخدم أي أداة من اختيارك لإكمال التمرين (مثل dumpbin/PE Bear). تم توفير غلاف حول pefile في scripts\props.py (تأكد من تثبيت المتطلبات).

  1. قم بتنزيل بعض عينات البرمجيات الخبيثة من VXUG أ. ما هي الاختلافات الرئيسية بين الملفات التنفيذية الحميدة والخبيثة؟ ب. ما هي الاختلافات الرئيسية بين ملفنا الثنائي والملفات التنفيذية الحميدة؟

مصادر إضافية

  • https://learn.microsoft.com/en-us/cpp/build/reference/dumpbin-reference?view=msvc-170
  • https://learn.microsoft.com/en-us/windows/win32/debug/pe-format
  • https://learn.microsoft.com/en-us/previous-versions/ms809762(v=msdn.10)
  • https://cloud.google.com/blog/topics/threat-intelligence/tracking-malware-import-hashing/
  • https://github.com/rad9800/misc/blob/main/generic/fix-entropy.cpp
  • https://github.com/rad9800/misc/blob/main/generic/stack-strings.cpp

التمرين 3 - تجزئة API في وقت الترجمة

خوارزمية تجزئة API المستخدمة حاليًا هي fnv1a.

  1. افتح مشروع solution واستدعِ MessageBoxA باستخدام إطار عمل تجزئة API.
  2. استخدم خوارزمية تجزئة مختلفة وتأكد من أنك ما زلت قادرًا على استدعاء MessageBoxA.

مصادر إضافية

  • https://github.com/vxunderground/VX-API/tree/main/VX-API
  • https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messageboxa

التمرين 4 - اكتشاف واستغلال اختطاف DLL

  1. قم بتنزيل Cisco Webex (https://www.webex.com/downloads.html)
  2. ابحث عن CiscoCollabHost ولاحظ ملفات DLL التي يتم تحميلها
    • استخدم Procmon/PE Bear/Ghidra أو أي شيء آخر!
  3. افتح CiscoCollabHost في Ghidra وحدد طرقًا مختلفة للحصول على تنفيذ الكود من التحميل الجانبي
  4. عدّل dll_template لتحميل ملفك الثنائي الهدف تحميلًا جانبيًا. تحقق من قدرتك على رؤية سلسلة التصحيح في DebugView++.
  5. حدّث LastWriteTime و CreationTime للملف dll_template.dll بحيث تتطابق مع DLL الهدف.

مصادر إضافية

  • https://hijacklibs.net/
  • https://github.com/sadreck/Spartacus

التمرين 5 - تنفيذ شيل كود

  1. قم بترجمة وتشغيل مشروع الأداة المساعدة. أ. بالإضافة إلى ذلك، فكّر في تشغيله على نظامك المضيف.
  2. انسخ ملف DLL المحدد إلى دليل x64/{Debug,Release} وحدّث كود المُحمّل.
  3. حدّث execute_sc لتنفيذ شيل كود خاص بك باستخدام دالة مختلفة مع إطار عمل تجزئة API.

مصادر إضافية

  • https://github.com/Wra7h/FlavorTown

التمرين 6 - تجميع كل العناصر معًا

  1. أنشئ مشروع DLL جديدًا واجمع ما يلي: أ. التحميل الجانبي لـ DLL ب. تنفيذ شيل كود من التحميل الجانبي
  2. تحقق من أن خصائص PE لديك كما هو متوقع.
  3. قم بترجمة حمولتك في وضع Release وعُبّئها بتنسيق مناسب للتسليم.

التمرين 7 - استضافة الحمولة

  1. سجّل لدى مزوّد تخزين سحابي (مثل AWS/CloudFlare)
  2. عبّئ حمولتك وارفعها أ. بالإضافة إلى ذلك، ابحث عن طرق لتقييد/تدقيق الوصول إلى التنزيل
  3. التقط لقطة لجهازك الافتراضي
  4. أعد الجهاز الافتراضي إلى حالته الأساسية ونفّذ سيناريو "التسليم" الكامل
    • على سبيل المثال، توجيه المستخدم إلى الرابط وحثّه على التنزيل. تأكد من أن الأمر يعمل.

التمرين 8 - بناء الحمولات باستخدام Github Actions

  1. أنشئ مستودع Git يحتوي على محتويات هذا المشروع
  2. تحقق من أنك تستطيع تشغيل Action وأن المخرجات (artifacts) تعمل
  3. حدّث .github\workflows\build.yml لإجراء أي معالجة إضافية قبل/بعد البناء ترغب بها لتوفير الوقت. إليك بعض الأفكار:
    • تشغيل props.py والتحقق من المخرجات/تضمينها
    • أتمتة تعبئة الحمولة باستخدام Python
    • أتمتة تحديث LastWriteTime و CreationTime لمطابقة هدف معيّن
تنزيل الأداة