عندما تقرأ نشرة عن هجوم جديد تجد كل كاتب يصفه بكلماته: أحدهم يقول «دخلوا عبر VPN»، وآخر «استغلوا ثغرة في بوابة الدخول»، وثالث «سرقوا كلمات المرور ثم انتشروا». والوصف نفسه يختلف من تقرير إلى آخر، فلا تستطيع أن تقارن هجومين، ولا أن تجيب على السؤال الذي يهم فريقك فعلاً: هل دفاعنا يرى هذه الخطوة أم لا؟ ولحل هذه المشكلة بالضبط بنت مؤسسة MITRE قاعدة ATT&CK، وهي قاموس موحد لما يفعله المهاجمون في الواقع، مبني على حوادث موثقة، يعطي كل خطوة اسماً ورقماً ثابتاً يستخدمه الجميع.
وهذا المقال هو الثاني في مرحلة الأمن السيبراني، وقد شرحنا في مقال مصطلحات الأمن السيبراني الفرق بين الفريق الأحمر والأزرق والبنفسجي، وهذه القاعدة هي اللغة المشتركة التي يتحدثون بها جميعاً. وسوف نتناول في هذا المقال ما يلي:
- ما هي ATT&CK، والفرق بين الهدف Tactic والتقنية Technique والتقنية الفرعية Sub-technique.
- كيف تقرأ المصفوفة Matrix، ولماذا ليست ترتيباً ثابتاً للهجوم.
- هجوم حقيقي موثق، فدية Akira من نشرة مشتركة لـ CISA وFBI، نربط كل خطوة فيه برقمها في ATT&CK.
- كيف تحول هذه الخريطة إلى دفاع: مقابل كل خطوة ضابط Control.
- تجربة عملية: نقرأ بيانات ATT&CK الرسمية بأنفسنا، ونكتشف أن نشرة الهجوم استخدمت أرقاماً تغيرت في النسخة الحالية.
ما هي ATT&CK؟ هدف وتقنية وتقنية فرعية
الاسم ATT&CK اختصار Adversarial Tactics, Techniques, and Common Knowledge، أي التكتيكات والتقنيات والمعرفة المشتركة عن الخصوم، وهي قاعدة معرفة تصف سلوك المهاجم على ثلاث مستويات:
- الهدف Tactic: لماذا يفعل المهاجم ما يفعله في هذه اللحظة، أي هدفه المرحلي، مثل «الوصول الأولي Initial Access» أو «سحب البيانات Exfiltration». وعدد الأهداف في منظومة المؤسسات Enterprise خمسة عشر، ولكل هدف رقم مثل
TA0001. - التقنية Technique: كيف يحقق المهاجم ذلك الهدف، مثل «استغلال خدمة مكشوفة للعامة Exploit Public-Facing Application» برقم
T1190، وهي إحدى طرق تحقيق هدف الوصول الأولي. - التقنية الفرعية Sub-technique: تفصيل أدق لتقنية، مثل «التصيد: مرفق خبيث» برقم
T1566.001تحت تقنية التصيدT1566.
وكل تقنية في القاعدة ليست رأياً، بل مبنية على حوادث موثقة ومجموعات مهاجمين معروفة ومصادر منشورة، ولهذا صارت اللغة التي يتحدث بها الفريق الأزرق والأحمر والمحقق والمدقق، فبدلاً من «دخلوا بطريقة ما» يقول الجميع T1133 ويفهمون الشيء نفسه.
المصفوفة Matrix: كيف تقرؤها؟
تعرض ATT&CK أهدافها وتقنياتها في جدول اسمه المصفوفة، أعمدته هي الأهداف الخمسة عشر مرتبة من الاستطلاع حتى الأثر، وتحت كل عمود التقنيات التي تحقق ذلك الهدف، والصورة التالية تبين ستة أعمدة منها على سبيل المثال:

