Detectar e corrigir concessões de consentimento ilícito

Dica

Você sabia que pode experimentar os recursos no Microsoft Defender XDR para Office 365 Plano 2 gratuitamente? Use a avaliação de Defender para Office 365 de 90 dias no hub de avaliações do portal Microsoft Defender. Saiba mais sobre quem pode inscrever e testar termos aqui.

Resumo Saiba como reconhecer e corrigir o ataque de concessões de consentimento ilícito no Microsoft 365.

Em um ataque de concessão de consentimento ilícito, o invasor cria um aplicativo registrado no Azure que solicita acesso a dados, como informações de contato, email ou documentos. Em seguida, o invasor engana um usuário final para conceder esse consentimento do aplicativo para acessar seus dados por meio de um ataque de phishing ou injetando código ilícito em um site confiável. Depois que o aplicativo ilícito receber o consentimento, ele terá acesso em nível de conta aos dados sem a necessidade de uma conta organizacional. As etapas normais de correção (por exemplo, redefinir senhas ou exigir a MFA (autenticação multifator)) não são eficazes contra esse tipo de ataque, pois esses aplicativos são externos à organização.

Esses ataques usam um modelo de interação que presume que a entidade que chama as informações seja automação e não humana.

Importante

Você suspeita que está enfrentando problemas com concessões de consentimento ilícitos de um aplicativo, agora? Microsoft Defender para Aplicativos de Nuvem tem ferramentas para detectar, investigar e corrigir seus aplicativos OAuth. Este artigo do Defender para Aplicativos de Nuvem tem um tutorial que descreve como investigar aplicativos OAuth arriscados. Você também pode definir políticas de aplicativo OAuth para investigar permissões solicitadas pelo aplicativo, quais usuários estão autorizando esses aplicativos e aprovar ou proibir amplamente essas solicitações de permissões.

Você precisa pesquisar o log de auditoria para encontrar sinais, também chamados de Indicadores de Comprometimento (COI) desse ataque. Para organizações com muitos aplicativos registrados no Azure e uma grande base de usuários, a melhor prática é examinar as concessões de consentimento de suas organizações semanalmente.

Etapas para encontrar sinais desse ataque

  1. Abra o portal Microsoft Defender em https://security.microsoft.com e selecione Auditoria. Ou para ir direto para a página Auditoria, use https://security.microsoft.com/auditlogsearch.

  2. Na página Auditoria, verifique se a guia Pesquisa está selecionada e configure as seguintes configurações:

    • Intervalo de datas e horas
    • Atividades: verifique se Mostrar resultados para todas as atividades está selecionado.

    Quando terminar, selecione Pesquisa.

  3. Selecione a coluna Atividade para classificar os resultados e procurar Consentimento para o aplicativo.

  4. Selecione uma entrada na lista para ver os detalhes da atividade. Verifique se IsAdminConsent está definido como True.

Observação

Pode levar de 30 minutos até 24 horas para que a entrada de log de auditoria correspondente seja exibida nos resultados da pesquisa após a ocorrência de um evento.

O tempo que um registro de auditoria é mantido e pesquisável no log de auditoria depende da assinatura do Microsoft 365 e, especificamente, do tipo da licença atribuída a um usuário específico. Para obter mais informações, consulte Log de auditoria.

O valor é verdadeiro indica que alguém com acesso ao Administrador Global pode ter concedido amplo acesso aos dados. Se esse valor for inesperado, tome medidas para confirmar um ataque.

Como confirmar um ataque

Se você tiver uma ou mais instâncias dos IOCs listadas anteriormente, você precisará fazer uma investigação adicional para confirmar positivamente que o ataque ocorreu. Você pode usar qualquer um desses três métodos para confirmar o ataque:

  • Aplicativos de inventário e suas permissões usando o centro de administração do Microsoft Entra. Esse método é completo, mas você só pode marcar um usuário por vez que pode ser muito demorado se você tiver muitos usuários para marcar.
  • Aplicativos de inventário e suas permissões usando o PowerShell. Este é o método mais rápido e completo, com a menor quantidade de sobrecarga.
  • Faça com que seus usuários marcar seus aplicativos e permissões individualmente e denuncie os resultados aos administradores para correção.

Aplicativos de inventário com acesso em sua organização

Você tem as seguintes opções para inventário de aplicativos para seus usuários:

  • O centro de administração do Microsoft Entra.
  • PowerShell.
  • Faça com que os usuários enumerem individualmente o próprio acesso ao aplicativo.

Etapas para usar o centro de administração do Microsoft Entra

Você pode pesquisar os aplicativos para os quais qualquer usuário individual concedeu permissões usando o centro de administração do Microsoft Entra:

  1. Abra o centro de administração do Microsoft Entra em https://entra.microsoft.com, e vá paraUsuários> de Identidade> *Todos os usuários. Ou, para ir diretamente para Usuários>Todos os usuários, use https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
  2. Localize e selecione o usuário que você deseja examinar clicando no valor do nome de exibição .
  3. Na página de detalhes do usuário que é aberta, selecione Aplicativos.

Essas etapas mostram os aplicativos atribuídos ao usuário e quais permissões os aplicativos têm.

Etapas para que seus usuários enumerem o acesso ao aplicativo

Faça com que seus usuários acessem e examinem seu próprio acesso ao https://myapps.microsoft.com aplicativo lá. Eles devem ser capazes de ver todos os aplicativos com acesso, exibir detalhes sobre eles (incluindo o escopo de acesso) e poder revogar privilégios para aplicativos suspeitos ou ilícitos.

Etapas no PowerShell

A maneira mais simples de verificar o ataque de Concessão de Consentimento Ilícito é executar Get-AzureADPSPermissions.ps1, que despeja todas as concessões de consentimento OAuth e aplicativos OAuth para todos os usuários em seu aluguel em um arquivo .csv.

Pré-requisitos

  • A Azure AD biblioteca do PowerShell instalada.
  • Permissões de administrador global na organização em que o script é executado.
  • Permissões de administrador local no computador em que você executa os scripts.

Importante

É altamente recomendável que você exija autenticação multifator em sua conta de administrador. Esse script dá suporte à autenticação MFA.

Observação

O Azure AD Powershell está previsto para ser substituído em 30 de março de 2024. Para saber mais, leia a atualização sobre substituição.

Recomendamos migrar para o Microsoft Graph PowerShell para interagir com o Microsoft Entra ID (anteriormente Azure AD). O Microsoft Graph PowerShell permite acesso a todas as APIs do Microsoft Graph e está disponível no PowerShell 7. Para obter respostas para consultas de migração comuns, consulte as perguntas frequentes sobre migração.

  1. Entre no computador em que deseja executar os scripts com direitos de administrador local.

  2. Baixe ou copie o scriptGet-AzureADPSPermissions.ps1 do GitHub para uma pasta fácil de encontrar e lembrar. Essa pasta também é onde você precisa gravar o arquivo de saída "permissions.csv" é gravado.

  3. Abra uma sessão do PowerShell elevada como administrador na pasta em que você salvou o script.

  4. Conecte-se ao diretório usando o cmdlet Connect-MgGraph .

  5. Execute este comando do PowerShell:

    .\Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation
    

O script produz um arquivo chamado Permissions.csv. Siga estas etapas para procurar concessões de permissão de aplicativo ilícitos:

  1. Na coluna ConsentType (coluna G) pesquise o valor "AllPrinciples". A permissão AllPrincipals permite que o aplicativo cliente acesse o conteúdo de todos na locação. Os aplicativos nativos do Microsoft 365 precisam dessa permissão para funcionar corretamente. Todos os aplicativos que não são da Microsoft com essa permissão devem ser revisados cuidadosamente.

  2. Na coluna Permissão (coluna F), examine as permissões que cada aplicativo delegado tem para conteúdo. Procure a permissão "Ler" e "Gravar" ou "Todos" e examine essas permissões cuidadosamente, pois elas podem não ser apropriadas.

  3. Examine os usuários específicos que têm consentimentos concedidos. Se usuários de alto perfil ou de alto valor tiverem consentimentos inadequados concedidos, você deverá investigar mais.

  4. Na coluna ClientDisplayName (coluna C) procure aplicativos que pareçam suspeitos. Aplicativos com nomes mal escritos, nomes super sem graça ou nomes que soam hackers devem ser revisados cuidadosamente.

Determinar o escopo do ataque

Depois de concluir o inventário do acesso ao aplicativo, examine o log de auditoria para determinar o escopo completo da violação. Pesquisa sobre os usuários afetados, os períodos que o aplicativo ilícito teve acesso à sua organização e as permissões que o aplicativo tinha. Você pode pesquisar o log de auditoria no portal Microsoft Defender.

Importante

A auditoria da caixa de correio e a auditoria de atividades para administradores e usuários devem ter sido habilitadas antes do ataque para que você obtenha essas informações.

Depois de identificar o aplicativo com permissões ilícitas, você terá várias maneiras de remover esse acesso:

  • Você pode revogar a permissão do aplicativo no centro de administração do Microsoft Entra fazendo as seguintes etapas:

    1. Abra o centro de administração do Microsoft Entra em https://entra.microsoft.com, e vá paraUsuários> de Identidade> *Todos os usuários. Ou, para ir diretamente para Usuários>Todos os usuários, use https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
    2. Localize e selecione o usuário afetado clicando no valor do nome de exibição .
    3. Na página de detalhes do usuário que é aberta, selecione Aplicativos.
    4. Na página Aplicativos , selecione o aplicativo ilícito clicando no valor Nome .
    5. Na página de detalhes atribuição que é aberta, selecione Remover.
  • Você pode revogar a concessão de consentimento do OAuth com o PowerShell seguindo as etapas em Remove-MgOauth2PermissionGrant

  • Você pode revogar a Atribuição de Função do Aplicativo de Serviço com o PowerShell seguindo as etapas em Remove-MgServicePrincipalAppRoleAssignment.

  • Você pode desabilitar a entrada para a conta afetada, o que desabilita o acesso aos dados na conta pelo aplicativo. Essa ação não é ideal para a produtividade do usuário, mas pode ser uma correção de curto prazo para limitar rapidamente os resultados do ataque.

  • Você pode desativar aplicativos integrados em sua organização. Essa ação é drástica. Embora impeça que os usuários concedam acidentalmente acesso a um aplicativo mal-intencionado, isso também impede que todos os usuários concedam consentimento a qualquer aplicativo. Não recomendamos essa ação porque ela prejudica severamente a produtividade do usuário com aplicativos de terceiros. Você pode desativar aplicativos integrados seguindo as etapas em Ativar ou desativar aplicativos integrados.

Confira também