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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
maldev-for-dummies — ورشة عمل حول تطوير البرامج الضارة | Kitploit
أدوات/GitHubGitHub/chvancooten/maldev-for-dummies
الاستغلالشيل كودتحليل البرمجيات الخبيثةالتعلم والتعليمالفريق الأحمرتطوير الحمولاتمختبرات وتدريب عملي
GitHubchvancooten/maldev-for-dummies

maldev-for-dummies

ورشة عمل حول تطوير البرامج الضارة

عرض المستودع
1.8k235منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

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

في عصر أنظمة الكشف والاستجابة للمؤسسات (EDR)، لم يعد بإمكان مشغلي الفرق الحمراء (Red Team) استخدام الحمولات المُجمَّعة مسبقًا. ونتيجة لذلك، أصبح تطوير البرمجيات الخبيثة (MalDev) مهارة حيوية لأي مشغل. قد يبدو البدء في هذا المجال شاقًا، لكنه في الواقع سهل جدًا. ستُظهر لك هذه الورشة كل ما تحتاجه للبدء!

يحتوي هذا المستودع على الشرائح والتمارين المصاحبة لورشة عمل "MalDev for Dummies" التي تم / سيتم تنظيمها في مؤتمري Hack in Paris 2022 و X33fcon 2023. على الرغم من أن الشرائح صُممت لتقديمها "شخصيًا"، إلا أن المواد والتمارين ستبقى متاحة هنا لإكمالها وفقًا لسرعتك الخاصة - لا ينبغي أبدًا استعجال عملية التعلم! نرحب بالمشكلات وطلبات السحب (Pull Requests) إلى هذا المستودع التي تحتوي على أسئلة و/أو اقتراحات.

⚠ إخلاء مسؤولية: تطوير البرمجيات الخبيثة هي مهارة يمكن -ويجب- استخدامها للخير، لتعزيز مجال الأمن (الهجومي) والحفاظ على دفاعاتنا حادة. إذا استخدمت هذه المهارة مطلقًا لتنفيذ أنشطة ليس لديك إذن بها، فأنت دمى أكبر مما تستهدفه هذه الورشة ويجب عليك المغادرة فورًا.

وصف الورشة

مع ازدياد نضج أدوات مكافحة الفيروسات (AV) والكشف والاستجابة للمؤسسات (EDR) دقيقة بعد دقيقة، يُجبر الفريق الأحمر على البقاء في صدارة المنحنى. لقد ولَّت أيام execute-assembly وإسقاط الحمولات غير المعدلة على القرص - إذا كنت تريد أن تستمر مهامك لأكثر من أسبوع، فسيتعين عليك رفع مستوى إنشاء الحمولات وتطوير البرمجيات الخبيثة. قد يكون البدء في هذا المجال صعبًا، لكن العثور على الموارد المناسبة ليس سهلاً دائمًا.

تستهدف هذه الورشة المبتدئين في هذا المجال وسترشدك خلال خطواتك الأولى كمطور للبرمجيات الخبيثة. وهي موجهة في المقام الأول للممارسين الهجوميين، ولكن الممارسين الدفاعيين مرحب بهم أيضًا لحضور الورشة وتوسيع مجموعة مهاراتهم.

خلال الورشة، سنتناول بعض الجوانب النظرية، وبعدها سنقوم بإعداد بيئة مختبرية لك. ستكون هناك تمارين متنوعة يمكنك إكمالها اعتمادًا على مجموعة مهاراتك الحالية ومستوى راحتك مع الموضوع. ومع ذلك، فإن الهدف من الورشة هو التعلم، وليس إكمال جميع التمارين بشكل صريح. أنت حر في اختيار لغة البرمجة المفضلة لديك لتطوير البرمجيات الخبيثة، لكن الدعم خلال الورشة يُقدم بشكل أساسي للغتي C# و Nim.

سنناقش خلال الورشة المواضيع الرئيسية المطلوبة للبدء في بناء برمجياتك الخبيثة الخاصة. يتضمن ذلك (على سبيل المثال لا الحصر):

  • واجهة برمجة تطبيقات Windows (Windows API)
  • أنواع الملفات وطرق التنفيذ
  • تنفيذ وحقن شيل كود (Shellcode)
  • طرق تجاوز أنظمة AV و EDR

البدء