وهنا نقطة يخطئ فيها كثيرون: المصفوفة ليست ترتيباً ثابتاً يمر به كل هجوم من اليمين إلى اليسار. فالمهاجم لا يستخدم كل الأهداف، وقد يقفز، وقد يكرر هدفاً، وقد يبدأ من المنتصف إذا اشترى وصولاً جاهزاً. اقرأ المصفوفة على أنها قائمة بكل ما قد يفعله مهاجم، لا سيناريو واحد، فائدتها أنك تضع عليها ما يراه دفاعك اليوم، فتظهر الأعمدة التي لا تملك فيها أي كشف Detection، وهي ثغرتك الحقيقية.
هجوم حقيقي خطوة بخطوة: فدية Akira
أفضل طريقة لفهم ATT&CK أن تقرأ بها هجوماً موثقاً. وقد اخترنا فدية Akira لأن وكالة الأمن السيبراني الأمريكية CISA ومكتب التحقيقات الفيدرالي FBI نشرا عنها نشرة مشتركة مفصلة AA24-109A، تصف كل خطوة بتقنيتها في ATT&CK بناءً على حوادث حقيقية حققوا فيها، فالأرقام التالية ليست تخميناً منا بل منقولة من النشرة الرسمية. والصورة التالية تلخص السلسلة ومقابلها الدفاع:

ونقرأ السلسلة مرحلة بمرحلة:
- الوصول الأولي Initial Access، عبر VPN بلا تحقق ثنائي: بحسب النشرة دخل المهاجمون عبر خدمة وصول عن بعد خارجية (
T1133) لا تفرض تحققاً ثنائياً MFA، مستخدمين حسابات صحيحة مسروقة (T1078)، وأحياناً عبر رش كلمات المرور (T1110.003)، وهو تجربة كلمة مرور شائعة واحدة على عدد كبير من الحسابات. - الوصول إلى بيانات الدخول Credential Access: بعد الدخول استخرجوا كلمات المرور من ذاكرة عملية LSASS (
T1003.001)، وهي العملية التي تحفظ بيانات الدخول في نظام Windows. - الاستكشاف Discovery وإضعاف الدفاع: رسموا الشبكة بالبحث عن الأنظمة البعيدة (
T1018) وعلاقات الثقة بين النطاقات (T1482)، ثم عطلوا أدوات الحماية بما فيها الـ EDR، وهذه الخطوة أهم ما سوف نعود إليه في التجربة العملية لأن رقمها تغير. - الحركة الجانبية والسحب Lateral Movement & Exfiltration: انتقلوا بين الأجهزة عبر سطح المكتب البعيد RDP (
T1021.001)، وجمعوا البيانات بأداة ضغط (T1560.001)، ثم سحبوها إلى تخزين سحابي (T1567.002). وتذكر النشرة أن السحب تم في إحدى الحوادث خلال ساعتين فقط من الدخول الأول. - الأثر Impact، التشفير والابتزاز المزدوج: حذفوا نسخ الاستعادة (
T1490) ثم شفروا الملفات للابتزاز (T1486)، وهددوا بنشر البيانات المسروقة إن لم تدفع الضحية، وهو ما يسمى الابتزاز المزدوج Financial Theft (T1657).
من الخريطة إلى الدفاع: مقابل كل خطوة ضابط
قد يتساءل البعض: ما فائدة معرفة أرقام الهجوم للمدافع؟ والإجابة أن كل تقنية في ATT&CK مرتبطة بضوابط Mitigations تقلل منها، فتتحول الخريطة من وصف للهجوم إلى قائمة أعمال للدفاع، والأهم أن إغلاق خطوة مبكرة واحدة يوقف السلسلة كلها:
| مرحلة الهجوم | الضابط المقابل في ATT&CK | كيف تطبقه عملياً |
|---|---|---|
| الدخول عبر VPN (T1133 وT1078) | التحقق متعدد العوامل Multi-factor Authentication | افرض MFA على كل دخول عن بعد، وراجع الدخول دون كلمة مرور Passkeys وتأمين VPS |
| سرقة بيانات الدخول (T1003.001) | إدارة الحسابات المميزة Privileged Account Management | قلل عدد الحسابات الإدارية، وافصل حساب العمل اليومي عن حساب الإدارة |
| تعطيل الدفاع (T1685) | تنبيه عند التعطيل، وتجزئة الشبكة Network Segmentation | اجعل الـ SIEM ينبه عند توقف وكيل الحماية، وافصل الشبكات حتى لا ينتشر المهاجم بحرية |
| سحب البيانات (T1567.002) | تقييد المحتوى على الويب Restrict Web-Based Content | راقب أو امنع الرفع إلى خدمات التخزين السحابي غير المصرح بها |
| التشفير ومنع الاستعادة (T1486 وT1490) | النسخ الاحتياطي Data Backup | نسخ احتياطية غير قابلة للتعديل Immutable وخارج الشبكة، وفق قاعدة 3-2-1 |
ولاحظ الفكرة المهمة: المهاجم يحتاج أن تنجح كل خطواته، والمدافع يحتاج أن يوقف خطوة واحدة. فلو كان التحقق الثنائي مفعلاً على الـ VPN لتوقف الهجوم في مرحلته الأولى، ولو كانت النسخة الاحتياطية غير قابلة للتعديل لما نجح الابتزاز بالتشفير مهما وصل المهاجم.
تجربة عملية: اقرأ بيانات ATT&CK بنفسك
الجميل في ATT&CK أنها مفتوحة بالكامل، فكل التقنيات والعلاقات والضوابط منشورة بصيغة STIX على GitHub، ويمكنك أن تبني أدواتك فوقها دون أي حساب أو مفتاح. وسوف ننزل أحدث نسخة ونتحقق منها، ثم نكتشف شيئاً مهماً: نشرة الهجوم التي قرأناها بنيت على نسخة أقدم من ATT&CK، وبعض أرقامها تغير.
ننزل أولاً حزمة منظومة المؤسسات للنسخة 20.0، وهي ملف JSON واحد:
curl -sL -o enterprise-attack-20.0.json \
https://raw.githubusercontent.com/mitre-attack/attack-stix-data/master/enterprise-attack/enterprise-attack-20.0.jsonثم نتأكد من محتواها، فنطبع اسم النسخة وعدد الأهداف والتقنيات، باستخدام مكتبة Python القياسية فقط:
import json
objs = json.load(open("enterprise-attack-20.0.json", encoding="utf-8"))["objects"]
coll = next(o for o in objs if o["type"] == "x-mitre-collection")
print(coll["name"], coll["x_mitre_version"], coll["modified"][:10])
active = [o for o in objs if o["type"] == "attack-pattern"
and not o.get("revoked") and not o.get("x_mitre_deprecated")]
top = [a for a in active if not a.get("x_mitre_is_subtechnique")]
sub = [a for a in active if a.get("x_mitre_is_subtechnique")]
tactics = [o for o in objs if o["type"] == "x-mitre-tactic"]
print(f"tactics={len(tactics)} techniques={len(top)} sub-techniques={len(sub)}")والمخرج سوف يكون كما يلي:
Enterprise ATT&CK 20.0 2026-10-13
tactics=15 techniques=227 sub-techniques=479وهذه هي الأرقام نفسها التي وضعناها في صورة المصفوفة، أخذناها من المصدر لا من ذاكرتنا.
الاكتشاف المهم: أرقام النشرة تغيرت في النسخة الحالية
نشرة Akira تقول في مقدمتها إنها تستخدم النسخة 18 من ATT&CK، ونحن نقرأ النسخة 20.0. فهل بقيت كل الأرقام كما هي؟ لنكتب سكربتاً صغيراً يأخذ كل تقنيات النشرة ويقارن هدفها وحالتها بما في النسخة الجديدة، ونحفظ تقنيات النشرة مجمعة حسب الهدف في ملف advisory-all.txt (السطر: اسم الهدف ثم أرقام تقنياته). ثم:
import json
objs = json.load(open("enterprise-attack-20.0.json", encoding="utf-8"))["objects"]
by_id = {o["id"]: o for o in objs}
eid = lambda o: next((r["external_id"] for r in o.get("external_references", [])
if r.get("source_name") == "mitre-attack"), None)
tech = {}
for o in objs:
if o["type"] == "attack-pattern" and eid(o):
tech.setdefault(eid(o), []).append(o)
def status(tid):
for o in tech.get(tid, []):
if o.get("revoked"):
nw = next((by_id[r["target_ref"]] for r in objs if r.get("type") == "relationship"
and r["relationship_type"] == "revoked-by" and r["source_ref"] == o["id"]), None)
return "REVOKED -> " + (eid(nw) if nw else "?"), o
if o.get("x_mitre_deprecated"):
return "DEPRECATED", o
return "ok", o
return "NOT FOUND", None
for line in open("advisory-all.txt", encoding="utf-8"):
want, *ids = line.split()
for tid in ids:
st, o = status(tid)
phases = {p["phase_name"] for p in (o.get("kill_chain_phases", []) if o else [])}
if st != "ok" or (o and want not in phases):
print(tid, "->", st, "| tactic now", sorted(phases) or "-", "| advisory said", want)والمخرج سوف يكون كما يلي:
T1027 -> ok | tactic now ['stealth'] | advisory said defense-evasion
T1027.015 -> ok | tactic now ['stealth'] | advisory said defense-evasion
T1036 -> ok | tactic now ['stealth'] | advisory said defense-evasion
T1222.001 -> ok | tactic now ['defense-impairment'] | advisory said defense-evasion
T1562.001 -> REVOKED -> T1685 | tactic now ['stealth'] | advisory said defense-evasion
T1562.004 -> REVOKED -> T1686 | tactic now ['stealth'] | advisory said defense-evasion
T1604 -> NOT FOUND | tactic now - | advisory said defense-evasionفي المخرج أعلاه لاحظ التالي:
- هدف «التهرب من الدفاع Defense Evasion» أعيد تنظيمه: فالنسخة 20.0 وزعت تقنياته على هدفين جديدين هما «التخفي Stealth» و«إضعاف الدفاع Defense Impairment»، ولهذا تظهر
T1027وT1036الآن تحت Stealth، وT1222.001تحت Defense Impairment. - التقنية التي عطل بها المهاجمون الـ EDR تغير رقمها: ففي النشرة هي
T1562.001«تعطيل أو تعديل الأدوات»، لكن النسخة 20.0 ألغت هذا الرقم Revoked واستبدلته بـT1685، ولهذا كتبناT1685في صورة سلسلة الهجوم بدلاً من رقم النشرة. - رقم واحد لم يعد موجوداً: فـ
T1604لا يظهر في بيانات النسخة 20.0 إطلاقاً.
وهذا الدرس العملي أهم من الأرقام نفسها: ATT&CK تتطور، والنشرة التي تقرؤها قد تشير إلى أرقام من نسخة قديمة، فإذا بنيت قواعد كشفك على أرقام ثابتة دون مراجعة، فسوف تشير يوماً إلى تقنيات ألغيت أو نقلت. لذلك اربط قواعدك بنسخة محددة من ATT&CK، وراجعها عند كل نسخة جديدة، وأداة تحديثات ATT&CK تنشر قائمة بما تغير في كل إصدار.
عرض خريطتك: ATT&CK Navigator
لا تحتاج أن ترى كل هذا في JSON، فمشروع ATT&CK Navigator يعرض المصفوفة كاملة في المتصفح، ويلون التقنيات التي تختارها في طبقة Layer تحفظها كملف JSON، فتصنع طبقة «ما يراه دفاعنا» وطبقة «تقنيات Akira» وتضعهما فوق بعضهما لترى أين تتقاطع تغطيتك مع سلوك هذا المهاجم، وأين الفجوة. وهذه هي الطريقة التي يعمل بها الفريق البنفسجي الذي شرحناه في مقال المصطلحات.
أخطاء شائعة Common Mistakes
- قراءة المصفوفة كترتيب ثابت: المهاجم لا يمر بكل الأعمدة ولا بالترتيب، فالمصفوفة قائمة احتمالات لا سيناريو.
- تثبيت الأرقام دون ربطها بنسخة: الأرقام تلغى وتنقل بين الأهداف، فسجل دائماً نسخة ATT&CK التي تعمل عليها.
- محاولة تغطية كل تقنية: لا يمكن ذلك ولا يفيد، فابدأ من التقنيات التي تستخدمها المجموعات التي تهدد قطاعك فعلاً.
- الخلط بين ATT&CK وسلسلة القتل Cyber Kill Chain: الأخيرة نموذج من سبع مراحل عامة، أما ATT&CK فأدق بكثير وتصف تقنيات محددة بأرقام، والنموذجان يكمل أحدهما الآخر.
الخلاصة
وصلنا لنهاية الموضوع، وأهم ما ظهر:
- ATT&CK لغة موحدة لسلوك المهاجم على ثلاثة مستويات: الهدف Tactic والتقنية Technique والتقنية الفرعية Sub-technique.
- المصفوفة قائمة بما قد يفعله المهاجم، تضع عليها ما يراه دفاعك فتظهر الفجوات.
- قراءة هجوم موثق مثل Akira برقم كل خطوة تحول الوصف الغامض إلى خريطة دفاع، ومقابل كل خطوة ضابط.
- المهاجم يحتاج نجاح كل خطواته، والمدافع يكفيه أن يوقف واحدة مبكرة.
- البيانات مفتوحة بالكامل، وقراءتها بنفسك كشفت أن أرقام النشرة تغيرت في النسخة الحالية، فاربط قواعدك بنسخة وراجعها.
وفي المقال القادم ننتقل إلى الجانب العملي للدفاع: تقوية السيرفر Hardening وقياسها بأداة Lynis ومعايير CIS.
دليلمصطلحات الأمن السيبراني للمبتدئين: من CVE إلى Purple Teamماذا تعني الكلمات التي تتكرر في كل عرض أمني، من رقم الثغرة وخطورتها إلى أدوات المراقبة SOC والفرق الحمراء والزرقاء.
دليلتقوية السيرفر Hardening وقياسها مع Lynis ومعايير CISالتقوية حالة تقاس برقم لا شعور، فنقيس خادم Debian قبل وبعد بأداتي Lynis وCIS ونرى الفرق على السيرفر نفسه.
دليلCrowdSec: اكتشاف هجمات التخمين وحظرها جماعياًنبني مختبراً من حاويتين، نشن تخميناً حقيقياً على SSH، ونرى CrowdSec يكتشفه ويصدر قرار حظر ينفذه الجدار الناري.
دليلاختبار الاختراق المصرح به: المنهجية والإذن والتقريرالأمر الذي ينفذه المختبر هو نفسه أمر المهاجم، والفرق ورقة: الإذن والنطاق وقواعد الاشتباك، ثم تقرير يصلح الفريق على أساسه.
دليلإدارة الثغرات Vulnerability Management: هل سيرفرك متأثر؟كيف تعرف خلال ساعات أن ثغرة جديدة تمس سيرفراتك، ولماذا يخدعك رقم الإصدار، وكيف ترتب الإصلاح وتتأكد أنه تم فعلاً.تدريب عملي Practice
- اختر هجوماً نشرت عنه CISA نشرة فيها جدول ATT&CK، ونزل حزمة النسخة الحالية، وشغل سكربت المقارنة أعلاه على تقنياته لترى هل تغير شيء منذ كتابة النشرة.
- افتح ATT&CK Navigator، ولون التقنيات التي تملك لها كشفاً في الـ SIEM اليوم، ثم لون تقنيات Akira بلون آخر، واكتب ثلاث تقنيات لا تراها أنت، وابدأ منها.
سجل التحديثات
- أكتوبر 2026: كتابة المقال، وقراءة حزمة Enterprise ATT&CK 20.0 (الصادرة 13 أكتوبر 2026) ومقارنتها بتقنيات النشرة AA24-109A يوم 25 أكتوبر 2026.