Quebrar a Casca Protetora do Windows Defender com a Técnica de Redirect de Pasta
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O artigo demonstra um método de sequestro do Windows Defender que explora o redirecionamento de pastas ao colocar um diretório de link simbólico dentro do caminho da Plataforma do Defender e apontá-lo para um local controlado pelo atacante. Atribuindo à pasta symlink um número de “versão” mais alto do que o diretório de plataforma legítimo, o Defender pode selecionar o caminho controlado pelo atacante após a reinicialização e carregar seus componentes de lá. Isso cria oportunidades para carregamento de DLLs, exclusão seletiva de arquivos ou até mesmo interrupção operacional do serviço do Defender.
Investigação
O fluxo de trabalho do autor copia a pasta de plataforma ativa do Defender para um diretório temporário controlado pelo atacante, depois cria um symlink de diretório no local da Plataforma (via mklink /D) usando um identificador de versão fabricado e mais alto. Após uma reinicialização, observa-se que o Defender está sendo executado a partir do diretório redirecionado, permitindo manipulação subsequente, como sequestro de DLLs ou remoção de binários para interferir no início e proteção do Defender.
Mitigação
Minimize o risco limitando estritamente as permissões de gravação no diretório da Plataforma do Windows Defender e monitorando a criação suspeita de links simbólicos ou subpastas de estilo de “versão” inesperadas. Implemente controles de integridade para binários do Defender e alerte sobre alterações em caminhos executáveis ou comportamento de seleção de diretório de plataforma. Quando possível, aplique o Windows Defender Application Control (WDAC) ou políticas de fortalecimento equivalentes para evitar alterações não autorizadas em locais do sistema protegidos.
Resposta
Alerta quando novas pastas de link simbólico aparecerem em C:ProgramDataMicrosoftWindows DefenderPlatform ou quando o mklink for usado para direcionar esse diretório. Valide a integridade dos arquivos do Defender e confirme se os binários em execução são provenientes da pasta de plataforma esperada. Se a violação for confirmada, remova o symlink malicioso e restaure os arquivos da plataforma do Defender de uma fonte confiável, então reinicie os serviços do Defender e revalide as proteções em todo o host.
graph TB %% Definições de Classes classDef action fill:#99ccff classDef technique fill:#ffcc99 %% Nós de Ação action_create_symlink[“<b>Ação</b> – Criar pasta de link simbólico na Plataforma Defender<br/><b>Detalhes</b>: O link aponta para C:\TMP\AV com um número de versão superior”] class action_create_symlink action action_copy_binaries[“<b>Ação</b> – Copiar binários originais do Defender para um diretório controlado pelo atacante”] class action_copy_binaries action action_place_malicious_dll[“<b>Ação</b> – Colocar DLLs maliciosas na pasta comprometida”] class action_place_malicious_dll action action_cleanup[“<b>Ação</b> – Excluir a pasta de link simbólico para remover evidências”] class action_cleanup action %% Nós de Técnicas tech_T1574_009[“<b>Técnica</b> – T1574.009 Sequestro do Component Object Model<br/><b>Descrição</b>: Abusar do registro COM para fazer um serviço legítimo carregar código controlado pelo atacante”] class tech_T1574_009 technique tech_T1218[“<b>Técnica</b> – T1218 Execução Proxy de Binários Assinados<br/><b>Descrição</b>: Usar binários confiáveis assinados para executar cargas maliciosas”] class tech_T1218 technique tech_T1055_001[“<b>Técnica</b> – T1055.001 Injeção de Processo: Injeção de DLL<br/><b>Descrição</b>: Carregar uma DLL maliciosa no espaço de memória de um processo legítimo”] class tech_T1055_001 technique tech_T1546_009[“<b>Técnica</b> – T1546.009 Execução de DLL de Certificação de Aplicativos<br/><b>Descrição</b>: Forçar o sistema a carregar uma DLL maliciosa via mecanismos AppCert”] class tech_T1546_009 technique tech_T1070_004[“<b>Técnica</b> – T1070.004 Exclusão de Arquivos<br/><b>Descrição</b>: Remover arquivos ou diretórios para ocultar atividade maliciosa”] class tech_T1070_004 technique tech_T1562[“<b>Técnica</b> – T1562 Prejudicar Defesas<br/><b>Descrição</b>: Interromper ou desativar ferramentas e recursos de segurança”] class tech_T1562 technique %% Conexões action_create_symlink –>|usa| tech_T1574_009 tech_T1574_009 –>|permite| action_copy_binaries action_copy_binaries –>|usa| tech_T1218 action_copy_binaries –>|prepara| action_place_malicious_dll action_place_malicious_dll –>|utiliza| tech_T1055_001 action_place_malicious_dll –>|utiliza| tech_T1546_009 action_place_malicious_dll –>|leva a| action_cleanup action_cleanup –>|usa| tech_T1070_004 tech_T1070_004 –>|resulta em| tech_T1562
Fluxo de ataque
Execução de Simulação
Pré-requisito: O Check de Telemetria & Baseline Pre-flight deve ter sido aprovado.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente as TTPs identificadas e visam gerar exatamente a telemetria esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnósticos incorretos.
-
Narrativa do Ataque & Comandos:
O adversário comprometeu uma conta de usuário de baixo privilégio no host alvo. Seu objetivo é carregar uma carga útil maliciosa quando o Windows Defender começar, ao redirecionar a pasta “Platform” do Defender para um local que eles controlam. Eles executam as seguintes etapas:- Criar um diretório de preparação (
C:TMPAV) que conterá as DLLs maliciosas. - Preencher o diretório de preparação com uma DLL criada chamada
MpEngine.dll(o nome esperado pelo Defender). - Criar um link simbólico de diretório chamado
C:ProgramDataMicrosoftWindows DefenderPlatform{aleatório}que aponta para o diretório de preparação, usando tanto autilidade mklink nativa (para acionar a regra Sigma) quanto o PowerShellNew-Item(para testar a evasão de regras).(to test rule evasion). - Reiniciar o Serviço do Windows Defender para forçar o carregamento a partir do caminho sequestrado.
- Criar um diretório de preparação (
-
Script de Teste de Regressão:
# ============================== # Simulação de Sequestro de Pasta # ============================== $defenderPlatform = "C:ProgramDataMicrosoftWindows DefenderPlatform" $attackerStaging = "C:TMPAV" $linkName = "$defenderPlatformHijackTarget" # 1. Preparar pasta de preparação New-Item -Path $attackerStaging -ItemType Directory -Force | Out-Null # 2. Derrubar uma DLL maliciosa dummy (placeholder) $dummyDll = "$attackerStagingMpEngine.dll" Set-Content -Path $dummyDll -Value "CONTEÚDO DLL MALICIOSO" -Encoding ASCII # 3a. Criar symlink via mklink nativo (dispara regra Sigma) cmd /c "mklink /D `"$linkName`" `"$attackerStaging`"" # 3b. Criar symlink via PowerShell (teste de evasão) $psLink = "$defenderPlatformHijackTarget_PS" New-Item -ItemType SymbolicLink -Path $psLink -Target $attackerStaging -Force # 4. Reiniciar Serviço do Windows Defender (requer admin) # Nota: Este passo pode ser bloqueado em um ambiente fortalecido; incluído para completude. Restart-Service -Name "WinDefend" -Force -
Comandos de Limpeza:
# Remover symlinks criados e arquivos de preparação $links = @( "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget", "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget_PS" ) foreach ($l in $links) { if (Test-Path $l) { Remove-Item $l -Force } } $staging = "C:TMPAV" if (Test-Path $staging) { Remove-Item $staging -Recurse -Force } # Opcionalmente restaurar pasta de plataforma do Defender se necessário (não requerido para simulação)