
Module PowerShell pour la collecte de journaux Office 365 et Azure

DFIR-O365RC a été présenté à SSTIC 2021 (Symposium sur la sécurité des technologies de l'information et des communications). Les diapositives et un enregistrement de la présentation, en français, sont disponibles ici.
⚠️ Le 31 mars 2024, Microsoft a supprimé la méthode d'authentification que nous utilisions pour DFIR-O365RC. Cela a conduit à la publication de la version 2.0.0 en août 2024, avec des changements majeurs concernant l'authentification et une refonte globale du code. ⚠️
Le module PowerShell DFIR-O365RC est un ensemble de fonctions qui permet à un analyste forensique de collecter les journaux pertinents pour les compromissions Microsoft 365 et de mener des investigations Entra ID.
Les journaux sont générés au format JSON et récupérés depuis deux sources de données principales :
Ces deux sources de données peuvent être interrogées depuis différents points de terminaison :
| Source de données / Point de terminaison | Rétention | Performance | Périmètre |
|---|---|---|---|
| Journal d'audit unifié / Exchange Online PowerShell | 90 jours | Faible | Tous les journaux Microsoft 365 (Entra inclus) |
| Journal d'audit unifié / Purview | 180 jours | Bonne | Tous les journaux Microsoft 365 (Entra inclus) |
| Journal d'audit unifié / API de gestion Office 365 * | 7 jours | Bonne | Tous les journaux Microsoft 365 (Entra inclus) |
| Journaux Microsoft Entra / Microsoft Graph PowerShell | 30 jours | Bonne | Journaux de connexion et d'audit Entra uniquement |
| Journaux Microsoft Entra / API REST Microsoft Graph | 30 jours | Bonne | Journaux de connexion et d'audit Entra uniquement |
* L'API de gestion Office 365 est destinée à analyser les données en temps réel avec un SIEM. DFIR-O365RC est un outil forensique, son objectif n'est pas de surveiller un environnement Microsoft 365 en temps réel.
DFIR-O365RC récupérera les données depuis :
Si vous enquêtez sur une activité malveillante Microsoft 365, l'applet de commande Search-O365 (provenant d'Exchange Online PowerShell) récupérera également le journal d'audit de la boîte aux lettres, bien que l'applet de commande Search-MailboxAuditLog soit en cours de dépréciation.
Si vous enquêtez sur d'autres ressources Azure, avec DFIR-O365RC :
C'est la méthode recommandée pour utiliser DFIR-O365RC
Tapez simplement :```bash sudo docker pull anssi/dfir-o365rc:latest sudo docker run --rm -v .:/mnt/host -it anssi/dfir-o365rc:latest
DFIR-O365RC est prêt à l'emploi :```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>
Si vous souhaitez construire votre image Docker manuellement, clonez le dépôt et utilisez docker compose (ou le docker-compose hérité) pour construire l'image, exécuter le conteneur et monter un volume (dans le dossier output/) :```bash
sudo docker compose build dfir-o365rc
sudo docker compose run dfir-o365rc
sudo docker-compose run dfir-o365rc
### Utilisation de PowerShell
Vous pouvez installer le module sur *PowerShell Desktop* et *PowerShell Core*.
Veuillez noter que l'applet de commande `Connect-ExchangeOnline` [nécessite Microsoft .NET Framework 4.7.2 ou version ultérieure](https://learn.microsoft.com/en-us/powershell/exchange/exchange-online-powershell-v2?view=exchange-ps#windows).
Pour installer le module à partir de la galerie PowerShell :```powershell
Install-Module -Name DFIR-O365RC
Vous pouvez également installer le module manuellement en clonant le dépôt DFIR-O365RC, installer les dépendances requises (consultez DFIR-O365RC.psd1) et ajouter le répertoire DFIR-O365RC dans l'un des chemins de modules de votre PowerShell.