☁️Azure Entra IDApplicationsPermissionsIdentity

Registros de Aplicativo Azure: Apps com Privilegios Excessivos

Registros de aplicativo com privilegios excessivos e segredos de cliente vazados dao aos atacantes acesso API completo a caixas de entrada, arquivos e recursos Azure.

ES
EtcSec Security Team
10 min read
Registros de Aplicativo Azure: Apps com Privilegios Excessivos

O que Sao os Registros de Aplicativo Azure?

Os registros de aplicativo no Azure Entra ID permitem que aplicativos se autentiquem e acessem o Microsoft Graph, recursos Azure e outras APIs. Acumulam-se ao longo do tempo sem governanca, com segredos de cliente que nunca expiram e permissoes mais amplas do que o necessario.

Comprometer um registro de aplicativo com permissoes elevadas do Microsoft Graph equivale a comprometer uma conta de usuario privilegiada — geralmente com menos sinais de deteccao.


Como Funciona

Os aplicativos se autenticam usando segredos de cliente ou certificados. As permissoes de aplicativo sao as perigosas — um aplicativo com a permissao Mail.ReadWrite pode ler e gravar em todas as caixas de entrada do tenant sem interacao do usuario.


A Cadeia de Ataque

Passo 1 - Enumerar Aplicativos e Permissoes

Connect-MgGraph -Scopes "Application.Read.All"
Get-MgApplication | ForEach-Object {
    $app = $_
    $sp = Get-MgServicePrincipal -Filter "appId eq '$($app.AppId)'"
    $appRoles = Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $sp.Id
    [PSCustomObject]@{
        NomeApp    = $app.DisplayName
        Criado     = $app.CreatedDateTime
        ExpirSegredo = ($app.PasswordCredentials | Sort-Object EndDateTime | Select-Object -Last 1).EndDateTime
        Permissoes = ($appRoles.AppRoleId | ForEach-Object {$_.ToString()}) -join ", "
    }
} | Where-Object {$_.Permissoes -ne ""}

Passo 2 - Extrair ou Forca-Bruta o Segredo de Cliente

Os segredos de cliente frequentemente sao armazenados de forma insegura — em repositorios de codigo, pipelines CI/CD ou maquinas de desenvolvedores. Os atacantes escaneiam o GitHub em busca de credenciais Azure vazadas.

Passo 3 - Autenticar como o Aplicativo e Exfiltrar

import msal, requests
app = msal.ConfidentialClientApplication(
    client_id="APP_CLIENT_ID",
    client_credential="SEGREDO_ROUBADO",
    authority="https://login.microsoftonline.com/TENANT_ID"
)
result = app.acquire_token_for_client(scopes=["https://graph.microsoft.com/.default"])
token = result["access_token"]
r = requests.get("https://graph.microsoft.com/v1.0/users",
    headers={"Authorization": f"Bearer {token}"})

Deteccao

azure.auditlogs.operation_name: "Add password credential to service principal" AND
NOT azure.auditlogs.properties.initiated_by.user.roles: "*Admin*"

Remediacao

💡 Acao Rapida: Identifique todos os aplicativos com permissoes Directory.ReadWrite.All ou Mail.ReadWrite. Cada um e um potencial vetor de comprometimento total do tenant.

1. Remover Aplicativos Nao Utilizados

$cutoff = (Get-Date).AddDays(-90)
Get-MgApplication | Where-Object {$_.CreatedDateTime -lt $cutoff} | ForEach-Object {
    $sp = Get-MgServicePrincipal -Filter "appId eq '$($_.AppId)'"
    $ultimoAcesso = (Get-MgServicePrincipalSignInActivity -ServicePrincipalId $sp.Id).LastSignInDateTime
    if ($ultimoAcesso -lt $cutoff -or $null -eq $ultimoAcesso) {
        [PSCustomObject]@{App=$_.DisplayName; UltimoAcesso=$ultimoAcesso}
    }
}

2. Substituir Segredos por Certificados

