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:
- Correlação de sinais de diferentes fontes em um único incidente;
- Identificação dos ativos controlados pelo atacante;
- 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
-
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.

-
O editor de registro é utilizado para visualizar as chaves existentes no registro do sistema operacional.

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

-
O sistema operacional é reinicializado.
-
o BFE não localiza a chave
Persistente a recria contendo apenas os objetos padrão (built-in), sem os filtros de isolamento.

-
O PowerShell é utilizado para comparar a quantidade de itens nas chaves
BFE\Parameters\Policy\Persistent\FiltereBFE\Parameters\Policy\OLDPersistent\Filter.

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

-
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:
- Aplicação de Isolate device (automática ou manual);
- Alteração em chave de serviço sob
HKLM\SYSTEM\CurrentControlSet\Services\BFE; - Reinicialização do sistema;
- 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
- 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; - 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\PersistenteServices\BFE\Parameters\Policy\BootTime; - 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.
- Implementar a correlação comportamental - Isolamento → alteração de registro → reboot → retomada de tráfego;
- 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;
- Restringir ferramentas de manipulação de registro (
regedit.exe,reg.exee cmdlets de registro do PowerShell) - Não permitir que qualquer usuário do ambiente possa utilizar essas ferramentas; - Tratar a reinicialização de um host isolado como evento de investigação e não como ruído operacional.
Referências
- Automatic attack disruption in Microsoft Defender — Microsoft Learn
- Take response actions on a device (Isolate / Contain) — Microsoft Learn
- Windows Filtering Platform: Persistent state under the hood — Quarkslab