Evasão do isolamento do Automatic Attack Disruption do Microsoft Defender

Nota esclarecedora

A PRIDE Security não oferece nenhuma garantia às informações contidas neste documento e não assume responsabilidade por quaisquer erros que também possam estar presentes. Em nenhum caso a PRIDE Security ou qualquer um dos seus parceiros serão responsáveis por danos decorrentes do uso das informações aqui descritas. A PRIDE Security se reserva o direito de alterar ou atualizar este conteúdo sem aviso prévio a qualquer momento.

Resumo

A PRIDE Security é frequentemente contratada para simular ataques e analisar vetores de evasão a partir de dispositivos do cliente, sob uma perspectiva de segurança ofensiva. Um pedido comum dos clientes é a validação de formas de evadir o mecanismo denominado Automatic Attack Disruption, do Microsoft Defender. Ao longo desses projetos, identificamos vários mecanismos para neutralizar o isolamento de rede aplicado por esse recurso, e vamos compartilhar uma técnica simples que funciona em todos os ambientes testados até o momento. A evasão do bloqueio é realizada por meio da alteração do nome da chave de registro na qual o Base Filtering Engine (BFE) armazena os filtros persistentes do Windows Filtering Platform (WFP).

Item Detalhe
Produto afetado Microsoft Defender for Endpoint / Microsoft Defender XDR (Automatic Attack Disruption)
Componente abusado Chave HKLM\SYSTEM\CurrentControlSet\Services\BFE\Parameters\Policy\Persistent
Pré-requisito Privilégio de administrador local na máquina
Ação necessária Renomear a chave e reinicializar o sistema operacional
Impacto Retorno da comunicação de rede de um host comprometido, sem remoção explícita de filtros WFP
MITRE ATT&CK T1562.004 (Impair Defenses: Disable or Modify System Firewall), T1112 (Modify Registry), T1529 (System Shutdown/Reboot)

Automatic Attack Disruption

O Automatic Attack Disruption é um recurso do Microsoft Defender XDR que correlaciona telemetria de múltiplas fontes para identificar ataques em andamento e conter automaticamente os hosts comprometidos, limitando a movimentação lateral e reduzindo o impacto do incidente. Segundo a documentação da Microsoft, o processo é dividido em três etapas:

  1. Correlação de sinais de diferentes fontes em um único incidente;
  2. Identificação dos ativos controlados pelo atacante;
  3. Execução automática de ações de resposta nos produtos Microsoft Defender, tendo como objetivo conter o ataque em tempo real.

Isolate device e Contain device

  • Isolate device — A política é aplicada localmente no host comprometido, com o objetivo de realizar o bloqueio da comunicação de rede da máquina, permitindo somente a comunicação com os serviços do Microsoft Defender necessários para gerenciamento e telemetria.
  • Contain device — A política é aplicada nos demais dispositivos gerenciados do ambiente, que passam a bloquear a comunicação com a máquina contida. Como a política não reside no host alvo, ela não é afetada pela técnica descrita neste documento.

Windows Filtering Platform (WFP) e Base Filtering Engine (BFE)

O WFP (Windows Filtering Platform) é o subsistema de filtragem de rede do Windows, responsável pela classificação de tráfego em múltiplas camadas da pilha TCP/IP. Os objetos relevantes para esta análise são:

Objeto Função
Filtro Regra de classificação: condições, ação (Permit, Block ou Callout), flags e peso
Camada (Layer) Ponto da pilha de rede em que a classificação é executada
Subcamada (Sublayer) Contêiner de filtros com peso próprio, utilizado na arbitragem entre políticas
Provider Agrupamento lógico de objetos associados a um serviço ou aplicação

O WFP possui três principais categorias relacionadas à persistência dos objetos criados:

  • Dinâmicos — removidos automaticamente quando a sessão que os criou é encerrada.
  • Estáticos — permanecem até a remoção explícita ou até a parada do BFE.
  • Persistentes — sobrevivem a reinicializações e permanecem até a remoção explícita.

A contenção de um host precisa sobreviver a uma reinicialização, dessa forma, os filtros persistentes são o mecanismo utilizado para aplicar as regras de bloqueio.

O BFE (Base Filtering Engine) é o serviço em modo usuário que gerencia a política do WFP. O estado não volátil do WFP é armazenado em duas chaves de registro sob o serviço BFE, com papéis distintos:

Conteúdo Caminho Consumido por
Filtros de boot-time HKLM\SYSTEM\CurrentControlSet\Services\BFE\Parameters\Policy\BootTime Driver TCP/IP (tcpip.sys)
Objetos persistentes HKLM\SYSTEM\CurrentControlSet\Services\BFE\Parameters\Policy\Persistent BFE

Conforme documentado pela Quarkslab, na inicialização o BFE carrega primeiro os objetos built-in, embutidos em bfe.dll, e em seguida os objetos persistentes da chave Persistent, substituindo os filtros de boot-time.

Descrição da técnica

Modelo de ameaça

  • O adversário possui execução de código com privilégio de administrador local no host, o que concede permissão de escrita sob HKLM\SYSTEM, incluindo as chaves de configuração do serviço BFE.
  • O host encontra-se sob a ação Isolate device. A técnica não se aplica a Contain device / Contain IP, pois a política é aplicada em outros endpoints.
  • O adversário é capaz de provocar a reinicialização do sistema.

Fundamento

Os filtros de isolamento são objetos WFP persistentes, e o BFE reconstrói o estado persistente a partir da chave Persistent a cada inicialização. A ausência dessa chave é tratada pelo BFE como estado inicial válido, e não como condição anômala. Assim, basta que a chave não esteja presente com o nome esperado no momento do boot para que o BFE inicialize sem os filtros de isolamento. Como resultado a comunicação do host comprometido é retomada e as regras de bloqueio não são aplicadas novamente pelo Automatic Attack Disruption.

Etapas realizadas para evasão do isolamento do dispositivo

  1. O Automatic Attack Disruption aplica Isolate device ao host. Os filtros WFP de bloqueio são criados como persistentes e serializados na chave HKLM\SYSTEM\CurrentControlSet\Services\BFE\Parameters\Policy\Persistent. O tráfego de rede é bloqueado, com exceção da comunicação com os serviços do Microsoft Defender.
    Máquina isolada

  2. O editor de registro é utilizado para visualizar as chaves existentes no registro do sistema operacional.
    Regedit visualização

  3. Com privilégio de administrador local, a chave Persistent é renomeada (por exemplo, para OLDPersistent). A política em execução não é alterada neste momento.
    Regedit alteração

  4. O sistema operacional é reinicializado.

  5. o BFE não localiza a chave Persistent e a recria contendo apenas os objetos padrão (built-in), sem os filtros de isolamento.
    Regedit chave recriada

  6. O PowerShell é utilizado para comparar a quantidade de itens nas chaves BFE\Parameters\Policy\Persistent\Filter e BFE\Parameters\Policy\OLDPersistent\Filter.
    Comparação na quantidade de filtros em cada chave

  7. A pilha de rede é inicializada sem a política de isolamento e a conectividade do host é restabelecida.
    Conectividade restabelecida

  8. O Microsoft Defender não reaplicou os filtros de isolamento, e a conectividade do host permaneceu funcional.

Nota: Embora não seja o cenário mais comum nos nossos projetos, vale destacar que outras políticas ou soluções de segurança podem, como uma camada adicional de defesa, impedir a alteração dessa chave de registro. Mesmo nesses casos, é apenas questão de tempo até um atacante com privilégios administrativos contornar a proteção e alcançar o mesmo resultado. Ilustramos a evasão passo a passo, simulando um colaborador malicioso com acesso a um dispositivo físico da empresa, mas o conceito se aplica da mesma forma e pode ser automatizado para detectar o comportamento de isolamento e aplicar a evasão a partir de um C2 previamente implantado, de modo a restaurar a conexão com o servidor.

Detecção

A técnica produz artefatos em três domínios: alteração de registro, alteração da política WFP e divergência entre o estado de contenção reportado e o comportamento de rede observado.

1. Alteração das chaves do BFE

O indicador mais direto é a criação, remoção ou renomeação de chaves sob Services\BFE\Parameters\Policy.

2. Auditoria do WFP

Com a subcategoria Audit Filtering Platform Policy Change habilitada, o Windows registra no log de segurança os seguintes eventos:

Event ID Descrição
5446 Callout do WFP alterado
5447 Filtro do WFP alterado (adicionado, removido ou modificado)
5448 Provider do WFP alterado
5449 Provider context do WFP alterado
5450 Subcamada do WFP alterada

Nesta técnica, a alteração da política se manifesta apenas no boot, quando o BFE recarrega o estado persistente. A ausência, após uma reinicialização, de filtros persistentes previamente associados ao provider do Microsoft Defender constitui anomalia que deve gerar alerta.

3. Correlação comportamental

A seguinte sequência, observada em um mesmo dispositivo, tem baixíssima probabilidade de ocorrência legítima:

  1. Aplicação de Isolate device (automática ou manual);
  2. Alteração em chave de serviço sob HKLM\SYSTEM\CurrentControlSet\Services\BFE;
  3. Reinicialização do sistema;
  4. Tráfego de rede para destinos fora do conjunto de serviços do Microsoft Defender, enquanto o dispositivo consta como isolado.

Mitigações e recomendações

  1. Restringir o administrador local - Aplicar menor privilégio, reduzir o número de contas com direitos administrativos locais e, quando houver solução de gerenciamento de privilégios, garantir que os perfis de elevação não concedam escrita irrestrita em HKLM\SYSTEM;
  2. Monitorar as chaves do BFE e do perfil de isolamento - Implementar detecção para criação, remoção e renomeação em Services\BFE\Parameters\Policy\Persistent e Services\BFE\Parameters\Policy\BootTime;
  3. Habilitar a auditoria do WFP - Coletar os eventos 5446–5450 no SIEM, com alerta para remoção em massa de filtros associados ao provider de segurança.
  4. Implementar a correlação comportamental - Isolamento → alteração de registro → reboot → retomada de tráfego;
  5. Combinar Contain device e Isolate device - Como Contain device / Contain IP é aplicado pelos demais endpoints, permanece eficaz mesmo após a remoção do isolamento local;
  6. Restringir ferramentas de manipulação de registro (regedit.exe, reg.exe e cmdlets de registro do PowerShell) - Não permitir que qualquer usuário do ambiente possa utilizar essas ferramentas;
  7. Tratar a reinicialização de um host isolado como evento de investigação e não como ruído operacional.

Referências


Tags

Ótimo! Você se inscreveu com sucesso.
Ótimo! Agora, complete o checkout para ter acesso completo.
Bem vindo de volta! Você fez login com sucesso.
Parábens! Sua conta está completamente ativada, agora você tem acesso completo ao conteúdo.