Precisa de computação em nuvem? Comece agora mesmo

Vazamento de credenciais NTLM por temas do Windows

Tomer Peled

escrito por

Tomer Peled

March 06, 2024

Tomer Peled

escrito por

Tomer Peled

Tomer Peled é pesquisador de segurança da Akamai. Em seu trabalho diário, ele realiza pesquisas que vão de pesquisas de vulnerabilidade a questões internas do sistema operacional. Em seu tempo livre, ele gosta de cozinhar, de Krav Magá e jogar em seu computador.

O pesquisador de segurança da Akamai, Tomer Peled, descobriu uma vulnerabilidade nos temas da Microsoft. A vulnerabilidade foi atribuída ao CVE-2024-21320 com uma pontuação CVSS de 6,5.
O pesquisador de segurança da Akamai, Tomer Peled, descobriu uma vulnerabilidade nos temas da Microsoft. A vulnerabilidade foi atribuída ao CVE-2024-21320 com uma pontuação CVSS de 6,5.

Comentários editoriais e adicionais por Tricia Howard

Resumo executivo

  • O pesquisador da Akamai sobre segurança, Tomer Peled , descobriu recentemente uma vulnerabilidade de falsificação nos temas da Microsoft, que foi atribuída ao CVE-2024-21320 , com uma pontuação CVSS de 6,5.

  • A vulnerabilidade pode acionar uma coerção de autenticação, ou seja, um ataque no qual uma vítima é coagida a enviar credenciais (geralmente na forma de hashes NTLM sobre SMB) para a máquina de um invasor. O invasor pode posteriormente decifrar as credenciais offline.

  • Para explorar essa vulnerabilidade, o invasor só precisa que a vítima baixe um arquivo de tema para o computador. Quando o usuário exibir o arquivo no Explorer, o navegador enviará automaticamente pacotes de handshake SMB (bloco de mensagens do servidor) que contenham credenciais para o servidor do invasor.

  • Todas as versões do Windows são afetadas, pois os temas são um recurso integrado no sistema operacional Windows. 

  • A Microsoft corrigiu essa vulnerabilidade no Patch Tuesday de janeiro de 2024.

  • Fornecemos um arquivo de tema de prova de conceito (PoC), bem como um vídeo do PoC, e apresentamos várias maneiras de mitigar essa vulnerabilidade.

Introdução

Desde os dias do Windows XP, a Microsoft forneceu várias opções de personalização prévias prontas para uso: cores, fontes e cursores, para citar alguns. Essa personalização é fácil de fazer para os usuários. Eles podem ver os temas instalados simplesmente clicando com o botão direito do mouse na área de trabalho, selecionando "personalizar" e clicando em "Temas". Os arquivos de tema têm o sufixo .theme e podem ser criados usando esta visão geral do MSDN.

Esse recurso aparentemente inócuo pode abrigar algumas vulnerabilidades sérias. Em nossa análise do Patch Tuesday de setembro  de 2023, discutimos brevemente o impacto do CVE-2023-38146, uma vulnerabilidade nos temas. Ao analisar a vulnerabilidade, decidimos "reproduzir" com os valores em um arquivo de tema e descobrimos que há uma falta de validação em determinados parâmetros.

Ao abusar dessa falta de validação, podemos executar um ataque com uma interação efetiva de usuário zero: todos os usuários devem fazer o download de um arquivo de temas mal-intencionados. Depois que o usuário exibir o arquivo no Explorer, a exploração será iniciada.

Documentamos o que você precisa saber sobre essa vulnerabilidade, incluindo mitigações e uma PoC. Continue lendo.

Como funciona

