
وحدة PowerShell للتحقيق الرقمي السحابي لتشغيل دفاتر اللعب لصيد التهديدات على بيانات من Azure وO365

وحدة باورشل لتشغيل دفاتر صيد التهديدات على البيانات من Azure و O365 لأغراض الطب الشرعي السحابي.
الأدوار التالية مطلوبة في Exchange Online، لتتمكن من الحصول على وصول للقراءة فقط إلى سجل التدقيق الموحد (UnifiedAuditLog): سجلات التدقيق للعرض فقط أو سجلات التدقيق.
يتم تعيين هذه الأدوار افتراضيًا لمجموعة أدوار إدارة الامتثال في مركز إدارة Exchange.
ملاحظة: إذا كنت محلل أمن أو مستجيب للحوادث أو صياد تهديدات، ومؤسستك لا تمنحك وصولًا للقراءة فقط إلى سجلات التدقيق هذه، فعليك أن تتساءل جديًا عن استراتيجية الكشف والاستجابة لديهم!
مزيد من المعلومات:
ملاحظة: يمكن للمشرف لديك التحقق من هذه المتطلبات عن طريق تشغيل
Get-ManagementRoleEntry "*\Search-UnifiedAuditLog"في سحابة شل الخاصة بمستأجر Azure أو جلسة باورشل محلية متصلة بـ Azure.
يرجى التأكد من تثبيت ExchangeOnlineManagement (EXOv2). يمكنك العثور على تعليمات على الويب أو التوجه مباشرة إلى قاعدة المعرفة الصغيرة الخاصة بي حول كيفية القيام بذلك على the soc analyst scrolls
Import-Module .\source\AzureHunter.psd1كل ما عليك فعله هو:
Install-Module AzureHunter -Scope CurrentUser
Import-Module AzureHunter
يحتوي سجل التدقيق الموحد على أنشطة المستخدم والمجموعة والتطبيق والمجال والدليل التي يتم إجراؤها في مركز إدارة Microsoft 365 أو في بوابة إدارة Azure. للحصول على قائمة كاملة بأحداث Azure AD، راجع قائمة أنواع السجلات.
يعتبر سجل التدقيق الموحد مصدرًا رائعًا لمعلومات الطب الشرعي السحابي لأنه يحتوي على ثروة من البيانات حول أنواع متعددة من العمليات السحابية مثل عناصر Exchange وSharePoint وAzure AD وOneDrive وحوكمة البيانات ومنع فقدان البيانات وتنبيهات Windows Defender وأحداث الحجر الصحي وأحداث استخبارات التهديدات في Microsoft Defender for Office 365 والقائمة تطول!
يطبق AzureHunter بعض المنطق المفيد لضمان استخراج أعلى كثافة للسجلات وتصديرها من سجلات تدقيق Azure و O365. للقيام بذلك، نقوم بتشغيل عمليتين مختلفتين لكل دورة (دفعة):

يُوصى بتشغيل Connect-ExchangeOnline قبل تشغيل أي أوامر AzureHunter. يتحقق البرنامج من وجود جلسة بعيدة نشطة ويحاول الاتصال ولكن بعض إصدارات باورشل لا تسمح بذلك وتحتاج إلى القيام بذلك بنفسك على أي حال.
AzureHunter له أمران رئيسيان: Search-AzureCloudUnifiedLog و Invoke-AzHunterPlaybook.
الغرض من Search-AzureCloudUnifiedLog هو تنفيذ منطق معقد لضمان استخراج أعلى نسبة من سجلات سجل التدقيق الموحد من Azure. بشكل افتراضي، سيقوم بتصدير السجلات المستخرجة والمكررة إلى ملف CSV.
الغرض من Invoke-AzHunterPlaybook هو توفير واجهة مرنة لدفاتر صيد التهديدات المخزنة في مجلد playbooks. تم تصميم هذه الدفاتر بحيث يمكن لأي شخص المساهمة بإحصائياته وأفكاره. حتى الآن، تم تطوير دفترين بسيطين فقط: AzHunter.Playbook.Exporter و AzHunter.Playbook.LogonAnalyser. يتولى Exporter تصدير السجلات بعد تطبيق عمليات إزالة التكرار والفرز على البيانات. LogonAnalyser في وضع بيتا ويقوم باستخراج الأحداث التي تكون فيها خاصية Operations هي UserLoggedIn. إنه مثال على ما يمكن فعله باستخدام الدفاتر ومدى سهولة بناء واحد.
عند تشغيل Search-AzureCloudUnifiedLog، يمكنك تمرير قائمة بالدفاتر لتشغيلها لكل دفعة سجل. سيقوم Search-AzureCloudUnifiedLog بتمرير الدفعة إلى الدفاتر عبر Invoke-AzHunterPlaybook.
أخيرًا، يمكن استخدام Invoke-AzHunterPlaybook بشكل مستقل. إذا كان لديك تصدير لسجلات سجل التدقيق الموحد، يمكنك تحميلها في مصفوفة باورشل وتمريرها إلى هذا الأمر مع تحديد الدفاتر ذات الصلة.
Search-AzureCloudUnifiedLog -StartDate "2020-03-06T10:00:00" -EndDate "2020-06-09T12:40:00" -TimeInterval 12 -AggregatedResultsFlushSize 5000 -Verbose
هذا الأمر سيقوم بـ:
AggregatedResultsFlushSize دفعات السجلات التي ستتم معالجتها بواسطة الدفاتر اللاحقة. نحن نخبر AzureHunter هنا بمعالجة دفعة السجلات بمجرد أن يصل إجمالي العدد إلى 5000. بهذه الطريقة، يمكنك الحصول على النتائج بشكل فوري، دون الحاجة إلى الانتظار لساعات حتى يتم تصدير نطاق ضخم من السجلات إلى ملفات CSV.نفترض أنك قمت بتصدير سجلات سجل التدقيق الموحد إلى ملف CSV، إذا كان الأمر كذلك، يمكنك القيام بما يلي:
$RecordArray = Import-Csv .\my-exported-records.csv
Invoke-AzHunterPlaybook -Records $RecordArray -Playbooks 'AzHunter.Playbook.UAL.LogonAnalyser'
يمكنك تشغيل أكثر من دفتر عن طريق فصلها بفواصل، سيتم تشغيلها بالتتابع:
$RecordArray = Import-Csv .\my-exported-records.csv
Invoke-AzHunterPlaybook -Records $RecordArray -Playbooks 'AzHunter.Playbook.UAL.Exporter', 'AzHunter.Playbook.UAL.LogonAnalyser'
نفترض أنك قمت بتصدير تقرير تلخيصي eDiscovery إلى ملف CSV، إذا كان الأمر كذلك، يمكنك القيام بما يلي:
$eDiscoReportFile = .\eDisco-Summary-Report-PersonOfInterest.csv
Invoke-AzHunterPlaybook -Records $eDiscoReportFile -Playbooks 'AzHunter.Playbook.eDisco.SummaryReportCleaner'
اختياريًا، يمكننا تمرير بعض المعاملات إلى الدفتر كما يلي: