EDRStartupHinder: Bloqueador de Processo de Inicialização do EDR
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O artigo descreve uma ferramenta de pesquisa chamada EDRStartupHinder que abusa do mecanismo Windows Bindlink para redirecionar uma carga crítica de DLL do System32, fazendo com que um processo EDR protegido trave durante a inicialização. Instalando um serviço de maior prioridade e fornecendo uma DLL de substituição não assinada, o método impede que o componente EDR inicialize, efetivamente despojando o host de proteção de endpoint na inicialização.
Investigação
O autor determinou que o Microsoft Defender carrega msvcp_win.dll durante a inicialização e que um serviço associado ao grupo TDI é iniciado antes do Defender. A ferramenta copia a DLL legítima, altera o cabeçalho PE para criar uma variante adulterada, registra um serviço chamado DusmSVC-01 e monitora o processo do Defender (MsMpEng.exe). Em seguida, usa Bindlink para redirecionar a resolução da DLL para que o Defender tente carregar a DLL não assinada. Como o processo é executado sob proteção PPL, o carregamento do módulo não assinado aciona a terminação do processo do Defender.
Mitigação
Monitore a criação de serviços suspeitos ou inesperados e telemetria indicando o uso de bindlink.dll. Aplique validação de integridade para DLLs do System32 e alerte sobre duplicatas inesperadas, mutações ou redirecionamentos de caminhos de carregamento. Reduza a viabilidade do ataque restringindo permissões de escrita que poderiam permitir o redirecionamento de DLL, apertando os controles em torno dos KnownDLLs e aplicando políticas de assinatura de código onde operacionalmente viável.
Resposta
Se um novo serviço chamado DusmSVC-01 ou comportamento anômalo do Bindlink for detectado, isole o endpoint e valide a integridade das principais DLLs do System32. Restaure quaisquer arquivos alterados a partir de fontes confiáveis ou backups, em seguida, remova o serviço malicioso e quaisquer artefatos relacionados. Complete uma revisão forense para identificar persistência adicional, escalonamento de privilégios ou atividades subsequentes associadas ao desvio de proteção no momento da inicialização.
“graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef operator fill:#ff9900 %% Nodes step_create_service[“<b>Ação</b> – <b>T1542 Pré-OS Boot</b><br/>Criar um serviço Windows malicioso (EDRStartupHinder) configurado para iniciar antes do serviço EDR alvo.”] class step_create_service action step_modify_registry[“<b>Ação</b> – <b>Modificação de Política de Domínio ou Locatário T1484</b><br/>Modificar a ordem do grupo de serviços e a configuração do Bindlink no registro para priorizar o serviço malicioso e habilitar o redirecionamento de DLL.”] class step_modify_registry action step_hijack_dll[“<b>Ação</b> – <b>Sequestro da Ordem de Pesquisa de DLL T1574.001</b> & <b>Injeção de Biblioteca de Link Dinâmico T1055.001</b><br/>Redirecionar uma DLL central (e.g., msvcp_win.dll) via Bindlink para que o processo EDR carregue uma cópia maliciosa.”] class step_hijack_dll action step_corrupt_dll[“<b>Ação</b> – <b>Redirecionamento de DLL – Corrupção do Cabeçalho PE T1574.001</b><br/>Alterar o cabeçalho PE da DLL copiada para invalidar sua assinatura, garantindo que o processo EDR protegido rejeite a biblioteca.”] class step_corrupt_dll action step_dos[“<b>Ação</b> – <b>Negação de Serviço no Endpoint T1499.004</b><br/>O serviço EDR falha ao carregar a DLL necessária e termina, alcançando a negação de serviço no componente de segurança.”] class step_dos action %% Edges step_create_service u002du002d>|leva_a| step_modify_registry step_modify_registry u002du002d>|habilita| step_hijack_dll step_hijack_dll u002du002d>|causa| step_corrupt_dll step_corrupt_dll u002du002d>|resulta_em| step_dos “
Fluxo de Ataque
Detecções
Possível Enumeração / Manipulação de Processo AV (via linha de comando)
Ver
Comando Shell Suspeito no Caminho do Serviço (via sistema)
Ver
Comando Shell Suspeito no Caminho do Serviço (via auditoria)
Ver
Invalidade de Assinatura EDRStartupHinder DLL [Evento de Arquivo do Windows]
Ver
Execução da Simulação
Pré-requisito: O Checagem Prévia de Telemetria & Base deve ter sido aprovada.
Narrativa do Ataque & Comandos
O adversário visa incapacitar a plataforma de detecção de endpoint entregando uma cópia adulterada de msvcp_win.dll. Os passos são:
- Localize a DLL confiável in
C:WindowsSystem32. - Copie para um diretório controlado pelo atacante oculto cujo nome inclui “FakeLib” (e.g.,
C:ProgramDataFakeLib). - Corrupção da assinatura adicionando bytes arbitrários ao final do arquivo, garantindo que o hash binário mude e a assinatura Authenticode se torne inválida.
- Dispare o caminho de carregamento do EDR (não simulado aqui) – a presença da DLL malformada fará com que o EDR falhe durante sua inicialização.
Script de Teste de Regressão
# ---------------------------------------------------------------
# Simulação EDRStartupHinder – copia & corrompe msvcp_win.dll
# ---------------------------------------------------------------
# 1. Defina a origem e o destino malicioso
$src = "$env:SystemRootSystem32msvcp_win.dll"
$dstDir = "C:ProgramDataFakeLib"
$dst = Join-Path $dstDir "msvcp_win.dll"
# 2. Crie a pasta de destino (oculta)
if (-not (Test-Path $dstDir)) {
New-Item -Path $dstDir -ItemType Directory | Out-Null
# Oculte a pasta para mimetizar furtividade
(Get-Item $dstDir).Attributes += 'Hidden'
}
# 3. Copie a DLL legítima
Copy-Item -Path $src -Destination $dst -Force
# 4. Corrompa a DLL – anexe 4 bytes aleatórios
$rand = -join ((65..90) + (97..122) | Get-Random -Count 4 | % {[char]$_})
[IO.File]::OpenWrite($dst).Seek(0, [IO.SeekOrigin]::End) | Out-Null
[IO.File]::WriteAllBytes($dst, [byte[]]($rand.ToCharArray() | ForEach-Object {[byte][char]$_}))
Write-Host "Simulação EDRStartupHinder concluída. DLL copiada para $dst e corrompida."
Comandos de Limpeza
# Remova a cópia maliciosa e opcionalmente a pasta oculta
$dstDir = "C:ProgramDataFakeLib"
if (Test-Path $dstDir) {
Remove-Item -Path $dstDir -Recurse -Force
Write-Host "Diretório FakeLib limpo."
}
Fim do Relatório