للبدء في تطوير البرمجيات الخبيثة، ستحتاج إلى جهاز تطوير حتى لا تُزعجك أي أدوات دفاعية قد تعمل على جهازك المضيف. أفضّل استخدام Windows للتطوير، لكن Linux أو MacOS سيكونان جيدين أيضًا. قم بتثبيت المحرر/بيئة التطوير المتكاملة (IDE) التي تختارها (أستخدم VS Code لكل شيء تقريبًا باستثناء C#، حيث أستخدم Visual Studio)، ثم قم بتثبيت سلاسل الأدوات (Toolchains) المطلوبة للغة تطوير البرمجيات الخبيثة (MalDev) التي اخترتها:

  • C#: سيمنحك Visual Studio خيار تضمين حزم .NET التي ستحتاجها لتطوير C#. إذا كنت ترغب في التطوير بدون Visual Studio، يمكنك تنزيل .NET Framework بشكل منفصل.
  • Nim lang: اتبع تعليمات التنزيل. Choosenim هي أداة مساعدة مناسبة يمكن استخدامها لأتمتة عملية التثبيت.
  • Golang (بفضل @nodauf لطلب السحب): اتبع تعليمات التنزيل.
  • Rust: يمكن استخدام Rustup لتثبيت Rust مع سلاسل الأدوات المطلوبة.

لا تنسَ تعطيل Windows Defender أو إضافة الاستثناءات المناسبة، حتى لا يتم وضع عملك الشاق في الحجر الصحي! لاحقًا، يمكننا الاختبار على جهاز منفصل به ضوابط دفاعية مثل مكافحة الفيروسات مفعلة.

ℹ ملاحظة: غالبًا، يمكن استخدام مديري الحزم مثل apt أو أدوات إدارة البرامج مثل Chocolatey أو Winget (مدمجة الآن!) لأتمتة تثبيت وإدارة التبعيات بطريقة مريحة وقابلة للتكرار. لكن كن واعيًا أن الإصدارات في مديري الحزم قد تكون متأخرة بضع إصدارات عن الشيء الحقيقي! أدناه مثال لأمر لتثبيت الأدوات المذكورة دفعة واحدة.

root@kitploit:~
 choco install -y nim choosenim go rust vscode visualstudio2019community dotnetfx

تجميع البرامج

اللغات التي سنناقشها خلال هذه الورشة هي لغات مُجمَّعة (compiled)، مما يعني استخدام مُجمِّع (compiler) لترجمة شفرتك المصدرية إلى ملفات تنفيذية ثنائية بالتنسيق الذي تختاره. تختلف عملية التجميع حسب اللغة.

C#

يمكن تجميع كود C# (ملفات .cs) إما مباشرة (باستخدام الأداة المساعدة csc) أو عبر Visual Studio نفسه. يمكن تجميع معظم الشفرة المصدرية في هذا المستودع (باستثناء حل التمرين الإضافي 3) كما يلي.

ℹ ملاحظة: تأكد من تشغيل الأمر أدناه في "موجه أوامر مطور Visual Studio" (Visual Studio Developer Command Prompt) حتى يعرف مكان العثور على csc، ويُوصى باستخدام "موجه أوامر الأدوات الأصلية x64" (x64 Native Tools Command Prompt) لإصدار Visual Studio الخاص بك. ستكون العلامة /unsafe مطلوبة لمعظم النصوص البرمجية حيث نصل إلى وظائف منخفضة المستوى مباشرة.

root@kitploit:~
csc filename.exe

يمكنك تمكين تحسينات وقت التجميع باستخدام العلامة /optimize. يمكنك أيضًا إخفاء نافذة وحدة التحكم بإضافة /target:winexe، أو التجميع كـ DLL باستخدام /target:library (لكن تأكد من أن بنية الكود الخاص بك مناسبة لذلك).

Nim

يتم تجميع كود Nim (ملفات .nim) باستخدام الأمر nim c. يمكن تجميع الشفرة المصدرية في هذا المستودع كما يلي.

root@kitploit:~
nim c filename.nim

إذا كنت تريد تحسين البناء من حيث الحجم وتجريد معلومات التصحيح (أفضل بكثير للأمان العملياتي opsec!)، يمكنك إضافة العلامات التالية.

root@kitploit:~
nim c -d:release -d:strip --opt:size filename.nim

يمكنك أيضًا إخفاء نافذة وحدة التحكم بإضافة --app:gui.

Golang

يتم تجميع كود Golang (ملفات .go) باستخدام الأمر go build. يمكن تجميع الشفرة المصدرية في هذا المستودع كما يلي.

root@kitploit:~
GOOS=windows go build

إذا كنت تريد تحسين البناء من حيث الحجم وتجريد معلومات التصحيح (أفضل بكثير للأمان العملياتي!)، يمكنك إضافة العلامات التالية.

root@kitploit:~
GOOS=windows go build -ldflags "-s -w"

Rust

يتم تجميع كود Rust (ملفات .rs) عبر الأمر cargo. يمكن استخدام Cargo لإدارة تبعياتك وبناء مشروعك. يمكن تجميع الشفرة المصدرية في هذا المستودع بالانتقال إلى مجلد المشروع وتشغيل الأمر التالي.

root@kitploit:~
cargo build

إذا كنت تريد تحسين البناء من حيث الحجم وتجريد معلومات التصحيح، يمكنك إضافة العلامات التالية. راجع أيضًا قسم [profile.release] في كل ملف Cargo.toml للحصول على بعض خيارات الأمان العملياتي في وقت التجميع.

root@kitploit:~
cargo build --release

التبعيات

C#

يمكن تجميع معظم الحلول بدون تبعيات. في حالة الحاجة إلى تبعيات، يتم توفير مشروع Visual Studio يرتبط بحزم NuGet المناسبة.

Nim

تعتمد معظم برامج Nim على مكتبة تسمى "Winim" للتفاعل مع واجهة برمجة تطبيقات Windows. يمكنك تثبيت المكتبة باستخدام مدير الحزم Nimble كالتالي (بعد تثبيت Nim):

root@kitploit:~
nimble install winim

Golang

يتم استخدام بعض التبعيات في الشفرة المصدرية لهذا المستودع. يمكنك تثبيتها كالتالي (بعد تثبيت Go):

root@kitploit:~
go mod tidy

Rust

تعتمد بعض الأمثلة على crate windows-sys لاستدعاء واجهة برمجة تطبيقات Windows. نظرًا لأننا نستخدم Cargo، سيتم إدارة الحزم تلقائيًا عند تجميع بناء اختبار أو إصدار.

الموارد

تشير شرائح الورشة إلى بعض الموارد التي يمكنك استخدامها للبدء. الموارد الإضافية، مثل المدونات ذات الصلة أو مقتطفات الشفرة، مدرجة في ملفات README.md لكل تمرين!

تنزيل الأداة