Em março, a Microsoft corrigiu uma falha de segurança interessante no Outlook que foi explorada por criminosos para vazar as credenciais do Windows das vítimas. Esta semana, a gigante de TI corrigiu essa correção como parte de sua atualização mensal do Patch Tuesday.
Para lembrá-lo do erro original, rastreado como CVE-2023-23397: era possível enviar a alguém um e-mail que incluía um lembrete com um som de notificação personalizado. Esse som personalizado pode ser especificado como um caminho de URL no e-mail.
Si un malhechor elaboró cuidadosamente un correo con esa ruta de sonido establecida en un servidor SMB remoto, cuando Outlook obtuvo y procesó el mensaje y siguió automáticamente la ruta al servidor de archivos, entregaría el hash Net-NTLMv2 del usuario en un intento de iniciar sessão. Isso vazaria efetivamente o hash para uma parte externa, que poderia usar a credencial para acessar outros recursos como aquele usuário, permitindo que o intruso explorasse sistemas de rede internos, roubasse documentos, se passasse por sua vítima, etc.
O patch de alguns meses atrás fez o Outlook usar o recurso do Windows MapUrlToZone para inspecionar para onde um caminho de som de notificação estava realmente apontando e, se estivesse na Internet, iria ignorá-lo e reproduzir o som padrão. Isso deveria ter impedido que o cliente se conectasse a um servidor remoto e vazasse hashes.
Descobriu-se que essa proteção baseada em MapUrlToZone poderia ser ignorada, fazendo com que a Microsoft tivesse que endurecer sua correção de março em maio. O bug original estava sendo explorado na natureza, então, quando o patch apareceu, chamou a atenção de todos. E essa atenção ajudou a revelar que a solução estava incompleta.
E se fosse deixado incompleto, quem estivesse abusando do bug original poderia usar a outra vulnerabilidade para ignorar o patch original. Portanto, para ser claro, não é que a correção para CVE-2023-23397 não funcionou, funcionou, apenas não foi suficiente para fechar totalmente o orifício do arquivo de som personalizado.
“Esta vulnerabilidade é mais um exemplo de análise de patch que leva a novas vulnerabilidades e omissões”. ditado Ben Barnea, da Akamai, que detectou e relatou o desvio de MapUrlToZone.
“Especificamente para esta vulnerabilidade, a adição de um personagem permite que um patch crítico seja contornado.”
Crucialmente, enquanto o primeiro bug estava no Outlook, este segundo problema com MapUrlToZone reside na implementação da Microsoft dessa função na API do Windows. Isso significa que o segundo patch não é para o Outlook, mas para a plataforma subjacente MSHTML no Windows, e todas as versões do sistema operacional são afetadas por esse bug, escreveu Barnea. O problema é que uma rota maliciosa pode ser passada para MapUrlToZone para que a função determine que a rota não é para a Internet externa quando na verdade é quando o aplicativo abre a rota.
De acordo com Barnea, os e-mails podem conter um lembrete que inclui um som de notificação personalizado especificado como um caminho usando uma propriedade MAPI estendida usando PidLidReminderFileParameter.
“Um invasor pode especificar um caminho UNC que faz com que o cliente recupere o arquivo de som de qualquer servidor SMB”, explicou. “Como parte da conexão com o servidor SMB remoto, o hash Net-NTLMv2 é enviado em uma mensagem de handshake.”
Essa falha foi ruim o suficiente para obter uma classificação de gravidade do CVSS de 9,8 em 10 e foi explorada por uma equipe ligada à Rússia por cerca de um ano, quando a correção foi lançada em março. A gangue cibernética o usou em ataques contra organizações em governos europeus, bem como transporte, energia e espaços militares.
Para encontrar um desvio para o patch original da Microsoft, Barnea queria criar uma rota que MapUrlToZone rotularia como local, intranet ou zona confiável, o que significa que o Outlook poderia segui-lo com segurança, mas quando passado para a função CreateFile para abrir, faria que o sistema operacional se conectará a um servidor remoto.
Eventualmente, ele descobriu que os criminosos podiam alterar o URL em mensagens de lembrete, enganando as verificações do MapUrlToZone para ver as rotas remotas como locais. E isso pode ser feito com um único pressionamento de tecla, adicionando um segundo ‘\’ ao caminho da Convenção Universal de Nomenclatura (UNC).
“Um invasor não autenticado na Internet pode usar a vulnerabilidade para forçar um cliente Outlook a se conectar a um servidor controlado pelo invasor”, escreveu Barnea. “Isso resulta no roubo de credenciais NTLM. É uma vulnerabilidade de clique zero, o que significa que pode ser acionada sem interação do usuário”.
Ele acrescentou que o problema parece ser o “resultado de um caminho complexo no Windows… Acreditamos que esse tipo de confusão pode causar vulnerabilidades em outros programas que usam MapUrlToZone em um caminho controlado pelo usuário e então usam um arquivo (como CreateFile ou uma API semelhante) no mesmo caminho”.
O erro, CVE-2023-29324, tem uma pontuação de gravidade CVSS de 6,5. A Microsoft está recomendando organizações arranjo tanto essa vulnerabilidade (um patch foi lançado como parte do Patch Tuesday desta semana) quanto o antigo CVE-2023-23397.
Barnea escreveu que esperava que a Microsoft removesse o recurso de som de lembrete personalizado, dizendo que apresenta mais riscos de segurança do que qualquer valor potencial para os usuários.
“É uma superfície de ataque de varredura de mídia sem clique que pode conter vulnerabilidades críticas de corrupção de memória”, escreveu ele. “Dado o quão onipresente o Windows é, remover uma superfície de ataque tão madura quanto essa pode ter alguns efeitos muito positivos”. ®