O pesquisador de segurança da Guardicore, Amit Serper, descobriu uma falha grave na Microsoft auto descoberta—O protocolo que permite a configuração automática de uma conta de e-mail apenas com o endereço e a senha necessários. A falha permite que invasores que compram domínios chamados “autodiscover”, por exemplo autodiscover.com ou autodiscover.co.uk, interceptem as credenciais da conta em texto não criptografado de usuários que estão tendo dificuldades com a rede (ou cujos administradores configuraram o DNS incorretamente).
A Guardicore comprou vários desses domínios e os operou como golpes de credencial de prova de conceito de 16 de abril a 25 de agosto deste ano:
- Autodiscover.com.br
- Autodiscover.com.cn
- Autodiscover.com.co
- Autodiscover.es
- Autodiscover.fr
- Autodiscover.in
- Autodiscover.it
- Autodiscover.sg
- Autodiscover.uk
- Autodiscover.xyz
- Autodiscover.online
Um servidor web conectado a esses domínios recebeu centenas de milhares de credenciais de e-mail, muitas das quais também são duplicadas como credenciais de domínio do Windows Active Directory, em texto não criptografado. As credenciais são enviadas de clientes que solicitam o URL. /Autodiscover/autodiscover.xml
, com um cabeçalho de autenticação HTTP Basic que já inclui as credenciais codificadas em Base64 do usuário azarado.
Três falhas principais contribuem para a vulnerabilidade geral: o comportamento de “reversão e escalonamento” do protocolo de descoberta automática quando a autenticação falha, sua falha em validar servidores de descoberta automática antes de entregar as credenciais do usuário e sua disposição para usar mecanismos inseguros. Como HTTP Basic em primeiro lugar. .
Falha na descoberta automática
A verdadeira tarefa do protocolo de descoberta automática é simplificar a configuração da conta; Talvez você possa confiar que um usuário normal lembrará seu endereço de e-mail e senha, mas décadas de computação nos ensinaram que pedir a eles para lembrar e inserir corretamente detalhes como POP3 ou IMAP4, TLS ou SSL, TCP 465 ou TCP 587 e os endereços de os servidores de e-mail reais são várias pontes distantes demais.
O protocolo de descoberta automática permite que usuários normais configurem suas próprias contas de e-mail sem ajuda, armazenando todas as partes não privadas das configurações da conta em servidores publicamente acessíveis. Ao configurar uma conta do Exchange no Outlook, você fornece a ela um endereço de e-mail e uma senha: por exemplo, [email protected]
com senha Hunter2
.
Armado com o endereço de e-mail do usuário, a Descoberta Automática configura a pesquisa de informações de configuração em um documento XML publicado. Ele testará as conexões HTTP e HTTPS para os seguintes URLs. (Observação: contoso
é um microsismo, representando um exemplo de nome de domínio em vez de um domínio específico).
- http (s): //Autodiscover.example.contoso.com/Autodiscover/Autodiscover.xml
- http (s): //example.contoso.com/Autodiscover/Autodiscover.xml
Até aí tudo bem, podemos razoavelmente supor que qualquer pessoa que tem permissão para colocar recursos em example.contoso.com
ou dele Autodiscover
subdomínio foi explicitamente confiável pelo proprietário de example.contoso.com
si mesmo. Infelizmente, se essas tentativas de conexão inicial falharem, a detecção automática voltará e tentará encontrar recursos em um domínio de nível superior.
Nesse caso, a próxima etapa da Descoberta Automática seria pesquisar /Autodiscover/Autodiscover.xml
sobre contoso.com
ele mesmo, bem como Autodiscover.contoso.com
. Se isso falhar, a detecção automática falhará mais uma vez, desta vez enviando informações de e-mail e senha para autodiscover.com
si mesmo.
Isso seria ruim o suficiente se a Microsoft possuísse autodiscover.com
“Mas a realidade é consideravelmente mais turva.” Esse domínio foi originalmente registrado em 2002 e atualmente pertence a uma pessoa ou organização desconhecida que usa o escudo de privacidade WHOIS do GoDaddy.
Resultados do Guardicore
Nos cerca de quatro meses em que o Guardicore executou sua armadilha de credencial de teste, ele coletou 96.671 conjuntos exclusivos de nomes de usuário e senhas de e-mail em texto não criptografado. Essas credenciais vêm de uma ampla gama de organizações: empresas de capital aberto, fabricantes, bancos, empresas de energia e muito mais.
Os usuários afetados não veem erros HTTPS / TLS no Outlook, quando o protocolo de descoberta automática falha de Autodiscover.contoso.com.br
para Autodiscover.com.br
, a proteção fornecida por contoso
a propriedade de seu próprio certificado SSL desaparece. Quem comprou Autodiscover.com.br
—Neste caso, Guardicore— simplesmente fornece seu próprio certificado, que satisfaz os avisos TLS, apesar de não pertencer a contoso
em absoluto.
Em muitos casos, o Outlook ou um cliente semelhante oferecerá as credenciais de seu usuário inicialmente em um formato mais seguro, como NTLM
. Infelizmente, tudo o que é necessário é um HTTP 401 simples do servidor da web solicitando autenticação básica de HTTP em vez disso, após o que o cliente usando a Descoberta Automática obedecerá (geralmente sem erro ou aviso ao usuário) e enviará as credenciais em formato de texto codificado em Base64. totalmente legível pelo servidor da web em resposta à solicitação de autodiscovery.
Conclusões
A verdadeira má notícia aqui é que, do ponto de vista do público em geral, há isto é não há estratégia de mitigação para este bug de detecção automática. Se a infraestrutura de autodiscovery da sua organização está tendo um dia ruim, seu cliente irá “flutuar” conforme descrito, potencialmente expondo suas credenciais. Essa falha ainda não foi corrigida; De acordo com o diretor sênior da Microsoft, Jeff Jones, a Guardicore revelou a falha publicamente antes de informar a Microsoft.
Se você for um administrador de rede, poderá atenuar o problema rejeitando as solicitações de DNS para domínios de descoberta automática; Se todas as solicitações forem bloqueadas para resolver um domínio que começa em “Autodiscover”, o protocolo de descoberta automática não será capaz de filtrar as credenciais. Mesmo assim, você deve ter cuidado: você pode ficar tentado a “bloquear” essas solicitações retornando 127.0.0.1
Mas isso pode permitir que um usuário experiente descubra o e-mail de outra pessoa e / ou as credenciais do Active Directory, se conseguir enganar o alvo para que ele faça login no PC do usuário.
Se você for um desenvolvedor de aplicativos, a solução é mais simples: não implemente primeiro a parte defeituosa da especificação de descoberta automática. Se seu aplicativo nunca tentar autenticar em um domínio “upstream” em primeiro lugar, ele não filtrará as credenciais de seus usuários por meio de detecção automática.
Para mais detalhes técnicos, recomendamos o próprio Guardicore postagem do blog bem como o Autodiscover da Microsoft documentação.
Listagem de imagens por Just_Super via Getty Images