
Модуль PowerShell для сбора журналов Office 365 и Azure

DFIR-O365RC был представлен на SSTIC 2021 (Symposium sur la sécurité des technologies de l'information et des communications). Слайды и запись выступления (на французском языке) доступны здесь.
⚠️ 31 марта 2024 года Microsoft прекратила поддержку метода аутентификации, который мы использовали для DFIR-O365RC. Это привело к выпуску версии 2.0.0 в августе 2024 года с критическими изменениями, касающимися аутентификации и глобального рефакторинга кода. ⚠️
Модуль PowerShell DFIR-O365RC представляет собой набор функций, позволяющий специалисту по криминалистике собирать журналы, актуальные для расследования инцидентов в Microsoft 365, и проводить расследования в Entra ID.
Журналы генерируются в формате JSON и извлекаются из двух основных источников данных:
Эти два источника данных можно запрашивать из различных конечных точек:
| Источник данных / Конечная точка | Хранение | Производительность | Охват |
|---|---|---|---|
| Единый журнал аудита / Exchange Online PowerShell | 90 дней | Низкая | Все журналы Microsoft 365 (включая Entra) |
| Единый журнал аудита / Purview | 180 дней | Хорошая | Все журналы Microsoft 365 (включая Entra) |
| Единый журнал аудита / Office 365 Management API * | 7 дней | Хорошая | Все журналы Microsoft 365 (включая Entra) |
| Журналы Microsoft Entra / Microsoft Graph PowerShell | 30 дней | Хорошая | Только журналы входа и аудита Entra |
| Журналы Microsoft Entra / Microsoft Graph REST API | 30 дней | Хорошая | Только журналы входа и аудита Entra |
* Office 365 Management API предназначен для анализа данных в реальном времени с помощью SIEM. DFIR-O365RC — это криминалистический инструмент, его цель не в мониторинге среды Microsoft 365 в реальном времени.
DFIR-O365RC будет получать данные:
Если вы расследуете вредоносную активность в Microsoft 365, Search-O365 (из Exchange Online PowerShell) также извлечёт журнал аудита почтовых ящиков, хотя командлет Search-MailboxAuditLog объявлен устаревшим.
Если вы расследуете другие ресурсы Azure, с помощью DFIR-O365RC:
Это рекомендуемый способ использования DFIR-O365RC
Просто введите:```bash sudo docker pull anssi/dfir-o365rc:latest sudo docker run --rm -v .:/mnt/host -it anssi/dfir-o365rc:latest
DFIR-O365RC готов к использованию:```bash
PowerShell 7.4.2
DFIR-O365RC: PowerShell module for Microsoft 365 and Entra ID log collection
https://github.com/ANSSI-FR/DFIR-O365RC
PS /mnt/host/output>
Если вы хотите вручную собрать образ Docker, клонируйте репозиторий и используйте docker compose (или устаревший docker-compose) для сборки образа, запуска контейнера и монтирования тома (в папку output/):```bash
sudo docker compose build dfir-o365rc
sudo docker compose run dfir-o365rc
sudo docker-compose run dfir-o365rc
### Использование PowerShell
Вы можете установить модуль в *PowerShell Desktop* и *PowerShell Core*.
Обратите внимание, что командлет `Connect-ExchangeOnline` [требует Microsoft .NET Framework 4.7.2 или более позднюю версию](https://learn.microsoft.com/en-us/powershell/exchange/exchange-online-powershell-v2?view=exchange-ps#windows).
Для установки модуля из коллекции PowerShell:```powershell
Install-Module -Name DFIR-O365RC
Вы также можете установить модуль вручную, клонировав репозиторий DFIR-O365RC, установив необходимые зависимости (проверьте DFIR-O365RC.psd1) и добавив каталог DFIR-O365RC в один из путей модулей PowerShell.
После импорта модуля вам потребуется создать приложение Entra, которое будет обрабатывать процесс сбора журналов.
Для этого: