
O Projeto de Teste de Vazamento de HTML do Outlook
Lista de esquemas de URI que podem funcionar no Windows. Esses esquemas/protocolos podem ser úteis em pesquisas semelhantes para encontrar novas vulnerabilidades ou contornar proteções atuais. Outros produtos podem ser afetados de forma semelhante, mas isso não foi pesquisado aqui.
É interessante que abrir este arquivo usando o MS Office demora mais do que o normal, o que pode sugerir que o Excel está fazendo algo com alguns deles. Este é um ótimo sinal para encontrar bugs/recursos!
Lista de tags HTML que podem enviar requisições para outros recursos automaticamente ou por interação do usuário. Este arquivo foi gerado com base nas seguintes fontes:
Enquanto trabalhava em uma avaliação, recebi um e-mail HTML no Outlook 2010 que continha uma tag de imagem semelhante a:
<img src="https://raw.githubusercontent.com/nccgroup/outlookleaktest/master/example.com/test/image.jpg" >
Eu pude ver que o Outlook estava procurando por algo após abrir aquele e-mail e demorou mais do que o normal para abri-lo completamente. Percebi rapidamente que o Outlook na verdade usou a URL como \\example.com\test\image.jpg e enviou a example.com uma requisição SMB.
Embora não carregasse a imagem mesmo quando o caminho SMB fornecido era válido, ele poderia enviar meu hash SMB para um local arbitrário. Esse ataque não funcionou no Outlook 2016, porém me fez iniciar um pequeno projeto de pesquisa testando diferentes tags HTML que aceitam URIs com diferentes esquemas de URI e payloads especiais.
Consegui testar uma lista de esquemas de URI conhecidos com diferentes alvos ao projetar um aplicativo ASP.NET rápido (e sujo) que usava ASPOSE.Email (https://downloads.aspose.com/email/net) e bibliotecas Microsoft Office Interop. Esse aplicativo gera arquivos MSG somente leitura semelhantes aos e-mails recebidos ou enviados no Outlook. O projeto cure53 HTTPLeaks (https://github.com/cure53/HTTPLeaks) com pequenas alterações foi usado como modelo HTML para gerar os e-mails. O código C# sujo, os esquemas de URI, as fórmulas e o modelo HTML usados nesta pesquisa podem ser encontrados neste repositório.
Para reduzir complicações, Wireshark e Process Monitor do Sysinternals Suite foram usados para detectar chamadas remotas e locais ao sistema de arquivos.
O Outlook enviava requisições externas SMB/WebDAV ao abrir um e-mail HTML criado de forma maliciosa. Isso poderia ser abusado para sequestrar o hash SMB da vítima ou para determinar se o destinatário havia visualizado uma mensagem. Esse problema foi explorado usando as configurações padrão do Outlook que bloqueavam o carregamento de recursos externos, como arquivos de imagem. Essas requisições eram enviadas imediatamente após a abertura de um e-mail. Quando a porta SMB estava bloqueada, uma requisição WebDAV na porta 80 era enviada. Para mais detalhes e a correção, consulte https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2018/may/smb-hash-hijacking-and-user-tracking-in-ms-outlook/
Embora o padrão \\ tenha sido bloqueado pelo Outlook, vários outros padrões e esquemas de URI foram encontrados que forçavam o Outlook a enviar requisições para servidores remotos.
A tabela a seguir mostra os vetores identificados:

Os seguintes esquemas de URI também poderiam ser usados para atingir o sistema de arquivos local, o que pode ser útil:

O projeto OutlookLeakTest é protegido por direitos autorais 2018, NCC Group, e licenciado sob a licença Apache (ver LICENSE).