$cert = New-SelfSignedCertificate -Subject "CN=NomeApp" -CertStoreLocation "Cert:\CurrentUser\My" `
    -NotAfter (Get-Date).AddYears(2)
$certData = [Convert]::ToBase64String($cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert))
Update-MgApplication -ApplicationId $appId -KeyCredentials @(@{Type="AsymmetricX509Cert"; Usage="Verify"; Key=[Convert]::FromBase64String($certData)})

3. Aplicar Privilegio Minimo

  • Substituir Mail.ReadWrite por Mail.Read se a escrita nao for necessaria
  • Usar permissoes delegadas em vez de permissoes de aplicativo sempre que possivel

Como o EtcSec Detecta Isso

A categoria Applications verifica: aplicativos com permissoes de aplicativo muito amplas, segredos expirados ou prestes a expirar, sem atividade de login recente, e consentimento de administrador a permissoes sensiveis sem revisao.

ℹ️ Nota: O EtcSec audita todos os registros de aplicativo Azure automaticamente. Execute uma auditoria gratuita.

Leituras Relacionadas

Este tema fica mais claro quando voce o compara com Fortalecimento do Tenant Azure: Corrigindo as Configuracoes Padrao Nao Seguras, Acesso Privilegiado Azure: Por que Muitos Admins Globais E um Risco Critico e Brechas no Acesso Condicional Azure: Como os Atacantes Contornam o MFA. Esses artigos cobrem os caminhos adjacentes, as hipoteses de privilegio e as falhas de controle que costumam aparecer juntas em uma avaliacao real.

Essa revisao cruzada ajuda a verificar se voce esta corrigindo uma falha isolada ou uma cadeia inteira de exposicao em identidade.

Matriz de Revisao de App Registrations

AreaRisco comumValidacao imediata
PermissoesScopes e roles excessivosRevisar permissoes altas e admin consent
CredenciaisSecrets antigos ou compartilhadosRotacionar segredos e limitar validade
OwnersApps sem responsavel claroDefinir owners tecnicos e de negocio
DeteccaoPouco monitoramento de mudancasAuditar consentimentos, owners e credenciais

Prioridades de Revisao

Registros de Aplicativo Azure: Apps com Privilegios Excessivos deve ser tratado como uma exposicao real dentro de seu tenant Entra ID e Azure, e nao como uma configuracao isolada. O primeiro passo e definir o perimetro de revisao: quais admins, convidados, service principals, app registrations, exclusoes de politica e contas break-glass estao envolvidos, que dependencias de negocio existem, que privilegios ficam expostos e que excecoes de emergencia se acumularam com o tempo. Esse trabalho evita uma remediacao superficial, porque o sintoma tecnico costuma ser menor que o raio operacional de impacto. Quando o time documenta o caminho completo entre configuracao, privilegio e uso real, consegue priorizar mudancas que reduzem risco sem quebrar acessos legitimos nem travar a operacao.

Controles Adjacentes a Revisar

Quando um atacante entra em seu tenant Entra ID e Azure, quase nunca para no primeiro ponto fraco. Em torno de Registros de Aplicativo Azure: Apps com Privilegios Excessivos, ele normalmente tenta encadear o acesso com auth legada, governanca fraca de convidados, consentimentos amplos, contas de emergencia obsoletas e roles nunca revisadas. Por isso a defesa precisa revisar nao apenas a fraqueza principal, mas tambem cada dependencia vizinha que possa transformar acesso inicial em persistencia ou escalada. E preciso deixar claro quais identidades, roles, permissoes e suposicoes de confianca ainda podem ser reutilizadas. Se a correcao fecha um objeto, mas deixa caminhos adjacentes abertos, o risco real pouco muda. Uma boa analise de encadeamento e o que transforma este tema em hardening de verdade.

Evidencias e telemetria a revisar

Uma resposta madura para Registros de Aplicativo Azure: Apps com Privilegios Excessivos depende de evidencias que engenharia e deteccao possam revisar juntas. Colete logs de sign-in, logs de auditoria, mudancas de role, eventos de consentimento, mudancas de credenciais e sinais de risco, compare mudancas recentes com janelas de manutencao esperadas e isole contas ou objetos cujo comportamento nao tenha justificativa clara de negocio. Essas evidencias devem responder a tres perguntas: quando a exposicao apareceu, quem ainda consegue usá-la e se existem variantes parecidas em outra parte de seu tenant Entra ID e Azure. Revisar telemetria tambem ajuda a separar divida tecnica antiga de abuso ativo ou de controles afrouxados recentemente. Essa distincao muda a prioridade, a comunicacao e a ordem correta da remediacao.

Fraquezas vizinhas que merecem revisao

Poucos ambientes contem Registros de Aplicativo Azure: Apps com Privilegios Excessivos de forma isolada. Na pratica, a mesma zona do tenant ou do diretorio costuma trazer tambem auth legada, governanca fraca de convidados, consentimentos amplos, contas de emergencia obsoletas e roles nunca revisadas, e sao essas fraquezas vizinhas que definem se a exposicao fica apenas feia ou se vira um caminho critico. Revise owners compartilhados, permissoes herdadas, excecoes duplicadas e atalhos administrativos que nunca foram removidos. Se o mesmo padrao de risco aparece em varios objetos, normalmente existe um problema de processo e nao apenas um erro tecnico. Essa visao mais ampla aumenta a chance de eliminar o caminho inteiro, e nao apenas uma peca visivel dele.

Ordem de remediacao que reduz risco rapido

Para Registros de Aplicativo Azure: Apps com Privilegios Excessivos, a remediacao deve seguir uma ordem que derrube risco antes de buscar perfeicao. Primeiro feche os caminhos com maior valor de escalada, depois proteja as identidades ou objetos mais sensiveis e so entao limpe os gaps secundarios de hygiene. Use Conditional Access, PIM, least privilege, access reviews, validacao de owners de apps, fluxos de aprovacao e MFA forte como conjunto de controles alvo. Cada mudanca precisa ter owner, nota de rollback e validacao clara. Essa disciplina evita que o programa morra depois do primeiro ganho tecnico. Se uma reformulacao completa nao e viavel agora, documente controles intermediarios e planeje o trabalho estrutural para o proximo revisao operacional semanal e revisao mensal de hardening.

Validacao depois de cada mudanca

Depois de qualquer ajuste relacionado a Registros de Aplicativo Azure: Apps com Privilegios Excessivos, valide o resultado sob a visao do administrador legitimo e sob a visao do caminho de ataque. Confirme que usuarios e sistemas previstos continuam funcionando e prove ao mesmo tempo que o caminho perigoso nao entrega mais a mesma alavanca. Recolha de novo logs de sign-in, logs de auditoria, mudancas de role, eventos de consentimento, mudancas de credenciais e sinais de risco, revise aprovacoes e confira se nenhum objeto vizinho preserva uma rota alternativa. A validacao tambem deve incluir criterios de sucesso escritos. Em times maduros, um fix so e aceito quando o caminho de risco desaparece, o servico permanece operacional e o estado final coincide com o objetivo de hardening.

Ownership, escalacao e governanca

Assuntos como Registros de Aplicativo Azure: Apps com Privilegios Excessivos falham quando o sintoma tecnico some, mas ninguem possui o controle de longo prazo. Distribua responsabilidades claras entre engenharia de identidade, seguranca cloud, donos de IAM e times de aplicacao, defina quem aprova excecoes e decida qual time precisa autorizar a reintroducao de um objeto arriscado. Essa governanca nao e burocracia vazia. Ela evita que uma migracao, uma urgencia ou uma integracao de terceiros reabra o mesmo caminho algumas semanas depois. Documente as decisoes que permitiram a fraqueza e atualize o processo ao redor, para que o proximo pedido seja avaliado contra a nova baseline e nao contra um atalho antigo.

Perguntas uteis durante a revisao

Durante uma revisao de Registros de Aplicativo Azure: Apps com Privilegios Excessivos, perguntas praticas valem mais que frases genericas. Quais objetos ainda possuem mais privilegios que o necessario? Que excecao sobrevive so porque ninguem a revisou depois do fim de um projeto? Que time perceberia um abuso primeiro e com quais evidencias? Que dependencia de negocio bloqueia a remediacao hoje e que controle compensatorio existe ate la? Perguntas desse tipo revelam ambiguidade operacional que o inventario tecnico nao mostra. Elas tambem obrigam a conectar desenho de identidade, qualidade de logs, ownership e change management na mesma conversa.

O que monitorar de forma continua

Uma limpeza pontual em torno de Registros de Aplicativo Azure: Apps com Privilegios Excessivos so produz menos exposicao em todo o tenant, menos privilegios permanentes e fronteiras de acesso mais defensaveis se o monitoramento virar rotina. Estabeleca verificacoes recorrentes baseadas em logs de sign-in, logs de auditoria, mudancas de role, eventos de consentimento, mudancas de credenciais e sinais de risco, reveja os objetos mais sensiveis no proximo revisao operacional semanal e revisao mensal de hardening e trate drift como trataria um incidente. O objetivo nao e gerar mais ruido, mas reconhecer mudancas relevantes: novos privilegios, controles relaxados, contas reativadas, exclusoes ampliadas ou ownership alterado sem transicao clara. Quando esses sinais sao revistos de forma consistente, o ambiente fica ao mesmo tempo mais seguro e mais facil de explicar para auditoria, lideranca e times tecnicos.

Leituras Relacionadas

Vale a pena revisar este tema junto com Fortalecimento Tenant Azure: Security Defaults, Acesso Privilegiado Azure: Riscos sem PIM, Acesso Condicional Azure: Riscos de Bypass MFA, Contas de Convidado Azure: Riscos do Tenant e Azure Identity Protection: Politicas de Risco. Esses artigos mostram como as mesmas fraquezas de identidade e permissoes costumam se encadear em uma avaliacao real.

Essas referencias internas ajudam a avaliar o caminho de risco completo e nao apenas um achado isolado.

Seguranca Registros de Aplicativo Azure | EtcSec