O formato de arquivo tema consiste em vários blocos de parâmetros. Nesta publicação, discutiremos dois parâmetros: o parâmetro BrandImage dentro do bloco [theme] (Figura 1) e o parâmetro Wallpaper (Figura 2) dentro do bloco [Control Panel\Desktop] .

 Nesta publicação, discutiremos dois parâmetros: o parâmetro BrandImage dentro do bloco [theme] (Figura 1) e o parâmetro Wallpaper (Figura 2) dentro do bloco [Control Panel/Desktop]. Fig. 1: O parâmetro BrandImage em um arquivo de tema
 Nesta publicação, discutiremos dois parâmetros: o parâmetro BrandImage dentro do bloco [theme] (Figura 1) e o parâmetro Wallpaper (Figura 2) dentro do bloco [Control Panel/Desktop]. Fig. 2: O parâmetro Wallpaper em um arquivo de tema

Cada arquivo no Windows tem uma miniatura que deve corresponder à sua função. A miniatura pode ser qualquer coisa, desde o logotipo do produto até uma representação de seu uso (como na Calculadora, por exemplo). As miniaturas de arquivos de tema são compostas de três partes: um papel de parede (o quadrado preto), um arquivo MSstyle (o quadrado roxo) e a imagem da marca (a imagem Infection Monkey , na Figura 3).

As miniaturas de arquivos de tema são compostas de três partes: um papel de parede (o quadrado preto), um arquivo MSstyle (o quadrado roxo) e a imagem da marca (a imagem de macaco de infecção, na Figura 3). Fig. 3: A miniatura de um arquivo de tema com seus três componentes

Esses componentes são escritos dentro do arquivo tema em três parâmetros diferentes: BrandImage, Wallpaper e VisualStyle. Todos eles podem ser caminhos remotos que apontam para pontos de extremidade UNC.

Como é explorada

Quando um arquivo de tema é criado ou visualizado, o Windows tenta criar a miniatura certa para ele a partir de seus três componentes. Este processo de criação de miniaturas será iniciado automaticamente dentro do processo do Explorer. A Figura 4 descreve o fluxo de código para a criação de miniaturas de um arquivo de tema.

A Figura 4 descreve o fluxo de código para a criação de miniaturas de um arquivo de tema. Fig. 4: Fluxo de código para criação de miniatura de tema

Como essas ações começam automaticamente, é um ótimo lugar para os invasores procurarem maneiras de manipular o resultado. Uma das maneiras pelas quais os invasores podem fazer isso é alterar o valor de cada um desses três parâmetros para um caminho UNC que aponta para um servidor controlado pelo invasor, na esperança de que a máquina da vítima tente se autenticar em sua máquina.

Descobrimos que o caminho para a imagem pode ser qualquer caminho legítimo, incluindo um caminho UNC. A alteração dos valores de "BrandImage" ou "Wallpaper" produziu uma conexão da máquina da vítima, levando a um ataque de coerção de autenticação. Ou seja, como parte da conexão com o servidor remoto, o cliente realiza uma negociação SMB durante a qual suas credenciais NTLM são enviadas.

As consequências de um vazamento NTLM

Com as credenciais NTLM de uma vítima, um invasor pode executar um ataque de retransmissão NTLM, um ataque em sistemas que aceitam NTLM como credenciais de acesso. Ao retransmitir os hashes NTLM, um invasor pode se autenticar como um usuário legítimo e, assim, obter acesso aos sistemas aos quais, de outra forma, não teria acesso.

Outra opção é fornecer as credenciais NTLM como entrada para uma aplicação de quebra de senha, como John the Ripper, para tentar descobrir a senha da vítima usando força bruta.

Um exemplo da extensão que o impacto pode ter é a famosa vulnerabilidade do Outlook, que foi inicialmente divulgada à Microsoft em março de 2023. Um resultado semelhante foi encontrado e foi ativamente explorado em ambiente real, provando que esse vetor de ataque ainda é relevante e lucrativo para os invasores.

A vulnerabilidade de março permitiu que um invasor enviasse um e-mail para a vítima e acionasse um download de arquivo de áudio. O caminho para esse arquivo de áudio pode apontar para qualquer lugar, inclusive para um servidor remoto (usando um caminho UNC). O pesquisador da Akamai, Ben Barnea , escreveu extensivamente sobre esta vulnerabilidade e sobre como ele encontrou múltiplos desvios ao patch.

O que foi corrigido

Em seu patch, a Microsoft adicionou uma chamada a uma função que verifica se a entrada é um caminho UNC ("PathIsUNC"), e um valor de registro para verificar se os caminhos UNC são permitidos para uso de arquivo de tema (Figura 6). Se o caminho for um caminho UNC e os caminhos UNC não forem permitidos, a miniatura não será carregada. Se forem permitidos, a miniatura será criada com BrandImage e Wallpaper.

O valor "DisableThumbnailOnNetworkFolder" pode ser encontrado no local do registro: "HKCU/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Mitigation". O valor é verificado na função recém-adicionada "IsUNCPathAllowedForThumbnailImage()" dentro da biblioteca themeui.dll.

Em seu patch, a Microsoft adicionou uma chamada a uma função que verifica se a entrada é um caminho UNC ("PathIsUNC") e um valor de registro para verificar se os caminhos UNC são permitidos para uso de arquivo de tema (Figura 6). Fig. 6: Fluxo de código para nova verificação do UNC

Na seção de perguntas frequentes para esta vulnerabilidade, a Microsoft escreveu: "... e então convencer o usuário a manipular o arquivo especialmente criado, mas não necessariamente clicar ou abrir o arquivo mal-intencionado." Isso parece estar incorreto com base em nossa pesquisa.   Como explicamos, não é necessária nenhuma modificação do conteúdo do arquivo; a simples visualização do conteúdo acionará o envio de credenciais.

Mitigação

No Windows 11, é possível bloquear o uso da autenticação NTLM no SMB com máquinas remotas por meio de políticas de grupo. Para isso, os administradores devem editar modelos administrativos > Rede > Estação de trabalho Lanman > Bloquear NTLM.

A Microsoft sugeriu o uso de outra diretiva chamada "restringir NTLM" que ajudará a mitigar essa vulnerabilidade. A política pode ser ativada usando o manual da Microsoft.

Usando a microssegmentação, os administradores de rede podem bloquear o tráfego SMB para locais remotos fora da rede. Geralmente, não se espera que essas conexões ocorram, pois o SMB é usado principalmente para comunicação com controladores de domínio e servidores de arquivos. Veja nossa Publicação do blog sobre microssegmentação para obter mais informações sobre a segmentação do tráfego SMB.

Conclusão

Os ataques de coerção de autenticação são bem conhecidos e amplamente usados pelos invasores para o movimento lateral e preenchimento de credencial. Por exemplo, há alguns anos, o grupo chamado Dragonfly usou arquivos LNK modificados para obter credenciais sobre o SMB. Acionar esse tipo de ataque usando arquivos de tema é um novo vetor surpreendente.

Essa vulnerabilidade enfatiza a importância de um protocolo antiphishing dentro das organizações, pois os invasores podem facilmente enviar um arquivo de aparência benigna que iniciará esse ataque.

Ficamos contentes em ver a Microsoft tentando mitigar esse vetor de ataque com a adição de políticas de grupo relevantes. Recomendamos que os defensores atualizem seus pontos de extremidade com o patch de segurança mais recente.

Cronograma de divulgação

  • 20/09/2023 – Vulnerabilidade divulgada ao MSRC (Microsoft Security Response Center)

  • 01/10/2023 – Mais informações enviadas ao MSRC

  • 18/10/2023 – O MSRC aceitou que isso requer aplicação de patches

  • 09/01/2024 – A Microsoft lança um patch para essas vulnerabilidades

  • 06/03/2024 – Postagem do blog da Akamai publicada



Tomer Peled

escrito por

Tomer Peled

March 06, 2024

Tomer Peled

escrito por

Tomer Peled

Tomer Peled é pesquisador de segurança da Akamai. Em seu trabalho diário, ele realiza pesquisas que vão de pesquisas de vulnerabilidade a questões internas do sistema operacional. Em seu tempo livre, ele gosta de cozinhar, de Krav Magá e jogar em seu computador.