
وحدة تحكم مركزية لمجمعات Douglas-042 HEADQUARTERS. تمسح أسطولاً، وتربط النتائج عبر المضيفين، وتدير موجزات IOC وتسليم SIEM من مكان واحد.
امسح أسطولاً من مضيفات Windows وLinux بحثاً عن علامات الاختراق، وحدّد ما يهم فعلاً، وتصرّف بناءً عليه — من وحدة تحكم واحدة، بأمر واحد لكل مضيف.
عملية الاصطياد ليست مجرد فحص. يجمع Douglas الآثار التي يجمعها المحلل يدوياً — العمليات، والخدمات، والمهام المجدولة، وبرامج التشغيل التلقائي، والاتصالات، والحسابات، والتعريفات (drivers)، وسجلات الأحداث، وcron، وsystemd، وسجل الأوامر (shell history)، وجذور الويب — ويشغّل 201 كشفاً مدمجاً عليها، إضافة إلى قواعد Sigma وYARA والقواعد المخصصة الخاصة بك.
ثم يقوم بالأجزاء التي تتركها معظم الأدوات لك: يخبرك بالنتائج التي لا تزال بحاجة إلى قرار، وأي من العناوين الخارجية الستين يجب النظر إليه أولاً، ويتيح لك اتخاذ إجراء بشأنها دون فتح جلسة RDP.
deploy one command ──▶ hunt ──▶ findings appear live
│
┌──────────────────────┼──────────────────────┐
▼ ▼ ▼
IOC feed match reputation score response actions
"this is a known C2" "92/100, 340 reports" isolate · kill · collect
غالباً ما تكون البيئات الأكثر حاجة إلى الاصطياد هي تلك التي تفتقر إلى EDR: بضع عشرات من الخوادم، وميزانية لا تسمح بوكيل، وحادث بدأ قبل ثلاثة أيام. عادةً ما يكون الخيار بين منصة تجارية لم يوافق عليها أحد ومجلد من سكربتات PowerShell يشغّلها شخص يدوياً.
يقع Douglas بينهما. لا شيء يُثبَّت على المضيف الذي تحقّق منه — يعمل المُجمِّع (collector) مرة واحدة ثم يخرج — وكل نتيجة تصل إلى وحدة تحكم واحدة يمكنك تسليمها لمن يتولى الحادث بعدك.
إنتاج النتائج سهل، وقراءتها مكلفة. هذه الشاشة موجودة لإبقاء قائمة الانتظار قصيرة بما يكفي ليبقى أحدهم يقرأها في الجولة الثالثة.
ثلاث نتائج، والفرق بينها يهم بعد ستة أشهر:
| القرار | ما الذي يفعله |
|---|---|
| مؤكَّد | حقيقي. يبقى في درجة المخاطر، ويبقى المضيف أحمر. |
| إيجابية كاذبة | يُسقَط من الدرجة لهذا المضيف فقط. |
| كبت (Suppression) | قاعدة دائمة تخفي نفس النتيجة في كل فحص مستقبلي. |
لا شيء يُحذف أبداً. اسحب قاعدة كبت وسيعود كل ما أخفته. تقع أكثر القواعد إزعاجاً في الأسفل لأن ضبطها يفرّغ قائمة الانتظار أسرع من العمل عليها نتيجة تلو الأخرى.
جميع الكشوفات الـ201 مجمّعة في 15 فئة — قابلة للتبديل واحدة تلو الأخرى أو فئة كاملة دفعة واحدة. انقر على أي قاعدة لقراءة ما تفحصه، وكيف تُطلَق بشكل مشروع، وما الذي يجب فعله بعد ذلك.
التمييز الذي توضحه الشاشة، لأن الخطأ فيه شائع:
إيقاف قاعدة ليس مثل كبتها. الإيقاف يعني أن المُجمِّع لا يشغّل الفحص أبداً — لا شيء يُنتَج ولا شيء للمراجعة. أما الكبت فيسجّل النتيجة ويضع عليها علامة قرار اتخذه أحدهم، مع سبب مرفق.
استخدم الإيقاف لفئة من الضجيج تقبّلتها. واستخدم الكبت لنمط محدد على مضيف محدد.
الشرطة تحت Fired هي عادةً الإجابة السليمة: DGL-014 لا يُطلَق إلا عندما يبدو سجل قد مُسح. القائمة هي ما تفحصه الأداة، وليست ما هو خطأ.
النموذج أسرع لقاعدتك الأولى وأبطأ لقاعدتك العشرين. لذا يمكن أيضاً كتابة القواعد كنص — تُفحَص أثناء الكتابة، مقابل 11 جدول آثار و13 معاملاً.
الصندوق بالأسفل يقوم بمهمتين. عندما تكون القاعدة خاطئة يسمّي السطر، لا القاعدة:
line 7: Condition 1: 'is_maybe' is not an operator.
وعندما تكون صحيحة، يقول ما الذي ستطابقه القاعدة فعلاً — لأن قاعدة تُجيز التحقق ثم تطابق شيئاً غير ما قصده كاتبها هي الفشل الجدير بالالتقاط:
Valid — ACME-001 Reads Services and matches when Signed is false and PathName does not contain 'Program Files' and PathName does not contain 'System32'
استيراد وتصدير بصيغ JSON أو YAML أو CSV. الذهاب والإياب مضمون — تصديرنا الخاص يجتاز المدقّق الخاص بنا في الصيغ الثلاث جميعها.
| السؤال | متى | النتيجة | |
|---|---|---|---|
| خلاصة IOC | هل يوجد أي شيء من قائمة C2 هذه على مضيفاتي؟ | أثناء الاصطياد | DGL-IOC — مطابقة مؤكدة، وليست درجة |
| الإثراء (Enrichment) | تحدّث هذا المضيف إلى 60 عنواناً — أيها أولاً؟ | بعد الاصطياد | 92/100، 340 تقريراً، C2 معروف لـCobalt Strike |
خمسة عشر مصدر خلاصة تأتي جاهزة للاستخدام — Feodo وThreatFox وURLhaus وTweetFeed وUSOM وSSL Blacklist وEmerging Threats وOpenPhish وMISP — إضافة إلى خلاصة مخصصة تقرأ أي URL يُعيد بيانات على شكل مؤشرات.
أربعة مزوّدي سمعة: AbuseIPDB وVirusTotal وThreatFox (الطبقات المجانية) وGreyNoise (مدفوع، معطّل افتراضياً). لا تُدمج الأحكام أبداً في رقم واحد — AbuseIPDB يعدّ الشكاوى، وVirusTotal يعدّ المحرّكات، وThreatFox يعرف البنية التحتية، ومتوسط هذه الأرقام رقم لا يدافع عنه أي منهم. تُظهر الشارة أسوأ حكم مع المزوّد الذي أصدره.
الطبقات المجانية محمية: النتائج مخزّنة مؤقتاً 12 ساعة، و40 عنواناً لكل تشغيل، وعدّاد يومي يتوقف قبل أن يتوقف المزوّد. لا تُرسَل العناوين الخاصة أبداً.
أحد عشر إجراءً في ثلاث مجموعات — انظر، تصرّف، احتوِ. الإجراءات الخمسة للقراءة فقط موسومة بشكل مختلف عن الستة التي تغيّر المضيف، وكل إجراء مُعدِّل يتطلب سبباً مكتوباً.
العزل يبقي وحدة التحكم قابلة للوصول عن قصد: المضيف المقطوع عن وكيله
الخاص لا يمكن تحريره عن بُعد، وسيضطر أحدهم إلى المشي إليه. الأهداف التي
ستُعطّل الجهاز بدلاً من احتواء الاختراق — lsass.exe وsystemd وpid 1
وAdministrator و/bin/bash — تُرفض، لا يُحذَّر منها، لأن اللحظة التي
يُستخدم فيها هذا هي اللحظة التي لا يقرأ فيها أحد التحذيرات.
تعود المخرجات كبطاقات منظّمة بدلاً من تفريغ طرفية، والصفوف قابلة للتنفيذ: قائمة العمليات فيها زر Kill لكل صف، والعنوان فيه Reputation.
| Windows | Linux | |
|---|---|---|
| Sigma | Event Log + Sysmon | auditd execve + auth/cron/syslog |
| YARA | محتوى الملف | محتوى الملف |
قواعد Sigma على Linux التي لا يمكن قراءة مصدر سجلها تُرفض عند الرفع مع سبب، بدلاً من تحميلها وتركها لا تُطلَق أبداً — نتيجة فارغة من قاعدة لم تستطع العمل تبدو تماماً مثل مضيف نظيف.