
O problema central reside no facto de o Exchange, por defeito, ter privilégios altos no domínio de Active Directory. Desta forma, um atacante consegue sincronizar as passwords em forma de hash dos utilizadores desse domínio a partir de uma operação normal; daí, é possível impersonificar os utilizadores do mesmo nível e autenticar-se em qualquer serviço, usando a autenticação NTML ou mesmo do Kerberos.
Norma geral, existem três problemas que permitem escalar os privilégios de qualquer utilizador com uma caixa de email:
- Altos privilégios por defeito nos servidores do Exchange
- Autenticação por NTML é vulnerável a ataques de relay
- O Exchange tem uma funcionalidade que permite que o atacante se consiga autenticar a uma conta do computador do servidor de Exchange
Como é que o ataque funciona?
Há duas tools de python aqui chamadas: privexchange.py e ntlmrelayx.py.
É possível transferir a autenticação automática do Windows através da conexão da máquina que esteja na rede à máquina sob o controlo do atacante.
O que o investigador fez para conseguir o atacante autenticar-se no Exchange foi fazer um URL arbitrário e submetê-lo por HTTP no Exchange.
Produtos afetados:
- Exchange 2013 (CU21) no Windows Server 2012 R2,
- Windows Server 2016 DC e Exchange 2016 (CU11) --> já com patch
- Server 2019 DC --> já com patch
Como mitigar?
- Redução dos privilégios no Exchange no objeto de domínio
- Ativar o registo por LDAP e o channel binding, por canal
- Bloquear os servidores de Exchange e evitar que se liguem a portos desconhecidos ou arbitrários
- Ativar a Proteção Estendida - Extended Protection - para a autenticação nos endpoints do Exchange
- Remoção da chave de registo para não permitir o relay
- Reforçar o registo de SMB.
Mais informações: https://community.norton.com/en/forums/microsoft-exchange-0-day-active-directory-exploit