
Modulo PowerShell per la raccolta di log di Office 365 e Azure

DFIR-O365RC è stato presentato a SSTIC 2021 (Symposium sur la sécurité des technologies de l'information et des communications). Le slide e la registrazione della presentazione, in francese, sono disponibili qui.
⚠️ Il 31 marzo 2024, Microsoft ha deprecato il metodo di autenticazione che usavamo per DFIR-O365RC. Questo ha portato al rilascio della versione 2.0.0 nell'agosto 2024, con breaking changes riguardanti l'autenticazione e un refactoring globale del codice. ⚠️
Il modulo PowerShell DFIR-O365RC è un insieme di funzioni che consentono a un analista forense di raccogliere log rilevanti per compromissioni di Microsoft 365 e condurre indagini su Entra ID.
I log sono generati in formato JSON e recuperati da due principali fonti dati:
Queste due fonti dati possono essere interrogate da diversi endpoint:
| Origine dati / Endpoint | Conservazione | Prestazioni | Ambito |
|---|---|---|---|
| Unified Audit Log / Exchange Online PowerShell | 90 giorni | Scarse | Tutti i log di Microsoft 365 (inclusi Entra) |
| Unified Audit Log / Purview | 180 giorni | Buone | Tutti i log di Microsoft 365 (inclusi Entra) |
| Unified Audit Log / Office 365 Management API * | 7 giorni | Buone | Tutti i log di Microsoft 365 (inclusi Entra) |
| Log di Microsoft Entra / Microsoft Graph PowerShell | 30 giorni | Buone | Solo log di accesso e di controllo di Entra |
| Log di Microsoft Entra / Microsoft Graph REST API | 30 giorni | Buone | Solo log di accesso e di controllo di Entra |
* L'Office 365 Management API è pensata per analizzare i dati in tempo reale con un SIEM. DFIR-O365RC è uno strumento forense, il suo scopo non è monitorare un ambiente Microsoft 365 in tempo reale.
DFIR-O365RC recupererà dati da:
Se stai indagando su attività malevole in Microsoft 365, il cmdlet Search-O365 (da Exchange Online PowerShell) recupererà anche il log di controllo della cassetta postale (Mailbox Audit Log), sebbene il cmdlet Search-MailboxAuditLog stia venendo deprecato.
Se stai indagando su altre risorse di Azure, con DFIR-O365RC:
Questo è il metodo consigliato per utilizzare DFIR-O365RC
Digita semplicemente :```bash sudo docker pull anssi/dfir-o365rc:latest sudo docker run --rm -v .:/mnt/host -it anssi/dfir-o365rc:latest
DFIR-O365RC è pronto per l'uso:```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>
Se desideri creare manualmente la tua immagine Docker, clona il repository e usa docker compose (o il legacy docker-compose) per creare l'immagine, eseguire il contenitore e montare un volume (nella cartella output/):```bash
sudo docker compose build dfir-o365rc
sudo docker compose run dfir-o365rc
sudo docker-compose run dfir-o365rc
### Utilizzo di PowerShell
È possibile installare il modulo su *PowerShell Desktop* e *PowerShell Core*.
Si noti che il cmdlet `Connect-ExchangeOnline` [richiede Microsoft .NET Framework 4.7.2 o successivo](https://learn.microsoft.com/en-us/powershell/exchange/exchange-online-powershell-v2?view=exchange-ps#windows).
Per installare il modulo da PowerShell Gallery:```powershell
Install-Module -Name DFIR-O365RC
Puoi anche installare il modulo manualmente clonando il repository DFIR-O365RC, installando le dipendenze richieste (controlla DFIR-O365RC.psd1) e aggiungendo la directory DFIR-O365RC in uno dei percorsi dei moduli di PowerShell.
Una volta importato il modulo, dovrai creare un'applicazione Entra, che gestirà per te il processo di raccolta dei log.
Per farlo: