Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Mandiant-Azure-AD-Investigator — Módulo PowerShell somente leitura para detectar artefatos do UNC2452 e de outros atores de ameaças no Azure AD, auditar domínios federados, diretores de serviço, aplicativos e permissões de caixa de correio em busca de indicadores de comprometimento. | Kitploit
Ferramentas/GitHubGitHub/mandiant/mandiant-azure-ad-investigator
Forensia DigitalSegurança na NuvemInteligência de AmeaçasGerenciamento de Identidade e Acesso (IAM)Configuração IncorretaResposta a IncidentesAnálise de LogsArchived

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
GitHub
mandiant/mandiant-azure-ad-investigator

Mandiant-Azure-AD-Investigator

Módulo PowerShell somente leitura para detectar artefatos do UNC2452 e de outros atores de ameaças no Azure AD, auditar domínios federados, diretores de serviço, aplicativos e permissões de caixa de correio em busca de indicadores de comprometimento.

Ver Repositório
650917há 3 anosRevisado pelo Kitploit
Compartilhar

Mandiant Azure AD Investigator

Focando nas TTPs do UNC2452

Visão Geral

Este repositório contém um módulo PowerShell para detectar artefatos que podem ser indicadores de atividade do UNC2452 e de outros atores de ameaças. Alguns indicadores são indicadores de comprometimento de "alta fidelidade", enquanto outros artefatos são os chamados artefatos de "uso duplo". Artefatos de uso duplo podem estar relacionados à atividade de atores de ameaças, mas também podem estar relacionados a funcionalidades legítimas. Serão necessárias análise e verificação para esses casos. Para uma descrição detalhada das técnicas usadas pelo UNC2452, veja nosso blog.

Esta ferramenta é somente leitura. Ela não faz nenhuma alteração no ambiente Microsoft 365.

Em resumo, este módulo irá:

  • Fazer o melhor esforço para identificar indicadores de comprometimento que exigirão verificação e análise adicionais

Ele não irá:

  • Identificar um comprometimento 100% das vezes, ou
  • Informar se um artefato é atividade administrativa legítima ou atividade de ator de ameaças.

Com o feedback da comunidade, a ferramenta pode se tornar mais completa na detecção de IOCs. Por favor, abra uma issue, envie um PR, ou entre em contato com os autores se tiver problemas, ideias ou feedback.

Funcionalidades

Domínios Federados (Invoke-MandiantAuditAzureADDomains)

Este módulo usa o MS Online PowerShell para procurar e auditar domínios federados no Azure AD. Todos os domínios federados serão exportados para o arquivo federated domains.csv.

  • Período de Validade Incomum do Certificado de Assinatura - Alerta sobre um domínio federado onde os certificados de assinatura têm um período de validade superior a 1 ano. Os certificados gerenciados pelo AD FS são válidos por apenas um ano. Períodos de validade maiores que um ano podem ser uma indicação de que um ator de ameaça adulterou as configurações de federação do domínio. Eles também podem ser indicativos do uso de um certificado de assinatura de token personalizado legítimo. Peça aos seus administradores que verifiquem se este é o caso.
  • Incompatibilidade de Certificado de Assinatura - Alerta sobre domínios federados onde o emissor ou o assunto dos certificados de assinatura não correspondem. Na maioria dos casos, os certificados de assinatura de token serão sempre do mesmo emissor e terão o mesmo assunto. Se houver incompatibilidade, pode ser uma indicação de que um ator de ameaça adulterou as configurações de federação do domínio. Peça aos seus administradores que verifiquem se os nomes do emissor e do assunto são esperados e, se não forem, considere realizar uma investigação forense para determinar como as alterações foram feitas e identificar outras evidências de comprometimento.
  • Backdoor do Azure AD (any.sts) - Alerta sobre domínios federados configurados com any.sts como URI do Emissor. Isso é indicativo do uso da ferramenta Backdoor do Azure AD. Considere realizar uma investigação forense para determinar como as alterações foram feitas e identificar outras evidências de comprometimento.
  • Domínios Federados - Lista todos os domínios federados e o URI do emissor do token. Verifique se o domínio deve ser federado e se o URI do emissor é o esperado.
  • Domínios Não Verificados - Lista todos os domínios não verificados no Azure AD. Domínios não verificados não devem ser mantidos no Azure AD por muito tempo em estado não verificado. Considere removê-los.

Exemplos```

!! 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: O script identificou um domínio que foi federado com um URI de emissor que é um indicador de um [Azure AD Backdoor](https://github.com/Gerenios/AADInternals/blob/master/FederatedIdentityTools.ps1). O backdoor define o URI do emissor para hxxp://any.sts por padrão. Considere realizar uma investigação forense para determinar como as alterações foram feitas e identificar qualquer outra evidência de comprometimento.```
!! 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

⚠️ O script identificou um domínio federado com um certificado de assinatura de token válido por mais de 365 dias, o que foge ao padrão. Consulte os seus administradores para verificar se o certificado de assinatura de token é gerenciado manualmente e se é esperado que tenha o período de validade informado. Considere realizar uma investigação forense se isso não for o esperado.

Service Principals (Invoke-MandiantAuditAzureADServicePrincipals)

Este módulo utiliza o Azure AD PowerShell para pesquisar e auditar os Service Principals no Azure AD.

  • Service Principals de primeira parte com credenciais adicionadas - Service Principals de primeira parte (publicados pela Microsoft) não devem ter credenciais adicionadas, exceto em circunstâncias raras. Ambientes que estão ou estiveram anteriormente em modo híbrido podem ter credenciais adicionadas aos Service Principals do Exchange Online, Skype for Business e AAD Password Protection Proxy. Verifique se a credencial do Service Principal faz parte de um caso de uso legítimo. Considere realizar uma investigação forense se a credencial não for legítima.
  • Service Principals com privilégios de alto nível e credenciais adicionadas - Identifica os Service Principals que possuem permissões de API de alto risco atribuídas e credenciais adicionadas. Embora o Service Principal e as permissões adicionadas sejam provavelmente legítimos, as credenciais adicionadas podem não ser. Verifique se as credenciais do Service Principal fazem parte de um caso de uso legítimo. Verifique se o Service Principal precisa das permissões listadas.

Examples```

!! 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: O script identificou um Service Principal (Microsoft) de primeira parte com credenciais adicionadas. Service Principals de primeira parte *não* devem ter credenciais adicionadas, exceto em casos raros. Ambientes que estão ou estiveram anteriormente em modo híbrido podem ter credenciais adicionadas a Service Principals do Exchange Online, Skype for Business e AAD Password Protection Proxy. Isto também pode ser um artefato da atividade do UNC2452 no seu ambiente. Consulte os seus administradores e pesquise nos registos de auditoria para verificar se a credencial é legítima. Também pode utilizar o separador "Service Principal Sign-Ins" na lâmina "Inícios de Sessão do Azure AD" para pesquisar autenticações no seu inquilino que utilizam este 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

⚠️ O script identificou um Service Principal com permissões de API de alto risco e adicionou credenciais. Isso pode ser esperado, já que alguns aplicativos de terceiros ou desenvolvidos sob medida precisam de credenciais adicionadas para funcionar. Isso também pode ser um artefato da atividade do UNC2452 no seu ambiente. Consulte seus administradores e pesquise nos logs de auditoria para verificar se a credencial é legítima. Você também pode usar a guia "Service Principal Sign-Ins" na lâmina de Logins do Azure AD para pesquisar autenticações no seu locatário usando este Service Principal.

Aplicações (Invoke-MandiantAuditAzureADApplications)

Este módulo usa o Azure AD PowerShell para procurar e auditar Aplicações no Azure AD.

  • Aplicações com privilégios de alto nível e credenciais adicionadas - Alerta sobre Aplicações que possuem permissões de API de alto risco e credenciais adicionadas. Embora as Aplicações e as permissões adicionadas sejam provavelmente legítimas, as credenciais adicionadas podem não ser. Verifique se as credenciais da Aplicação fazem parte de um caso de uso legítimo. Verifique se as Aplicações precisam das permissões listadas.

Exemplo```

!! 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: O script identificou um Aplicativo com permissões de API de alto risco e credenciais adicionadas. Isso pode ser esperado, pois alguns aplicativos de terceiros ou personalizados exigem credenciais adicionadas para funcionar. Isso também pode ser um artefato da atividade da UNC2452 em seu ambiente. Consulte seus administradores e pesquise os logs de auditoria para verificar se a credencial é legítima.

### Programa de Provedor de Soluções na Nuvem (Invoke-MandiantGetCSPInformation)

Este módulo verifica se o locatário é gerenciado por um CSP, ou parceiro, e se a administração delegada está ativada. A administração delegada permite que o CSP acesse um locatário do cliente com os mesmos privilégios de um Administrador Global. Embora o programa CSP imponha controles de segurança rigorosos no locatário do parceiro, um ator de ameaça que comprometa o CSP pode conseguir acessar os ambientes do cliente. As organizações devem verificar se seu parceiro precisa de privilégios de administrador delegado e removê-los se não for o caso. Se o parceiro precisar manter o acesso de administrador delegado, considere implementar Políticas de Acesso Condicional para restringir seu acesso.

As organizações podem verificar e gerenciar relacionamentos de parceiros navegando até o [Centro de Administração](https://admin.microsoft.com) e indo para `Configurações` -> `Relacionamentos com Parceiros` na barra de menu esquerda.

### Permissões de Pastas de Caixa de Correio (Get-MandiantMailboxFolderPermissions)

Este módulo audita todas as caixas de correio no locatário para verificar a existência de permissões suspeitas de pastas. Especificamente, este módulo examinará as pastas "Topo do Armazenamento de Informações" e "Caixa de Entrada" em cada caixa de correio e verificará as permissões atribuídas aos usuários "Padrão" e "Anônimo". Qualquer valor diferente de "Nenhum" resultará na sinalização da caixa de correio para análise. Em geral, os usuários Padrão e Anônimo não devem ter permissões nas caixas de entrada dos usuários, pois isso permitiria que qualquer usuário lesse seu conteúdo. Algumas organizações podem encontrar caixas de correio compartilhadas com essa permissão, mas não é uma prática recomendada.

### Personificação de Aplicativo (Get-MandiantApplicationImpersonationHolders)

Este módulo gera a lista de usuários e grupos que possuem a função ApplicationImpersonation. Qualquer usuário ou membro de um grupo na saída deste comando pode usar a personificação para "atuar como" e acessar a caixa de correio de qualquer outro usuário no locatário. As organizações devem auditar a saída deste comando para garantir que apenas usuários e grupos esperados estejam incluídos e, sempre que possível, restringir ainda mais o escopo.

### Auditoria Purview (Anteriormente Auditoria Avançada) (Invoke-MandiantCheckAuditing)

Este módulo enumerará todos os usuários licenciados no locatário que possuem licença para o Purview Audit Mail Items Accessed. Ele gerará um relatório CSV documentando se o recurso foi ativado em uma caixa de correio elegível. As organizações devem filtrar as caixas de correio que são elegíveis para Mail Items Accessed mas têm o recurso desativado e verificar se isso é intencional.

### Log de Auditoria Unificado (Get-MandiantUnc2452AuditLogs)

Este módulo é um script auxiliar para pesquisar o Log de Auditoria Unificado. Pesquisar o Log de Auditoria Unificado tem muitas ressalvas técnicas que podem ser fáceis de ignorar. Este módulo pode ajudar a simplificar o processo de pesquisa implementando as melhores práticas para navegar por essas ressalvas e lidar com alguns erros comuns.

Por padrão, o módulo pesquisará entradas de log que podem registrar técnicas da UNC2452. Os registros de log também podem capturar atividade legítima de administradores e precisarão ser verificados.

* **Atualizar Aplicativo** - Registra ações realizadas para atualizar Registros de Aplicativo.
* **Definir Autenticação de Domínio** - Registra quando as configurações de autenticação para um domínio são alteradas, incluindo a criação de objetos de realm de federação. Esses eventos devem ocorrer raramente em um ambiente e podem indicar que um ator de ameaça está configurando um backdoor do AAD.
* **Definir Configurações de Federação** - Registra quando o objeto de realm de federação de um domínio é modificado. Esses eventos devem ocorrer raramente em um ambiente e podem indicar que um ator de ameaça está se preparando para executar um ataque Golden SAML.
* **Atualizar Certificados e Segredos do Aplicativo** - Registra quando um segredo ou certificado é adicionado a um Registro de Aplicativo.
* **Logins de Caixa de Correio via PowerShell** - Registra operações de Login de Caixa de Correio onde o aplicativo cliente era o PowerShell.
* **Atualizar Principal de Serviço** - Registra quando atualizações são feitas em um Principal de Serviço existente.
* **Adicionar Credenciais do Principal de Serviço** - Registra quando um segredo ou certificado é adicionado a um Principal de Serviço.
* **Adicionar Atribuição de Função de Aplicativo** - Registra quando uma Função de Aplicativo (Permissão de Aplicativo) é adicionada.
* **Atribuição de Função de Aplicativo para Usuário** - Registra quando uma Função de Aplicativo é atribuída a um usuário.
* **Autenticação via PowerShell** - Registra quando um usuário se autentica no Azure AD usando um cliente PowerShell.
* **Novas Atribuições de Função de Gerenciamento** - Registra quando novas atribuições de função de gerenciamento são criadas. Isso pode ser útil para identificar novas concessões de ApplicationImpersonation.

## Uso

### Módulos Necessários

O módulo do PowerShell requer a instalação de três módulos do PowerShell do Microsoft 365.
* AzureAD
* MSOnline
* ExchangeOnlineManagement
* Microsoft.Graph

Para instalar os módulos:
1. Abra uma janela do PowerShell como administrador local (clique com o botão direito e selecione Executar como Administrador)
2. Execute o comando `Install-Module <NOME DO MÓDULO AQUI>` e siga as instruções

### Permissões de Usuário Necessárias
O módulo do PowerShell deve ser executado com uma conta do Microsoft 365 com privilégios específicos atribuídos.
* Função `Administrador Global` ou `Leitor Global` no portal do Azure AD
* `Logs de Auditoria Somente para Visualização` no Painel de Controle do Exchange
* Escopos `User.Read.All` e `Directory.Read.All`. Os titulares da função `Leitor Global` devem conseguir usar esses escopos automaticamente.

Para conceder a uma conta `Logs de Auditoria Somente para Visualização` no Painel de Controle do Exchange:
1. Navegue até https://outlook.office365.com/ecp e faça login como administrador global ou administrador do Exchange (a URL exata pode diferir se você estiver em uma nuvem alternativa)
2. Clique em `funções de administrador` no painel, ou expanda a guia `funções` à esquerda e clique em `funções de administrador` se estiver na nova interface
3. Crie uma nova função de administrador clicando no sinal `+` ou clicando em `adicionar novo grupo de funções`
4. Dê um nome à sua função e escopo de gravação padrão
5. Adicione a permissão `Logs de Auditoria Somente para Visualização` à função
6. Adicione o usuário à função

**Observação** pode levar até uma hora para que essa função seja aplicada

### Executando a ferramenta
1. Baixe esta ferramenta como um ZIP e descompacte-a, ou clone o repositório em seu sistema
2. Abra uma janela do PowerShell
3. Altere os diretórios para o local deste módulo `cd C:\caminho\para\o\módulo`
4. Importe este módulo `Import-Module .\MandiantAzureADInvestigator.psd1` você deve receber esta saída```

      Mandiant Azure AD Investigator
    Focusing on UNC2452 Investigations

PS C:\Users\admin\Desktop\mandiant>
  1. Conecte-se ao Azure AD executando Connect-MandiantAzureEnvironment -UserPrincipalName <your username here>. Você deve receber um prompt de login e uma saída na janela do PowerShell indicando que as conexões foram estabelecidas. Nota: Se você encontrar problemas, talvez seja necessário alterar sua política de execução executando Set-ExecutionPolicy -ExecutionPolicy RemoteSigned. Isso pode exigir privilégios de administrador.```

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. Execute todas as verificações `Invoke-MandiantAllChecks -OutputPath <caminho\para\arquivos\de\saída>`. Você também pode executar verificações individuais usando o cmdlet específico.
6. Revise a saída na tela e os arquivos CSV escritos.

## Leitura Adicional

Para informações adicionais da Mandiant sobre UNC2452, consulte:
* [Atacante Altamente Evasivo Aproveita a Cadeia de Suprimentos da SolarWinds para Comprometer Múltiplas Vítimas Globais com o Backdoor SUNBURST](https://www.mandiant.com/resources/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor)
* [Estratégias de Remediação e Fortalecimento para Microsoft 365 para se Defender Contra UNC2452](https://www.mandiant.com/resources/remediation-and-hardening-strategies-for-microsoft-365-to-defend-against-unc2452)

A resposta à UNC2452 tem sido um esforço significativo em toda a indústria de segurança e esses blogs citam extensivamente contribuições adicionais que serão de valor para os usuários desta ferramenta. Recomendamos a leitura do material vinculado a partir desses posts para entender melhor a atividade em seu ambiente. Como sempre, a equipe Mandiant está disponível para responder a perguntas de acompanhamento ou auxiliar ainda mais em uma investigação [entrando em contato conosco aqui.](https://www.mandiant.com/report-incident)
Baixar ferramenta