TL;DR
- Cosa imparerai: Come analizzare i log di Microsoft 365 per individuare tracce del phishing kit Kratos e verificare se il tuo dominio è stato compromesso
- Tempo richiesto: 30-45 minuti per una verifica iniziale
- Difficoltà: Media — servono accessi admin e familiarità con i log di Exchange/Entra ID
IL PROBLEMA
Hai presente quella sensazione quando leggi una notizia del genere e ti viene un brivido lungo la schiena? \ \ Le forze dell'ordine hanno smantellato Kratos, uno dei kit di phishing più diffusi al mondo. Quello che ruba sessioni Microsoft 365 e salta l'MFA come se niente fosse.\ \ Il problema? Anche se l'infrastruttura è stata abbattuta, il danno potrebbe essere già fatto. Se qualcuno nella tua azienda ha inserito le credenziali in una pagina di login fasulla Kratos negli ultimi mesi (o anni), gli hacker avevano già la sua sessione. E magari l'hanno ancora.\ \ Non lo saprai finché non vai a cercare.\ \ In questo articolo ti spiego come verificare se il tuo dominio è stato nel mirino di Kratos, come leggere i log per trovare le tracce dell'attacco, e cosa fare se trovi qualcosa di sospetto.
PREREQUISITI
Prima di iniziare, assicurati di avere:
- Accesso admin a Microsoft 365 (Exchange Admin Center o PowerShell)
- Accesso al portale Azure/Entra ID
- Permessi per esportare log (Audit Search o PowerShell)
- Un po' di pazienza — i log possono essere voluminosi
Se non hai questi accessi, coinvolgi il tuo IT o l'amministratore di sistema.
Step 1: Esporta i Log di Accesso da Entra ID
Apri il Microsoft Entra admin center (portal.azure.com) e vai su Monitoraggio > Log di accesso.\ \ Filtra per:
- Categoria: Sign-in
- Data: Ultimi 90 giorni (o più, se hai pazienza)
- Stato: Fallito (failed)
Ora cerca questi pattern sospetti:
# Da PowerShell (più veloce per grandi volumi)
Connect-AzureAD
Get-AzureADAuditSignInLogs | Where-Object {
$_.Status.ErrorCode -ne 0 -and
$_.CreatedDateTime -gt (Get-Date).AddDays(-90)
} | Select-Object UserPrincipalName, CreatedDateTime, IPAddress, Status
Cosa cercare:
- Tanti tentativi di login falliti da IP stranieri (specialmente da paesi dove non operi)
- Login da IP che non riconosci
- Accessi a orari strani (notte, weekend)
Se trovi roba sospetta, prendi nota degli IP e degli account coinvolti.
Step 2: Verifica Sessioni Attive Sospette
Kratos ruba sessioni attive. Quindi non basta cercare i tentativi di accesso — devi vedere chi è connesso adesso.\ \ Vai su Microsoft 365 admin center > Utenti > Utenti attivi.\ \ Per ogni utente sospetto, clicca e verifica:
- Ultima attività: se vedi accessi recenti da IP strani, hai un problema
- Dispositivi: quanti device ha? Se sono più di quelli che usi in azienda, qualcuno potrebbe essere dentro
- Sessioni: in Entra ID, vai su Utenti > [utente] > Accesso > Sessioni e controlla i token attivi
# PowerShell per vedere sessioni sospette
Get-AzureADUserSignInLogs | Where-Object {
$_.CreatedDateTime -gt (Get-Date).AddHours(-24)
} | Select-Object UserPrincipalName, IPAddress, AppDisplayName, DeviceDetail
Attenzione: Kratos spesso usa app malevole con nomi che sembrano legittimi. Se vedi applicazioni OAuth che non riconosci, investigale immediatamente.
Step 3: Controlla le App OAuth Compromesse
Una delle tecniche preferite di Kratos è rubare il token di sessione e poi usare API Microsoft per creare nuove app OAuth. Roba che resta nascosta per mesi.\ \ In Entra ID, vai su Applicazioni > Applicazioni aziendali e cerca:
- App con nomi sospetti (\"Microsoft Sync\", \"Cloud Backup\", \"Email Reader\")
- App che hanno \"Consenso\" da parte degli utenti
- App con permessi eccessivi (Mail.Read, Files.Read, User.Read)
# Elenca app con permessi pericolosi
Get-AzureADServicePrincipal | ForEach-Object {
$app = $_
$perms = Get-AzureADServicePrincipalAppRoleAssignment -ObjectId $app.ObjectId
if ($perms.AppRole.DisplayName -match "Mail|Files|User.Read") {
[PSCustomObject]@{
AppName = $app.DisplayName
Permissions = $perms.AppRole.DisplayName -join ", "
}
}
}
Se trovi app che non riconosci, revoca immediatamente l'accesso.
Step 4: Analizza i Log delle Email Inviate
Kratos non si limita a rubare credenziali — usa gli account compromessi per spedire altro phishing.\ \ Vai su Exchange Admin Center > Cartelle postali > [utente] > Log di audit (se abilitato) oppure cerca nei log di invio:\
# Cerca invii da account sospetti
Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -Operations "Send" |
Select-Object UserIds, Operation, CreationTime, ClientIP
Guarda 특히:
- Utenti che hanno inviato molte email in poco tempo
- Email inviate a indirizzi esterni (exfiltration di dati)
- Email con allegati che non riconosci
Step 5: Verifica le Regole di Inbox forwarding
Una tecnica classica di Kratos è configurare regole di inoltro automatico per copiare tutte le email in arrivo su un account controllato dagli hacker.\ \ In Outlook web, vai su Impostazioni > Regole di ogni utente sospetto.\ \ In PowerShell:
# Cerca regole di inoltro sospette
Get-InboxRule -Mailbox "utente@tuodominio.com" | Where-Object {
$_.ForwardTo -or $_.RedirectTo
} | Select-Object Name, ForwardTo, RedirectTo, Enabled
Cerca regole che:
- Inoltrano a domini esterni (gmail.com, outlook.com, domini sconosciuti)
- Hanno nomi generici (\"Auto-forward\", \"Sync\")
- Sono state create di recente
VERIFICA
Dopo aver completato i passaggi, dovresti avere una situazione chiara.\ \ Se hai trovato anomalie:
- Isola immediatamente gli account compromessi
- Revoca tutte le sessioni attive
- Cambia le password (e disabilita l'account se necessario)
- Rimuovi le app OAuth sconosciute
- Cancella le regole di inoltro sospette
- Abilita MFA se non lo è già (e usa authenticator, non SMS)
Se non hai trovato nulla:
- Congratulazioni, ma non abbassare la guardia
- Documenta comunque la verifica
- Implementa le difese che ti spiego sotto
Puoi anche usare strumenti come Microsoft Secure Score per avere un quadro della situazione:\
https://security.microsoft.com/securescore
TROUBLESHOOTING
Non trovo i log, cosa faccio?\ \ Verifica che l'audit sia abilitato. In Exchange Admin Center vai su Gestione conformità > Ricerca audit e assicurati che \"Audit mailbox\" sia attivo.\ \ Gli utenti sono tanti, come faccio a controllarli tutti?\ \ Automatizza con PowerShell. Il comando che ti ho dato prima ("Step 1") può essere modificato per processare tutti gli utenti in un colpo solo. Se hai centinaia di account, considera di filtrare prima quelli con MFA disabilitato — quelli sono i bersagli preferiti.\ \ Ho trovato qualcosa di sospetto ma non sono sicuro, che faccio?\ \ Isola l'account prima di investigare. Disabilitalo temporaneamente, poi analizza i log con calma. È meglio bloccare un utente per errore che lasciare un intruso nel sistema.\ \ Il mio dominio era nel listato Kratos?\ \ Purtroppo non esiste una lista pubblica delle vittime. L'unico modo è fare l'indagine che ti ho descritto. Se il tuo settore era nel mirino (servizi finanziari, manufacturing, tech), procedi con maggiore urgenza.
CONCLUSIONE
Kratos è stato smantellato, ma questo non significa che gli hacker si fermano. Potrebbero ricostruire il kit, usare varianti, o semplicemente vendere i dati rubati ad altri criminali.\ \ La verifica che ti ho descritto non è una tantum — fallo almeno una volta al mese, o meglio ancora, automatizzala.\ \ Se non hai tempo di fare tutto questo manualmente, puoi appoggiarti a una soluzione come MailSniper che monitora le sessioni, analizza i comportamenti sospetti e ti avvisa quando qualcosa non va.\ \ La sicurezza non è un prodotto — è un processo. E quel brivido che hai provato leggendo la notizia? È il tuo sistema che ti chiede attenzione. Non ignorarlo.