
مجموعة أدوات SOC شخصية لنظام Windows مبنية بلغة PowerShell — تراقب اتصالات الشبكة، استخدام الموارد، المهام المجدولة وأحداث الطاقة مع تصنيف الخطورة وكشف خط الأساس.
مركز عمليات أمن شخصي (SOC) تم بناؤه من الصفر خلال برنامج إعادة تدريب في تطوير التطبيقات (Anwendungsentwicklung). تقوم هذه المجموعة بمراقبة نقطة نهاية ويندوز (Windows endpoint) للكشف عن الحالات الشاذة في الشبكة، ارتفاع استخدام الموارد، تنفيذ العمليات، تغييرات السجل (registry)، نشاط سجل الأحداث الأمنية (Security Event Log)، تغييرات المهام المجدولة، استعلامات DNS، وأحداث الطاقة — مع تسجيل كل شيء في ملفات منظمة لتحليل أسبوعي وربطها من خلال محرك بلغة بايثون.

لوحة تحكم بصفحة واحدة باستخدام Flask. جميع المجمعات الـ12 + محرك الربط نشط، مراقب الموارد المباشر، تغذية الاتصالات الصادرة، بلاطات أحداث المجمعات، وتنبيهات المحرك المتدفقة.
بُني هذا المشروع كمشروع تعلم عملي إلى جانب إعادة التدريب الرسمي في تكنولوجيا المعلومات، ويطبق مفاهيم حقيقية لمراكز العمليات الأمنية — جمع البيانات الأساسية، كشف الحالات الشاذة، تصنيف الخطورة، تجميع السجلات، والربط عبر المصادر — على جهاز ويندوز شخصي. كانت عملية التصميم عدائية منذ البداية: تم اختبار كل مرحلة تحت ضغط تحليل فريق أحمر (red team) قبل بناء المرحلة التالية، مع تعريف 48 قاعدة ربط من تلك النتائج التي قادت بنية محرك بايثون.
يتم تتبع التطوير في roadmap.md — الحالة الحالية، خطط محرك التحقيق الجنائي (Forensic Engine) للمرحلة التاسعة، وأهداف التحسين الأمني طويلة المدى.
تعمل لوحة التحكم كخادم Flask وتتطلب صلاحيات المسؤول (Administrator) للكشف عن عمليات المجمع. قم بإنشاء اختصار بعد الاستنساخ:
استبدل C:\path\to\SOC بمسار التثبيت الفعلي الخاص بك.
3. قم بتسميته: SOC Dashboard
4. انقر بزر الماوس الأيمن على الاختصار → خصائص → متقدم → تحقق من تشغيل كمسؤول
5. انقر فوق موافق
يبدأ الاختصار تشغيل Flask، وينتظر حتى يصبح جاهزًا، ثم يفتح المتصفح تلقائيًا. إذا كان Flask قيد التشغيل بالفعل، فإنه يتجاوز بدء التشغيل ويفتح المتصفح مباشرة. ستظهر نقاط الحالة باللون الرمادي إذا تم تشغيل الاختصار بدون رفع صلاحيات المسؤول.
تفرض لوحة المعلومات تسلسل بدء/إيقاف نظيف بحيث تعمل علامات البدء/النهاية للمدقق (فحص السلامة الصباحي، التحقق من سلسلة تجزئة الأرشفة المسائية) دائمًا بالترتيب.

جميع نبضات المجمعات حمراء (ملفات الصحة مفقودة أو متوقفة). زر إيقاف لوحة المعلومات مخفي — لن تسمح لوحة المعلومات بالإيقاف حتى يتم تشغيل نهاية اليوم.

يقوم بدء اليوم بتشغيل علامة بداية المدقق الصباحية (التحقق من سجل SHA256، التحقق من سلسلة تجزئة الأرشفة) وإطلاق جميع المجمعات الـ 12 بالإضافة إلى محرك الارتباط. تتحول نبضات المجمعات إلى اللون الأخضر مع كل مجمع يبلغ عن حالته.

يقوم نهاية اليوم بإيقاف جميع المجمعات بالتسلسل وتشغيل علامة نهاية المدقق المسائية. تظل نقاط المجمعات خضراء أثناء تشغيل التسلسل؛ يعرض سطر الحالة تشغيل المدقق المسائي…

بمجرد اكتمال التدقيق المسائي، تتحول جميع نقاط المجمعات إلى اللون الأحمر، ويقرأ سطر الحالة اكتمل التدقيق المسائي. آمن للإيقاف.، ويظهر زر إيقاف لوحة المعلومات — يؤدي النقر عليه إلى إنهاء عملية Flask بشكل نظيف.

يجب إغلاق علامة تبويب المتصفح يدويًا (لا تعرض المتصفحات واجهة برمجة تطبيقات إغلاق للعمليات الخارجية).
تعرض بلاطات أحداث المجمع أحدث الأحداث الموسومة بالخطورة لكل مصدر. تقوم تغذية تنبيهات المحرك ببث النتائج المرتبطة من محرك Python في الوقت الفعلي، مع رقم القاعدة، درجة الثقة، سلسلة الأدلة الكاملة، وتجزئة SHA256 للأدلة.

مثال: القاعدة 35 (قراءة القرص الخام) تُفعَّل على powershell.exe الذي يفتح مقبضًا خامًا إلى \Device\HarddiskVolume3، والقاعدة 31 (شذوذ تحميل DLL) تضع علامة على تحميل مكتبات Defender DLL من مسار قابل للكتابة من قبل المستخدم. كلاهما مع سلسلة نسب العملية الكاملة وتجزئات الملفات.
تتبع الحزمة بنية ثلاثية الطبقات:
طبقة التجميع — مجمعات PowerShell تعمل بشكل مستمر في الخلفية، كل منها يراقب مصدر بيانات محدد ويكتب إدخالات سجلات منظمة موسومة بالخطورة. جميعها تتطلب رفع صلاحيات المسؤول.
طبقة التحليل — سكريبتات PowerShell محللة تقوم بتحليل السجلات المجمعة وإنشاء تقارير ملخصة أسبوعية. تعمل كمستخدم قياسي.
محرك الارتباط (المرحلة 7 — مكتمل) — محرك Python يستوعب جميع سجلات المجمعات، ويطبع الأحداث إلى مخطط مشترك، ويقوم بارتباط قائم على القواعد ومسجل المخاطر عبر جميع تدفقات البيانات. ثلاثة برامج:
| البرنامج | المرحلة | الدور |
|---|---|---|
| محرك الارتباط | 7 — مكتمل | استيعاب، تطبيع، ربط، تنبيه (مخزن تشغيلي SQLite) |
| لوحة معلومات SOC | 8 — مكتمل | رؤية حية — صحة المجمع، التنبيهات، سلاسل الأدلة (Flask) |
| المحرك الجنائي | 9 — مخطط | تحقيق ما بعد الحدث — جداول زمنية فائقة، سلالة العمليات، تحليل المنارات، تدقيق الاستمرارية، بنك أدلة إلحاقي فقط |
| لوحة المعلومات الجنائية | 9 — مخطط | استنتاجات جنائية ملخصة — حالة مرمزة بالألوان، إنشاء التقارير، التنقل في الأدلة |
| المرحلة | السكريبت | اللقب | الوظيفة |
|---|---|---|---|
| 1 | Sentinel.ps1 | حارس الشبكة | اتصالات TCP الصادرة مع تحديد الموقع الجغرافي، التحقق من مسار العملية، وتتبع النقل التراكمي |
| 1 | Bulwark.ps1 | حارس الليل | منافذ الاستماع الواردة — فرق الخط الأساسي، كشف المنافذ الجديدة/المغلقة، شذوذ الموقع الجغرافي |
| 1 | Steward.ps1 | ربع التموين | وحدة المعالجة المركزية، الذاكرة العشوائية، والإدخال/الإخراج للقرص لكل عملية باستخدام عدادات أداء Windows مع كشف تلقائي لـ 8 لغات |
| 1 | CityGuard.ps1 | حارس المدينة | إضافات المهام المجدولة، الحذف، والتعديلات — كشف تغيير الإجراء والمحفز |
| 1 | Watchman.ps1 | الحارس | أحداث الطاقة — الإقلاع، السكون، الاستيقاظ، الإيقاف غير المتوقع، والنشاط بعد ساعات العمل |
| 2A | Registry_Warden.ps1 | — | مفاتيح التشغيل في السجل، RunOnce، خط أساس الخدمات والفرق، فحص سلامة RID لـ SAM |
| 2B | Harbinger.ps1 | — | مراقب إنشاء العمليات المستند إلى أحداث WMI/CIM — كشف المسارات عالية المخاطر، تتبع العملية الأم |
| 3 | Bloodhound.ps1 | — | مراقب استعلامات DNS — كشف DGA عبر إنتروبيا شانون، وضع علامات على سجلات TXT، كشف ارتفاع حجم ICMP |
| 4 | Warden.ps1 | — | مراقب الحزمة — FIM لسكريبت SHA256، تراجع حجم السجل، صحة المجمع، علم الصيانة، مهمة مجدولة للمراقبة الذاتية |
| 5 | SecEventLog.ps1 | — | سجل أحداث الأمان في Windows — شذوذ تسجيل الدخول، التلاعب بالحساب، تصعيد الامتياز، تثبيت الخدمة، كشف القوة الغاشمة |
| 6 | DoH_Detector.ps1 | — | كاشف التهرب من DNS عبر HTTPS — اتصالات TCP إلى 28 عنوان IP معروف لـ DoH من عمليات غير مدرجة في القائمة البيضاء |
| 7 | SysmonWatcher.ps1 | — | مراقب أحداث نواة Sysmon — حقن العمليات، الوصول إلى LSASS، قراءات القرص الخام، تحميل برامج التشغيل غير الموقعة، استمرارية WMI، وإرفاق مصحح المتصفح (22 معرف حدث) |