1 pontos por GN⁺ 2024-09-08 | 1 comentários | Compartilhar no WhatsApp

Introdução

  • Um bug descoberto durante o processo de contornar a verificação de licenças do Windows foi mantido em segredo para preservar métodos futuros de ativação e usado como ferramenta de teste
  • Foi descoberto um método de contorno de DRM chamado "Keyhole", que permite licenciar facilmente apps da Microsoft Store ou edições modernas do Windows
  • Após a divulgação do CVE-2024-38184 pela Cisco TALOS, decidiu-se compartilhar as descobertas sobre o Keyhole

CLiP

  • CLiP (Client Licensing Platform) é um sistema de DRM introduzido no Windows 10 que gerencia os apps da Microsoft Store e a ativação do Windows
  • Principais binários:
    • clipup.exe: converte licenças da loja do Windows 8 em licenças digitais
    • clipsvc.dll: serviço em modo de usuário que gerencia licenças de apps
    • clipc.dll: API que permite que aplicações interajam com o CLiP
    • clipwinrt.dll: API para aplicações UWP
    • clipsp.sys: driver em modo kernel que valida licenças
  • Ao instalar um app licenciado por CLiP, um arquivo XML assinado é enviado para clipsvc.dll e, após a validação, é repassado para clipsp.sys, onde é armazenado no repositório de licenças

Uma pequena brincadeira

  • clipup.exe armazena uma chave ECDSA válida em texto puro, permitindo que qualquer pessoa assine facilmente licenças XML
  • Com essa chave, é possível contornar a validação do ClipSvc e enviar diretamente para o ClipSp qualquer bloco de licença desejado

Desofuscação do ClipSp

  • O ClipSp é um driver mal escrito, com muito código copiado e colado
  • O código está oculto com o Warbird, uma ferramenta de ofuscação da Microsoft
  • Ao desfazer a ofuscação, é possível analisar o código escondido e encontrar bugs

Blocos de licença

  • Blocos de licença armazenam informações importantes de licenciamento e incluem vários blocos de dados no formato TLV (tag-length-value)
  • O bloco de assinatura assina todos os dados, mas dados adicionados após a assinatura não são validados
  • É possível adicionar dados após o bloco de assinatura para sobrescrever dados existentes

Muita brincadeira

  • Ao adicionar dados após o bloco de assinatura, é possível gerar licenças para todos os produtos da Microsoft Store
  • No entanto, licenças vinculadas ao dispositivo só podem ser geradas a partir de licenças de apps também vinculadas ao dispositivo

Tutorial da brincadeira

  • Instale um app vinculado ao dispositivo (por exemplo, Roblox) e intercepte a licença com uma ferramenta de captura de tráfego HTTPS
  • Decodifique o bloco de licença, adicione os dados necessários e empacote tudo em um novo arquivo XML
  • Copie o arquivo XML para a pasta C:\ProgramData\Microsoft\Windows\ClipSVC\Install\Migration e reinicie o ClipSvc ou instale com o comando clipup -p
  • O Windows é ativado permanentemente

Fim da brincadeira

  • A Cisco TALOS relatou o mesmo bug, e a Microsoft aplicou uma correção
  • O bug foi corrigido para não processar dados após o bloco de assinatura

Temporada de doações

  • Foram publicados o código para gerar licenças Keyhole e os binários do CLiP para incentivar a descoberta de mais bugs

E outra história

  • O código do ClipSp foi copiado e colado do sistema de DRM do Xbox One
  • O Xbox SP também tem o mesmo bug de parsing, mas o Keyhole não funciona no Xbox

Créditos

  • Pessoas que contribuíram para a pesquisa: May, asdcorp, echnobas, WitherOrNot, emoose, LukeFZ, KiFilterFiberContext, Phillippe Laulheret, Cisco TALOS, Rairii

Resumo do GN⁺

  • O Keyhole é um poderoso método de contorno de DRM que permite licenciar facilmente apps da Microsoft Store e edições do Windows
  • Ele explora vulnerabilidades de segurança no sistema CLiP para manipular blocos de licença
  • A Microsoft corrigiu o bug após o relatório da Cisco TALOS
  • A estrutura é semelhante à do sistema de DRM do Xbox One
  • Este artigo pode ajudar a entender vulnerabilidades em sistemas de DRM e a reforçar a segurança

1 comentários

 
GN⁺ 2024-09-08
Comentários no Hacker News
  • Agora é possível baixar jogos de Xbox gratuitamente
    • Está completamente hackeado, como o PS Vita
  • Quer uma licença de instalação do app Lego Boost para Windows 10
    • Se já houver uma licença existente, é possível baixar, mas para novos usuários isso não é possível
  • A Microsoft pode reduzir o escopo de aplicação da chave temporária de assinatura de licenças
    • Gerar licenças permanentes provavelmente não vai durar muito
  • Pergunta se é possível ativar a extensão HEVC sem uma conta M$
    • É frustrante não conseguir licenciar as patentes em bloco
  • Quer jogar Guitar Hero sem o disco físico
    • Talvez não seja possível ler o arquivo de salvamento do jogo
    • A chave pública do console está na lista de revogação
    • Dá para resolver reassinando o arquivo CON com o valor padrão 0
  • Tudo isso parece muito familiar
  • Fornece um link para o caso de o antivírus censurar a página
  • Foi descoberto de forma independente quase ao mesmo tempo em que foi reportado à Microsoft
    • Muito suspeito
  • Parece que o Clip é mais antigo que o Xbox One
  • Foi o melhor canal de distribuição e comunicação do Windows por décadas
  • Tem uma leve antipatia pelo massgrave.dev