هذه المقالة هي الجزء الأول من سلسلة حول تحليل تهديدات Sysmon. جميع الأجزاء الأخرى من السلسلة:
الجزء 1. مقدمة لتحليل سجلات Sysmon (نحن هنا)
الجزء 2. استخدام البيانات من أحداث Sysmon للكشف عن التهديدات
الجزء 3: تحليل التهديد العميق Sysmon مع الرسوم البيانية
إذا كنت منخرطًا في أمن المعلومات ، فغالبًا ما يتعين عليك فهم الهجمات المستمرة. إذا كانت لديك عين مدربة بالفعل ، فيمكنك البحث عن نشاط غير قياسي في السجلات الأولية "الأولية" - على سبيل المثال ، تشغيل برنامج PowerShell النصي
هل تريد فهم الأفكار الأساسية الكامنة وراء التهديدات المعروضة في سجل Sysmon؟ قم بتنزيل دليلنا
في الجزء الأول من سلسلتنا ، سنرى ما يمكننا فعله بالمعلومات الأساسية من Sysmon. في الجزء الثاني ، سنستفيد استفادة كاملة من معلومات العملية الأصل لإنشاء هياكل امتثال أكثر تعقيدًا تُعرف باسم الرسوم البيانية للتهديدات. في الجزء الثالث ، سننظر في خوارزمية بسيطة تقوم بمسح الرسم البياني للتهديد بحثًا عن نشاط غير قياسي من خلال تحليل "وزن" الرسم البياني. وفي النهاية ، كمكافأة ، ستجد طريقة احتمالية أنيقة (ومفهومة) لاكتشاف التهديدات.
الجزء 1: تقديم تحليل سجل Sysmon
ما الذي سيساعد على فهم تعقيدات سجل الأحداث؟ في النهاية ، SIEM. يقوم بتطبيع الأحداث ويبسط تحليلها اللاحق. لكن لا يتعين علينا الذهاب إلى هذا الحد ، على الأقل في البداية. في البداية ، لفهم مبادئ SIEM ، يكفي تجربة الأداة المساعدة Sysmon المجانية الرائعة. ومن السهل بشكل مدهش العمل معها. استمروا في ذلك ، Microsoft!
ما هي مميزات نظام Sysmon؟
باختصار ، معلومات مفيدة ومقروءة عن العمليات (انظر الصور أدناه). ستجد مجموعة من التفاصيل المفيدة غير الموجودة في سجل أحداث Windows ، ولكن الأهم هو الحقول التالية:
- معرّف العملية (بالأرقام العشرية ، وليس السداسي!)
- معرف العملية الأصل
- سطر أوامر العملية
- سطر أوامر العملية الأصل
- تجزئة صورة الملف
- أسماء صورة الملف
تم تثبيت Sysmon كمشغل جهاز وخدمة في نفس الوقت - تعرف على المزيد
من ناحية أخرى ، يأخذ Sysmon قفزة نوعية إلى الأمام من خلال توفير معلومات مفيدة (أو ، كما يحب البائعون أن يقولوا ، قابلة للتنفيذ) لمساعدتك على فهم العمليات الأساسية. على سبيل المثال ، لقد بدأت جلسة خفية
تظهر بعض المعلومات حول العملية في سجل Windows ، ولكنها قليلة الفائدة. بالإضافة إلى معرفات العملية في ست عشري ؟؟؟
بالنسبة لمتخصص تكنولوجيا المعلومات المحترف مع فهم أساسيات القرصنة ، يجب أن يكون سطر الأوامر مريبًا. استخدام cmd.exe ثم تشغيل أمر آخر مع إعادة توجيه الإخراج إلى ملف باسم غريب - وهذا يشبه بشكل واضح إجراءات البرنامج للتحكم والإدارة
الآن دعنا نلقي نظرة على ما يعادل إدخال Sysmon ، مع الإشارة إلى مقدار المعلومات الإضافية التي يقدمها لنا:
ميزات Sysmon في لقطة شاشة واحدة: معلومات مفصلة حول العملية في نموذج قابل للقراءة
أنت لا ترى سطر الأوامر فحسب ، بل ترى أيضًا اسم الملف والمسار إلى التطبيق القابل للتنفيذ وما يعرفه Windows عنه ("معالج أوامر Windows") والمعرف أبوي عملية سطر الأوامر الأبوين، والتي أطلقت قذيفة cmd ، بالإضافة إلى اسم الملف الحقيقي للعملية الأصل. الكل في مكان واحد ، أخيرًا!
من سجل Sysmon ، يمكننا أن نستنتج أنه مع وجود درجة عالية من الاحتمال ، فإن سطر الأوامر المشبوه هذا ، والذي رأيناه في السجلات "الأولية" ، ليس نتيجة العمل العادي للموظف. بدلاً من ذلك ، تم إنشاؤه بواسطة عملية شبيهة بـ C2 - wmiexec ، كما ذكرت سابقًا - وتم إنتاجه مباشرةً بواسطة عملية WMI للخدمة (WmiPrvSe). الآن لدينا مؤشر على أن مهاجمًا عن بُعد أو من الداخل يحاول استخدام البنية التحتية للشركة من أجل سن.
تقديم Get-Sysmonlogs
بالطبع ، من الرائع أن يكون لدى Sysmon سجلات في مكان واحد. ولكن ربما يكون من الأفضل لو تمكنا من الوصول إلى حقول السجل الفردية برمجيًا - على سبيل المثال ، من خلال أوامر PowerShell. في هذه الحالة ، سيكون من الممكن كتابة نص برمجي صغير من PowerShell من شأنه أتمتة البحث عن التهديدات المحتملة!
لم أكن أول من خطرت لي هذه الفكرة. ومن الجيد ذلك في بعض مشاركات المنتديات و GitHub
النقطة الأولى المهمة هي قدرة الأمر
$events = Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" | where { $_.id -eq 1 -or $_.id -eq 11}
إذا كنت ترغب في اختبار الأمر بنفسك ، من خلال عرض المحتوى في العنصر الأول من مصفوفة الأحداث $ ، $ events [0] .Message ، يمكنك إخراج سلسلة من السلاسل النصية بتنسيق بسيط للغاية: اسم Sysmon الحقل ، والنقطتان ، ثم القيمة نفسها.
الصيحة! إخراج سجل Sysmon بتنسيق جاهز لـ JSON
هل تفكر في نفس الشيء مثلي؟ مع بذل المزيد من الجهد ، يمكنك تحويل الإخراج إلى سلسلة بتنسيق JSON ثم تحميلها مباشرةً في كائن PS باستخدام الأمر القوي
سأعرض رمز PowerShell للتحويل - إنه بسيط جدًا - في الجزء التالي. في الوقت الحالي ، دعنا نلقي نظرة على ما يمكن أن يفعله أمري الجديد المسمى get-sysmonlogs ، والذي قمت بتثبيته كوحدة PS.
بدلاً من التعمق في تحليل سجل Sysmon من خلال واجهة سجل الأحداث غير الملائمة ، يمكننا البحث بسهولة عن النشاط الإضافي مباشرةً من جلسة PowerShell ، وكذلك استخدام الأمر PS
قائمة قذائف cmd التي تم إطلاقها عبر WMI. تحليل التهديدات رخيص مع فريق Get-Sysmonlogs الخاص بنا
رائع! لقد أنشأت أداة استقصاء لسجل Sysmon كما لو كانت قاعدة بيانات. في مقالتنا عن
تحليل Sysmon والرسم البياني
دعونا نلخص ونفكر فيما أنشأناه للتو. بشكل أساسي ، لدينا الآن قاعدة بيانات أحداث Windows يمكن الوصول إليها عبر PowerShell. كما أشرت سابقًا ، هناك اتصالات أو علاقات بين السجلات - من خلال ParentProcessId - حتى تتمكن من الحصول على تسلسل هرمي كامل للعمليات.
إذا كنت قد قرأت السلسلة
ولكن مع الأمر Get-Sysmonlogs الخاص بي وبنية البيانات الإضافية التي سننظر إليها لاحقًا في النص (رسم بياني بالطبع) ، لدينا طريقة عملية لاكتشاف التهديدات - كل ما هو مطلوب هو إجراء بحث مناسب في الرأس .
كما هو الحال دائمًا في مشاريع مدونة DYI الخاصة بنا ، كلما عملت على تحليل تفاصيل التهديدات على نطاق صغير ، كلما أدركت مدى صعوبة اكتشاف التهديدات على مستوى المؤسسة. وهذا الإدراك بالغ للغاية نقطة مهمة.
سنواجه أول تعقيدات مثيرة للاهتمام في الجزء الثاني من المقالة ، حيث سنبدأ في ربط أحداث Sysmon ببعضها البعض في هياكل أكثر تعقيدًا.
المصدر: www.habr.com