BTR Reforged: transformando o driver de remediação do Defender em primitiva de operação de kernel

Tradução automática do conteúdo disponibilizado no feed de Check Point Research. Original: https://research.checkpoint.com/2026/btr-reforged-weaponizing-defenders-remediation-driver-as-a-kernel-operation-primitive/

Pesquisa de Jiří Vinopal (@vinopaljiri). Resumo: e se um componente de segurança confiável pudesse ser reutilizado como uma primitiva de kernel controlada por um invasor? E se um driver de remediação da Microsoft assinado pudesse ser instruído a executar operações arbitrárias de arquivos e registro a partir do Ring 0, sem exploits, vulnerabilidades ou corrupção de memória? Nesta publicação, apresentamos a primeira engenharia reversa completa do driver Windows Defender Boot-Time Removal (BTR.sys) e de seu formato proprietário de transações. Dissecamos seu mecanismo de configuração criptografada, sua lógica de validação de integridade e seu pipeline de execução, e demonstramos como esse componente legítimo de remediação pode ser transformado em um mecanismo universal de operações de kernel. Apresentamos o BTR_CLI, uma ferramenta de pesquisa que constrói transações criptografadas válidas e exercita com segurança a funcionalidade do driver para demonstrar suas capacidades. Também demonstramos como o BTR_CLI pode ser usado como técnica de bypass de EDR/AV, desarmando soluções de segurança enquanto usa um driver integrado do Windows assinado pela Microsoft, sem depender de técnicas BYOVD tradicionais. A pesquisa revela como uma infraestrutura de segurança confiável pode expor involuntariamente primitivas poderosas e como padrões semelhantes podem existir em outros componentes de remediação assinados.

A pesquisa teve origem durante uma investigação de resposta a incidentes em um sistema comprometido, quando determinada telemetria de endpoint parecia suspeita, mas acabou sendo atribuída a uma atividade legítima de remediação do Windows Defender. Um driver identificado como BTR.sys apareceu em System32\drivers com um nome aleatório e um nome de serviço aleatório correspondente. Os indicadores incluíam um driver com nome aleatório criado antes da reinicialização, uma entrada de serviço temporária, rotinas de criptografia RC4, interação com um Alternate Data Stream chamado :changelist e comportamento de autolimpeza. Esses sinais pareciam indicar carregamento malicioso de kernel, mas a hipótese de uso pelo invasor estava errada: o comportamento era lógica legítima de remediação do Defender.

O driver é incorporado como recurso PE no MpEngine.dll e gravado em disco apenas quando uma ação de remediação exige reinicialização. Ele é um driver de execução única: carrega, executa uma lista de transações, informa o status e solicita imediatamente seu descarregamento. Em vez de uma interface IOCTL padrão, lê um blob de configuração apontado pelo valor Args da chave de serviço. O caminho aponta para um Alternate Data Stream contendo dados binários criptografados com RC4. A chave é fixa e tem 256 bytes. A integridade usa uma variante de CRC-32 modificada, com verificações independentes para cada estrutura.

O payload descriptografado é uma lista serializada de ações. Os IDs identificados incluem: 1, excluir arquivo; 2, excluir diretório; 3, mover ou colocar em quarentena; 4, excluir chave do registro; 5, excluir valor do registro; e 6, definir valor do registro. A ação 3 pode mover arquivos ou, com destino vazio, atuar como exclusão. A ação 6 permite gravação e criação arbitrária no registro e pode ser usada para estabelecer persistência ou desabilitar controles de segurança. O driver retorna STATUS_DELETE_PENDING após execução bem-sucedida para ser descarregado. Ele também cria BootClean.log e o BTR_CLI pode inserir uma ação para removê-lo antes do descarregamento, deixando poucos vestígios forenses.

O estudo descreve ainda a estrutura de transações, cabeçalhos globais e de itens, payloads, CRCs, o valor mágico 0xFEE1DEAD, a versão 0x00000002, o uso de RC4 e os IDs de ação. Para obter uma visão abrangente das versões do BTR.sys, os pesquisadores consultaram repositórios públicos como VirusTotal e Winbindex e identificaram exatamente 12 versões diferentes de 64 bits do MpEngine.dll em versões disponíveis do Windows 10 e Windows 11. …