Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Mandiant-Azure-AD-Investigator — Modulo PowerShell di sola lettura per rilevare UNC2452 e altri artefatti di attori minacciosi in Azure AD, controllare domini federati, service principal, applicazioni e autorizzazioni delle cassette postali per indicatori di compromissione. | Kitploit
Strumenti/GitHubGitHub/mandiant/mandiant-azure-ad-investigator
Digital ForensicsSicurezza CloudThreat IntelligenceGestione Identità e Accessi (IAM)Configurazione ErrataRisposta agli IncidentiAnalisi dei LogArchived

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
GitHub
mandiant/mandiant-azure-ad-investigator

Mandiant-Azure-AD-Investigator

Modulo PowerShell di sola lettura per rilevare UNC2452 e altri artefatti di attori minacciosi in Azure AD, controllare domini federati, service principal, applicazioni e autorizzazioni delle cassette postali per indicatori di compromissione.

Vedi Repository
6509163 anni faRevisionato da Kitploit
Condividi

Mandiant Azure AD Investigator

Focus su TTP di UNC2452

Panoramica

Questo repository contiene un modulo PowerShell per rilevare artefatti che possono essere indicatori dell'attività di UNC2452 e di altri attori di minacce. Alcuni indicatori sono indicatori di compromissione ad "alta fedeltà", mentre altri artefatti sono cosiddetti artefatti a "duplice uso". Gli artefatti a duplice uso possono essere correlati all'attività di un attore di minacce, ma anche a funzionalità legittime. Per questi sarà necessaria analisi e verifica. Per una descrizione dettagliata delle tecniche utilizzate da UNC2452, consulta il nostro blog.

Questo strumento è di sola lettura. Non apporta alcuna modifica all'ambiente Microsoft 365.

In sintesi, questo modulo:

  • Farà del suo meglio per identificare indicatori di compromissione che richiederanno ulteriore verifica e analisi

Non:

  • Identificherà una compromissione al 100% delle volte, o
  • Ti dirà se un artefatto è attività amministrativa legittima o attività di un attore di minacce.

Con il feedback della comunità, lo strumento potrebbe diventare più completo nel rilevamento degli IOC. Si prega di aprire un issue, inviare una PR, o contattare gli autori se si hanno problemi, idee o feedback.

Funzionalità

Domini federati (Invoke-MandiantAuditAzureADDomains)

Questo modulo utilizza MS Online PowerShell per cercare e verificare i domini federati in Azure AD. Tutti i domini federati verranno salvati nel file federated domains.csv.

  • Periodo di validità insolito del certificato di firma - Avvisa su un dominio federato dove i certificati di firma hanno un periodo di validità > 1 anno. I certificati gestiti da AD FS sono validi solo per un anno. Periodi di validità più lunghi di un anno potrebbero essere un'indicazione che un attore di minacce ha manomesso le impostazioni di federazione del dominio. Potrebbero anche indicare l'uso di un certificato di firma token personalizzato legittimo. Chiedi ai tuoi amministratori di verificare se è questo il caso.
  • Disallineamento del certificato di firma - Avvisa su domini federati dove l'emittente o il soggetto dei certificati di firma non corrispondono. Nella maggior parte dei casi, i certificati di firma token provengono dallo stesso emittente e hanno lo stesso soggetto. Se c'è un disallineamento, potrebbe essere un'indicazione che un attore di minacce ha manomesso le impostazioni di federazione del dominio. Chiedi ai tuoi amministratori di verificare se i nomi di soggetto ed emittente sono attesi e, in caso contrario, considera di effettuare un'indagine forense per determinare come sono state apportate le modifiche e identificare altre prove di compromissione.
  • Backdoor di Azure AD (any.sts) - Avvisa su domini federati configurati con any.sts come URI dell'emittente. Questo indica l'uso dello strumento Azure AD Backdoor. Considera di effettuare un'indagine forense per determinare come sono state apportate le modifiche e identificare altre prove di compromissione.
  • Domini federati - Elenca tutti i domini federati e l'URI dell'emittente del token. Verifica che il dominio debba essere federato e che l'URI dell'emittente sia atteso.
  • Domini non verificati - Elenca tutti i domini non verificati in Azure AD. I domini non verificati non dovrebbero essere mantenuti a lungo in Azure AD in stato non verificato. Considera di rimuoverli.

Esempi```

!! Evidence of AAD backdoor found. Consider performing a detailed forensic investigation Domain name: foobar.com Domain federation name: Federation issuer URI: http://any.sts/16B45E3B

root@kitploit:~
:bangbang: Lo script ha identificato un dominio che è stato federato con un URI emittente che è un indicatore di un [Azure AD Backdoor](https://github.com/Gerenios/AADInternals/blob/master/FederatedIdentityTools.ps1). Il backdoor imposta l'URI emittente su hxxp://any.sts per impostazione predefinita. Considerare di svolgere un'indagine forense per determinare come sono state apportate le modifiche e identificare qualsiasi altra evidenza di compromissione.```
!! A token signing certificate has a validity period of more than 365 days. 
This may be evidence of a signing certificate not generated by AD FS.
Domain name: foobar.com
Federation issuer uri: http://sts.foobar.com
Signing cert not valid before: 1/1/2020 00:00:00
Signing cert not valid after: 12/31/2025 23:59:59

⚠️ Lo script ha identificato un dominio federato con un certificato di firma token valido per più dei 365 giorni standard. Consulta i tuoi amministratori per verificare se il certificato di firma token è gestito manualmente e se la durata di validità indicata è prevista. Considera di effettuare un'indagine forense se ciò non è previsto.

Service Principals (Invoke-MandiantAuditAzureADServicePrincipals)

Questo modulo utilizza Azure AD PowerShell per cercare e verificare i Service Principals in Azure AD.

  • First-party Service Principals with added credentials - I Service Principals first-party (pubblicati da Microsoft) non dovrebbero avere credenziali aggiunte tranne in rare circostanze. Gli ambienti che sono o sono stati precedentemente in modalità ibrida potrebbero avere credenziali aggiunte a Exchange Online, Skype for Business e AAD Password Protection Proxy Service Principals. Verifica che la credenziale del Service Principal faccia parte di un caso d'uso legittimo. Considera di effettuare un'indagine forense se la credenziale non è legittima.
  • Service Principals with high level privileges and added credentials - Identifica i Service Principals che hanno autorizzazioni API ad alto rischio assegnate e credenziali aggiunte. Sebbene il Service Principal e le autorizzazioni aggiunte siano probabilmente legittimi, le credenziali aggiunte potrebbero non esserlo. Verifica che le credenziali del Service Principal facciano parte di un caso d'uso legittimo. Verifica che il Service Principal necessiti delle autorizzazioni elencate.

Esempi```

!! Identified first-party (Microsoft published) Service Principals with added credentials. Only in rare cases should a first-party Service Principal have an added credential. Verify that the added credential has a legitimate use case and consider further investigation if not


Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx App ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Display Name : Office 365 Exchange Online Key Credentials :

CustomKeyIdentifier : EndDate : 12/9/2017 2:10:29 AM KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx StartDate : 12/9/2015 1:40:30 AM Type : AsymmetricX509Cert Usage : Verify Value :

root@kitploit:~
:warning: Lo script ha identificato un Service Principal first-party (Microsoft) con credenziali aggiunte. I Service Principal first-party *non* dovrebbero avere credenziali aggiunte, tranne in rari casi. Gli ambienti che sono o sono stati in precedenza in modalità ibrida potrebbero avere credenziali aggiunte per Exchange Online, Skype for Business e i Service Principal di AAD Password Protection Proxy. Potrebbe anche essere un artefatto dell'attività di UNC2452 nel tuo ambiente. Consulta i tuoi amministratori e cerca nei log di controllo per verificare che la credenziale sia legittima. Puoi anche utilizzare la scheda "Accessi del Service Principal" nel pannello "Accessi" di Azure AD per cercare autenticazioni al tuo tenant che utilizzano questo Service Principal.```
!! Identified Service Principals with high-risk API permissions and added credentials.
Verify that the added credential has a legitimate use case and consider further investigation if not
Object ID            : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
App ID               : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Display Name         : TestingApp
Key Credentials      :
    CustomKeyIdentifier :
    EndDate             : 1/7/2025 12:00:00 AM
    KeyId               : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    StartDate           : 1/7/2021 12:00:00 AM
    Type                : Symmetric
    Usage               : Verify
    Value               :
Password Credentials :
Risky Permissions    : Domain.ReadWrite.All

⚠️ Lo script ha identificato un'entità servizio con autorizzazioni API ad alto rischio e credenziali aggiunte. Ciò potrebbe essere previsto, poiché alcune applicazioni di terze parti o personalizzate richiedono credenziali aggiunte per funzionare. Potrebbe anche essere un artefatto dell'attività di UNC2452 nel tuo ambiente. Consulta i tuoi amministratori e cerca nei log di controllo per verificare che la credenziale sia legittima. Puoi anche usare la scheda "Accessi dell'entità servizio" nel pannello degli accessi di Azure AD per cercare autenticazioni al tuo tenant che utilizzano questa entità servizio.

Applicazioni (Invoke-MandiantAuditAzureADApplications)

Questo modulo usa Azure AD PowerShell per cercare e verificare le applicazioni in Azure AD.

  • Applicazioni con privilegi di alto livello e credenziali aggiunte - Avvisa sulle applicazioni che hanno autorizzazioni API ad alto rischio e credenziali aggiunte. Sebbene le applicazioni e le autorizzazioni aggiunte siano probabilmente legittime, le credenziali aggiunte potrebbero non esserlo. Verifica che le credenziali dell'applicazione facciano parte di un caso d'uso legittimo. Verifica che le applicazioni necessitino delle autorizzazioni elencate.

Esempio```

!! High-privileged Application with credentials found. Validate that the application needs these permissions. Validate that the credentials added to the application are associated with a legitimate use case.

ObjectID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx AppID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx DisplayName: Acme Test App KeyCredentials: PasswordCredentials:

CustomKeyIdentifier : EndDate : 12/22/2021 4:01:52 PM KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx StartDate : 12/22/2020 4:01:52 PM Value :

CustomKeyIdentifier : EndDate : 12/21/2021 6:32:54 PM KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx StartDate : 12/21/2020 6:33:16 PM Value :

Risky Permissions: Mail.Read (Read mail in all mailboxes) Directory.Read.All (Read all data in the organization directory)

root@kitploit:~
:warning: Lo script ha identificato un'applicazione con autorizzazioni API ad alto rischio e ha aggiunto credenziali. Questo potrebbe essere previsto, poiché alcune applicazioni di terze parti o personalizzate richiedono credenziali aggiuntive per funzionare. Potrebbe anche essere un artefatto dell'attività di UNC2452 nel tuo ambiente. Consulta i tuoi amministratori e cerca nei log di controllo per verificare che la credenziale sia legittima.

### Cloud Solution Provider Program (Invoke-MandiantGetCSPInformation)

Questo modulo verifica se il tenant è gestito da un CSP (Cloud Solution Provider) o partner e se l'amministrazione delegata è abilitata. L'amministrazione delegata consente al CSP di accedere a un tenant cliente con gli stessi privilegi di un amministratore globale. Sebbene il programma CSP imponga forti controlli di sicurezza sul tenant del partner, un attaccante che compromette il CSP potrebbe essere in grado di accedere agli ambienti del cliente. Le organizzazioni dovrebbero verificare se il loro partner ha bisogno dei privilegi di amministratore delegato e rimuoverli in caso contrario. Se il partner deve mantenere l'accesso di amministrazione delegata, prendere in considerazione l'implementazione di criteri di accesso condizionale per limitare il loro accesso.

Le organizzazioni possono controllare e gestire le relazioni con i partner accedendo al [Centro di amministrazione](https://admin.microsoft.com) e navigando su `Impostazioni` -> `Relazioni con i partner` nella barra del menu a sinistra.

### Mailbox Folder Permissions (Get-MandiantMailboxFolderPermissions)

Questo modulo controlla tutte le cassette postali nel tenant per verificare l'esistenza di autorizzazioni sospette sulle cartelle. In particolare, esaminerà le cartelle "Top of Information Store" e "Posta in arrivo" in ogni cassetta postale e controllerà le autorizzazioni assegnate agli utenti "Predefinito" e "Anonimo". Qualsiasi valore diverso da "Nessuno" farà sì che la cassetta postale venga segnalata per l'analisi. In generale, gli utenti Predefinito e Anonimo non dovrebbero avere autorizzazioni sulle cassette postali degli utenti, poiché ciò consentirebbe a qualsiasi utente di leggere i loro contenuti. Alcune organizzazioni potrebbero trovare cassette postali condivise con questa autorizzazione, ma non è una pratica consigliata.

### Application Impersonation (Get-MandiantApplicationImpersonationHolders)

Questo modulo restituisce l'elenco di utenti e gruppi che detengono il ruolo ApplicationImpersonation. Qualsiasi utente o membro di un gruppo nell'output di questo comando può utilizzare l'impersonificazione per "agire come" e accedere alla cassetta postale di qualsiasi altro utente nel tenant. Le organizzazioni dovrebbero controllare l'output di questo comando per assicurarsi che siano inclusi solo gli utenti e i gruppi previsti e, ove possibile, limitare ulteriormente l'ambito.

### Purview Audit (Formerly Advanced Audity) (Invoke-MandiantCheckAuditing)

Questo modulo enumererà tutti gli utenti con licenza nel tenant che dispongono della licenza per Purview Audit Mail Items Accessed. Genererà un report CSV che documenta se la funzionalità è stata abilitata su una cassetta postale idonea. Le organizzazioni dovrebbero filtrare le cassette postali idonee per Mail Items Accessed ma con la funzionalità disabilitata e verificare che ciò sia intenzionale.

### Unified Audit Log (Get-MandiantUnc2452AuditLogs)

Questo modulo è uno script di supporto per cercare nel registro di controllo unificato. La ricerca nel registro di controllo unificato presenta molti avvertimenti tecnici che possono essere facili da trascurare. Questo modulo può aiutare a semplificare il processo di ricerca implementando le migliori pratiche per gestire questi avvertimenti e gestire alcuni errori comuni.

Per impostazione predefinita, il modulo cercherà voci di registro che possono registrare tecniche UNC2452. I record del registro potrebbero anche catturare attività legittime degli amministratori e dovranno essere verificati.

* **Update Application** - Registra le azioni intraprese per aggiornare le registrazioni delle app.
* **Set Domain Auth** - Registra quando vengono modificate le impostazioni di autenticazione per un dominio, inclusa la creazione di oggetti realm di federazione. Questi eventi dovrebbero verificarsi raramente in un ambiente e potrebbero indicare un attaccante che configura un backdoor di AAD.
* **Set Federation Settings** - Registra quando l'oggetto realm di federazione per un dominio viene modificato. Questi eventi dovrebbero verificarsi raramente in un ambiente e potrebbero indicare un attaccante che si prepara a eseguire un attacco Golden SAML.
* **Update Application Certificates and Secrets** - Registra quando un segreto o un certificato viene aggiunto a una registrazione dell'app.
* **PowerShell Mailbox Logins** - Registra le operazioni di accesso alla cassetta postale in cui l'applicazione client era PowerShell.
* **Update Service Principal** - Registra quando vengono effettuati aggiornamenti a un'entità servizio esistente.
* **Add Service Principal Credentials** - Registra quando un segreto o un certificato viene aggiunto a un'entità servizio.
* **Add App Role Assignment** - Registra quando viene aggiunto un ruolo dell'app (autorizzazione dell'applicazione).
* **App Role Assignment for User** - Registra quando un ruolo dell'app viene assegnato a un utente.
* **PowerShell Authentication** - Registra quando un utente si autentica in Azure AD utilizzando un client PowerShell.
* **New Management Role Assignments** - Registra quando vengono create nuove assegnazioni di ruoli di gestione. Questo può essere utile per identificare nuove concessioni di ApplicationImpersonation.

## Usage

### Required Modules

Il modulo PowerShell richiede l'installazione di tre moduli PowerShell di Microsoft 365.
* AzureAD
* MSOnline
* ExchangeOnlineManagement
* Microsoft.Graph

Per installare i moduli:
1. Aprire una finestra di PowerShell come amministratore locale (fare clic con il pulsante destro del mouse e selezionare Esegui come amministratore)
2. Eseguire il comando `Install-Module <NOME MODULO QUI>` e seguire le istruzioni

### Required User Permissions
Il modulo PowerShell deve essere eseguito con un account Microsoft 365 a cui sono assegnati privilegi specifici.
* Ruolo di `Global Administrator` o `Global Reader` nel portale di Azure AD
* `View-Only Audit Logs` nel pannello di controllo di Exchange
* Ambiti `User.Read.All` e `Directory.Read.All`. I titolari del ruolo `Global Reader` dovrebbero avere la possibilità di utilizzare automaticamente questi ambiti.

Per concedere a un account `View-Only Audit Logs` nel pannello di controllo di Exchange:
1. Navigare a https://outlook.office365.com/ecp e accedere come amministratore globale o amministratore di Exchange (l'URL esatto potrebbe differire se ci si trova in un cloud alternativo)
2. Fare clic su `admin roles` nel dashboard, oppure espandere la scheda `roles` a sinistra e fare clic su `admin roles` se si è nella nuova interfaccia utente
3. Creare un nuovo ruolo amministratore facendo clic sul segno `+` oppure facendo clic su `add new role group`
4. Assegnare al ruolo un nome e un ambito di scrittura predefinito
5. Aggiungere l'autorizzazione `View-Only Audit Logs` al ruolo
6. Aggiungere l'utente al ruolo

**Nota** possono essere necessarie fino a un'ora affinché questo ruolo venga applicato

### Running the tool
1. Scaricare questo strumento come ZIP e decomprimerlo, o clonare il repository sul sistema
2. Aprire una finestra di PowerShell
3. Cambiare directory nella posizione di questo modulo `cd C:\percorso\del\modulo`
4. Importare questo modulo `Import-Module .\MandiantAzureADInvestigator.psd1` si dovrebbe ricevere questo output```

      Mandiant Azure AD Investigator
    Focusing on UNC2452 Investigations

PS C:\Users\admin\Desktop\mandiant>
  1. Connettiti ad Azure AD eseguendo Connect-MandiantAzureEnvironment -UserPrincipalName <your username here>. Dovresti ricevere un prompt di login e un output nella finestra di PowerShell che indica che le connessioni sono state stabilite. Nota: Se incontri problemi potresti dover modificare la tua policy di esecuzione eseguendo Set-ExecutionPolicy -ExecutionPolicy RemoteSigned. Ciò potrebbe richiedere privilegi di amministratore.```

The module allows access to all existing remote PowerShell (V1) cmdlets in addition to the 9 new, faster, and more reliable cmdlets.

|--------------------------------------------------------------------------| | Old Cmdlets | New/Reliable/Faster Cmdlets | |--------------------------------------------------------------------------| | Get-CASMailbox | Get-EXOCASMailbox | | Get-Mailbox | Get-EXOMailbox | | Get-MailboxFolderPermission | Get-EXOMailboxFolderPermission | | Get-MailboxFolderStatistics | Get-EXOMailboxFolderStatistics | | Get-MailboxPermission | Get-EXOMailboxPermission | | Get-MailboxStatistics | Get-EXOMailboxStatistics | | Get-MobileDeviceStatistics | Get-EXOMobileDeviceStatistics | | Get-Recipient | Get-EXORecipient | | Get-RecipientPermission | Get-EXORecipientPermission | |--------------------------------------------------------------------------|

To get additional information, run: Get-Help Connect-ExchangeOnline or check https://aka.ms/exops-docs

Send your product improvement suggestions and feedback to [email protected]. For issues related to the module, contact Microsoft support. Don't use the feedback alias for problems or support issues.

Account Environment TenantId TenantDomain


[email protected] AzureCloud xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx test.onm...

root@kitploit:~
5. Esegui tutti i controlli `Invoke-MandiantAllChecks -OutputPath <path\to\output\files>`. Puoi anche eseguire controlli individuali usando il cmdlet specifico.
6. Rivedi l'output sullo schermo e i file CSV scritti.

## Ulteriori Letture

Per ulteriori informazioni da Mandiant riguardo UNC2452, consultare:
* [Attaccante Altamente Elusivo Sfrutta la Catena di Fornitura di SolarWinds per Compromettere Numerose Vittime Globali con Backdoor SUNBURST](https://www.mandiant.com/resources/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor)
* [Strategie di Hardening e Remediation per Microsoft 365 per Difendersi da UNC2452](https://www.mandiant.com/resources/remediation-and-hardening-strategies-for-microsoft-365-to-defend-against-unc2452)

La risposta a UNC2452 è stato uno sforzo significativo in tutta l'industria della sicurezza e questi blog citano ampiamente contributi aggiuntivi che saranno di valore per gli utenti di questo strumento. Raccomandiamo di leggere il materiale collegato da questi post per comprendere al meglio l'attività nel vostro ambiente. Come sempre, il team Mandiant è disponibile per rispondere a domande di follow-up o per ulteriore assistenza su un'indagine [contattandoci qui.](https://www.mandiant.com/report-incident)
Scarica lo strumento