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

سلسلة الدوال الغير نمطية : الجزء الأول

في هذا السلسلة سنقوم بالتعرف على الدوال الغير نمطية في تطوير المالوير والتي تستخدم لتشغيل الشيل كود داخل الذاكرة .

ما هي الدوال الغير نمطية ؟

هي عبارة عن دوال برمجية تستخدم في استخدمات عادية لمبرمج الحاسوب 

كنسخ الملفات وعمل مؤقت للمهام وغيرها , ولكن يمكن لمطور المالوير 

استغلال هذه الدوال في تشغيل الشيل كود بطرق معينة سنقوم بشرحها في هذه 

السلسلة .

لماذا الدوال الغير نمطية ؟

يلجأ مطورو البرامج الخبيثة لاستخدام هذه الدوال لأنها غير شائعة الاستخدام وفي 

أغلب الوقت غير مراقبة من قبل البرمجيات الدفاعية لذلك تكون هذه الدوال 

فرصة مميزة لتجنب اكتشاف هذه البرمجيات .

الشرح البرمجي :-

ملاحظة : سيتم ترك روابط للتعرف على الدوال بشكل مفصل لأن شرحها هو خارج اطار هذا الدرس.

سنقوم بتشغيل الشل كود باستخدام دالة CopyFile2  وهي دالة تستخدم بالاصل لنسخ الملفات ولكننا سنقوم باستغلالها بطريقة اخرى.

في البداية نقوم بتخزين الشيل كود داخل مصفوفة من نوع unsigned char ومن ثم نقوم بحجز مساحة من الذاكرة بحجم الشيل كود ونخزنها داخل متغير من نوع LPVOID 

بعدها ننقل الشيل كود الى مساحة الذاكرة التي قمنا بحجزها عن طريق استخدام دالة RtlMoveMemory

والان نقوم بتعريف متغير من نوع هيكلية بيانات تسمى ب COPYFILE2_EXTENDED_PARAMETERS والتي بدورها تحتوي على عدد من 

المتغيرات التي سنقوم بتحديدها عند استدعاء دالة CopyFile2

ونعطي قيمة pProgressRoutine المساحة التي قمنا بحجزها والتي تحتوي على الشيل كود , عند 

البدأ بعملية النسخ , سيتم فوراً استدعاء هذه المساحة ومن ثم تشغيل الشيل كود

والان نستدعي دالة CopyFile2 وهي تأخذ 3 مدخلات , اسم الملف الحالي, اسم الملف الجديد 

ومؤشر لهيكلية البيانات التي قمنا بتعريفها بالأعلى

نقوم الأن بعمل كومبايل ونشغل البرنامج #️⃣

والى هنا نصل لنهاية هذا الدرس , نلتقي في الجزء القادم .

المصادر #️⃣

https://learn.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-copyfile2_extended_parameters
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-copyfile2
https://learn.microsoft.com/en-us/windows/win32/devnotes/rtlmovememory
https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualalloc

Mohammed Hassan

باحث في تحليل وتطوير البرامج الخبيثة و الأمن السيبراني ، حاصل على درجة البكالوريوس في هندسة البرمجيات ، ولدي معرفة وخبرة كبيرة في لغات البرمجة مثل #x86 \ x64 IA ، C / C ++ / C ، والتعامل مع Debuggers مثل OllyDbg ، x64dbg ، هدفي هو نقل المعرفة والمهارة إليك بأسهل الطرق.

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى