Este post descreve um abuso de sincronização de correspondência rígida no Entra Connect que pode levar à aquisição da conta Entra ID. Essas descobertas se baseiam na pesquisa que a Semperis publicou em agosto, que descreveu o abuso de correspondência suave (também conhecida como correspondência SMTP).
Esta vulnerabilidade SyncJacking significa que um atacante com determinados privilégios pode abusar da sincronização de correspondência difícil no Entra Connect para assumir completamente qualquer conta Entra ID sincronizada - incluindo o Active Global Administrator.
Estas descobertas foram prontamente comunicadas ao Centro de Resposta de Segurança da Microsoft (MSRC), que actualizou as directrizes de reforço para fornecer atenuações mais específicas contra o abuso de correspondência difícil. Embora o MSRC tenha respondido rapidamente e atualizado as directrizes de reforço, outros testes demonstram que o ataque pode ser bem sucedido mesmo após a implementação destas atenuações. Por conseguinte, aconselhamos vivamente a adoção de medidas de atenuação adicionais para combater os abusos e a potencial aquisição de contas Entra ID.
Entra Connect e correspondência rígida
Conforme explicado em "Abuso de correspondência SMTP no Azure AD", o Entra Connect é um aplicativo da Microsoft que oferece suporte à identidade híbrida, sincronizando objetos do AD local com objetos do Entra ID. Os recursos do Entra Connect incluem sincronização de hash de senha, autenticação de passagem, integração de federação (com ADFS) e sincronização (com Entra Connect Sync). A aquisição de conta de ID Entra de correspondência rígida discutida aqui abusa da sincronização de hash de senha e dos recursos gerais de sincronização do Entra Connect.
Para obter integridade entre o ambiente local e os locatários do Entra ID em implementações de identidade híbrida, o Entra Connect combina objetos de usuário entre o AD e o Entra ID. Um atributo de âncora de origem, escolhido durante a configuração e sincronização inicial do Entra Connect, identifica exclusivamente cada um desses objetos de usuário entre o AD e o Entra ID. O Entra Connect utiliza este atributo para fazer corresponder objectos de utilizador entre o Entra ID e o AD utilizando uma de duas técnicas:
- Correspondência difícil
- Correspondência suave (SMTP)
Correspondência difícil
Se deixar o Azure gerir a âncora de origem, a Entra Connect procura um de dois atributos sourceAnchor possíveis:
- Entra Connect versão 1.1.486.0 ou anterior procura o objectoGUID
- A versão 1.1.524.0 ou mais recente do Entra Connect procura o mS-DS-ConsistencyGuid
Se o atributo mS-DS-ConsistencyGuid não estiver preenchido, o Entra Connect grava o objectGUID do usuário nesse atributo. O valor correspondente no objeto Entra ID é ImmutableID (o objectGUID codificado em base64). A Figura 1 mostra um exemplo de correspondência difícil: obter o ImmutableID de um objeto Entra ID a partir do objectGUID do usuário do AD local.
Este mecanismo é o objecto do abuso discutido neste post.
Sincronização de hash de palavra-passe
A sincronização de hash de senha, um método de autenticação que é ativado por padrão em ambientes de identidade híbrida Entra ID, sincroniza o hash de senha do AD local do usuário com o Entra ID a cada dois minutos. Essa sincronização permite o uso da mesma senha para fazer login no AD e na Entra ID. (Para obter uma explicação detalhada da sincronização de hash de senha, consulte "Entendendo a sincronização de hash de senha do Azure AD").
Como é que os atacantes podem utilizar a correspondência difícil para facilitar a aquisição da conta Entra ID
Para efectuar este ataque, um atacante necessita apenas de duas permissões:
- Write-all-Properties ou GenericWrite numa conta do AD local não sincronizada
- Excluir em uma conta sincronizada do AD local
O exemplo a seguir ilustra esse ataque em uma conta com uma atribuição de função de Administrador Global Ativo no Entra ID. Note que este ataque funciona em qualquer conta sincronizada.
Nutshell é um Administrador Global Ativo sincronizado no Entra ID com o UPN nutshell@xd6z7.onmicrosoft.com (Figura 2, Figura 3).
Como o nutshell é um utilizador sincronizado, tem uma presença no ambiente do AD local. O atacante tem permissão Write-All-Properties em uma conta AliceIC do AD local não sincronizada. O atacante também tem a permissão Delete na conta nutshell sincronizada do AD local. Além disso, o atacante tem a palavra-passe da conta AliceIC.
Veja como o invasor pode usar o usuário AliceIC local para seqüestrar a conta do Entra ID em forma de casca de noz.
Em primeiro lugar, o atacante copia o UPN do Entra ID em forma de casca de noz para o atributo userPrincipalName do AD local da AliceIC (Figura 4).
A Figura 5 mostra a população do atributo mS-DS-ConsistencyGuid do nutshell on-prem AD.
Em seguida, o atacante copia o valor do atributo mS-DS-ConsistencyGuid do nutshell para o atributo mS-DS-ConsistencyGuid do AliceIC (Figura 6).
Por fim, o atacante exclui a conta nutshell local e aguarda a sincronização (Figura 7).
Agora, a conta AliceIC on-prem AD é sincronizada com a conta de ID Entra nutshell. Como o Entra Connect usa a sincronização de hash de senha por padrão, a senha AliceIC e o atributo DisplayName também são sincronizados com a conta nutshell Entra ID.
AliceIC agora é um administrador global ativo e está agindo em nome de nutshell (Figura 8). Como mencionado anteriormente, não encontrará qualquer vestígio destas alterações nos registos no local e apenas um vestígio mínimo nos registos do Entra ID.
É importante notar porque é que os atacantes podem explorar este método:
- O uso de correspondência difícil para facilitar a aquisição da conta Entra ID não deixa vestígios nos registos AD locais e apenas vestígios mínimos nos registos Entra ID.
- O ataque requer apenas duas permissões nas contas alvo para assumir completamente o controlo de qualquer conta sincronizada com qualquer função.
- Um atacante que possua permissões relativamente elevadas no AD pode assumir o controlo da Entra ID assumindo o controlo de qualquer conta sincronizada com uma atribuição Ativo/Elegível.
Potenciais abusos
Delegação de utilizadores. Se a um utilizador ou grupo tiver sido delegado controlo para gerir utilizadores em uma ou mais unidades organizacionais (OUs) com utilizadores sincronizados e não sincronizados, então esse utilizador ou grupo tem controlo total sobre estes objectos e pode desviar qualquer um deles - teoricamente até se tornar um Administrador Global.
Operadores de conta. Qualquer utilizador do grupo Account Operators pode gerir todas as contas e tem privilégios de criação de contas. Por conseguinte, qualquer operador de conta pode desviar quaisquer utilizadores sincronizados.
Utilização do Semperis DSP para detetar este tipo de aquisição de conta Entra ID
A Semperis Directory Services Protector (DSP ) recolhe as alterações da Entra ID e os dados AD locais e utiliza-os para detetar tentativas de exploração desta vulnerabilidade. Apesar dos vestígios mínimos deixados pelo ataque, as capacidades específicas do DSPpermitem a deteção.
Outras detecções de abuso de SyncJacking
É possível assumir razoavelmente (embora não definitivamente) que este ataque ocorreu se dois eventos de registo ocorrerem um após o outro no Entra ID: "Alterar palavra-passe do utilizador" seguido de "Atualizar utilizador" com um DisplayName alterado e um alvo que utiliza o mesmo UPN(Figura 9, Figura 10).
Correcção de SyncJacking
O MSRC actualizou as suas orientações de modo a incluir a seguinte recomendação:
Desativar a aquisição de correspondência rígida. O hard match takeover permite que a Entra Connect assuma o controle de um objeto gerenciado na nuvem e altere a fonte de autoridade do objeto para o Active Directory. Uma vez que a fonte de autoridade de um objeto é assumida pela Entra Connect, as alterações feitas no objeto do Active Directory que está vinculado ao objeto Entra ID substituirão os dados originais do Entra ID - incluindo o hash da senha, se a sincronização do hash da senha estiver ativada. Um atacante pode utilizar esta capacidade para assumir o controlo de objectos geridos na nuvem. Para reduzir esse risco, desative a aquisição de correspondência rígida.
Os nossos testes mostram que o SyncJacking funciona mesmo depois de desactivar o hard match takeover. De qualquer forma, é importante aplicar esta directriz de reforço.
O MSRC afirma que é importante ativar a MFA para todos os utilizadores que tenham acesso privilegiado no Entra ID ou no AD. Atualmente, a única forma de atenuar este ataque é aplicar a MFA a todos os utilizadores sincronizados. Essa não é uma maneira infalível de impedir que um invasor acesse sua conta se o SyncJacking for abusado, mas pode ajudar. Certifique-se de que segue todas as directrizes de reforço fornecidas pela Microsoft na ligação anterior para mitigar muitas superfícies de ataque no seu ambiente de identidade híbrida. Para uma proteção ainda maior, considere a implementação do DSP para a Deteção e Resposta a Ameaças de Identidade (ITDR).
Calendário de divulgação
- 6 de Outubro: Semperis descobre os abusos e comunica-os ao MSRC.
- 12 de Outubro: O MSRC responde com directrizes de reforço.
- 18 de Outubro: A Semperis responde ao MSRC com novas informações; o ataque continua a funcionar com as atenuações aplicadas.
- 27 de Outubro: A MSRC reabre o caso para analisar as informações.
- 4 de Novembro: O MSRC actualiza as directrizes de reforço da documentação para mitigar especificamente os abusos de hard matching e observa que o comportamento de hard matching aqui descrito é intencional.
- 7 de Novembro: A Semperis responde ao MSRC; o ataque ainda funciona com a aplicação de directrizes de reforço.
- 11 de Novembro: A MSRC afirma que o comportamento é intencional.
Agradecimentos
Agradecimentos especiais às seguintes pessoas:
- Andrea Pierini (@decoder_it)
- Charlie Clark (@exploitph)
- Sapir Federovsky (@sapirxfed)
Um agradecimento especial ao MSRC por ter reconhecido a exposição e ter respondido rapidamente com orientações actualizadas.