SOC Prime Bias: Crítico

16 Jul 2026 13:54 UTC

LegacyHive: O Bug do Serviço de Perfil de Usuário do Windows Que Carrega o Pesadelo do Registro de Outro Usuário

Author Photo
SOC Prime Team linkedin icon Seguir
LegacyHive: O Bug do Serviço de Perfil de Usuário do Windows Que Carrega o Pesadelo do Registro de Outro Usuário
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

LegacyHive é uma vulnerabilidade não corrigida de elevação de privilégio local no Serviço de Perfis de Usuário do Windows (ProfSvc). Um atacante pode usar uma combinação de envenenamento de registro, links simbólicos do gerenciador de objetos e uma condição de corrida TOCTOU via oplocks para forçar um serviço em nível de SISTEMA a carregar o hive de registro de um usuário-alvo. Isso permite que um usuário com poucos privilégios obtenha acesso não autorizado a dados sensíveis do registro ou, potencialmente, consiga comprometimento total do SISTEMA.

Investigação

O pesquisador Nightmare-Eclipse desenvolveu uma prova de conceito (PoC) que explora o descompasso entre operações de arquivo em nível de SISTEMA e encaminhamento controlado pelo usuário. A investigação demonstra como modificar o valor de registro Local AppData pode redirecionar o serviço para o namespace do gerenciador de objetos NT. Ao usar um bloqueio oportuno (oplock) em um arquivo de isca, o atacante pode trocar um link simbólico no momento exato em que o serviço tenta carregar o hive.

Mitigação

A Microsoft deve implementar a canonicização de caminhos para garantir que caminhos resolvidos permaneçam dentro do diretório legítimo de perfil de usuário e rejeitem prefixos de dispositivos/gerenciador de objetos. Além disso, os desenvolvedores devem usar proteção de reinterpretar (FILE_FLAG_OPEN_REPARSE_POINT) e realizar E/S no contexto de segurança do usuário, em vez do contexto SISTEMA para evitar cenários de procurador confuso.

Resposta

Os defensores devem monitorar imediatamente por cargas de registros incomuns (RegLoadKey) para contas que não estão logadas interativamente e observar a criação de diretórios de objetos sob BaseNamedObjectsRestricted. Ferramentas de controle de aplicativos como WDAC ou AppLocker devem ser usadas para impedir a execução de binários não assinados. Assim que a Microsoft liberar uma correção oficial, ela deve ser priorizada para implantação em todas as instalações do Windows desktop e servidor.

Fluxo de Ataque

Resumo Executivo

  • ID do Caso de Teste: TC-20240522-K9P2L
  • TTPs: T1068, T1548
  • Resumo da Lógica da Regra de Detecção: Detecta tentativas de explorar a vulnerabilidade LegacyHive monitorando notepad.exe sendo lançado com o padrão de API CreateProcessWithLogonW na linha de comando. 94D36DA3:API na linha de comando.
  • Formato/Linguagem da Regra de Detecção: yaml
  • Ambiente de Segurança Alvo: Windows OS, Logs de Eventos do Windows (Criação de Processo), EDR/SIEM.
  • Pontuação de Resiliência (1-5): 2
  • Justificação: A regra depende fortemente de uma string específica (padrão de API CreateProcessWithLogonW na linha de comando.) aparecendo no campo CommandLine . Um adversário pode facilmente contornar isso usando diferentes chamadas de API que alcançam o mesmo resultado ou usando diferentes nomes de processo em vez de notepad.exe.
  • Conclusões Principais: A detecção é altamente específica para uma única implementação de exploração e é extremamente frágil contra variações menores no vetor de ataque.
  • Recomendação: Expandir a detecção para monitorar variantes suspeitas de CreateProcess em vários binários comuns (por exemplo, calc.exe, cmd.exe) e monitorar por anomalias do Serviço de Perfis de Usuário (ProfSvc).

Ambiente de Simulação e Contexto

  • TTPs sob Teste:
    • T1068: Exploração para Elevação de Privilégio
    • T1548: Abuso de Mecanismos de Elevação de Privilégio
  • Contexto & Relevância do TTP: A exploração LegacyHive depende de coagir um serviço em nível de SISTEMA a realizar ações em nome de um usuário. Usando padrão de API CreateProcessWithLogonW na linha de comando. para criar um processo em estado suspenso, um atacante pode manipular o ambiente para carregar um hive de registro malicioso. O monitoramento dos artefatos específicos da linha de comando desta chamada de API tem a intenção de capturar a fase de exploração.
  • Ambiente Alvo:
    • OS: Windows 10/11 ou Windows Server 2019/2022
    • Registro de Logs: Sysmon (ID de Evento 1) ou Log de Eventos de Segurança do Windows (ID de Evento 4688) com Auditoria de Linha de Comando habilitada.
    • Pilha de Segurança: SIEM (por exemplo, Splunk, Microsoft Sentinel)

Telemetria & Verificação de Linha de Base Prévia

Racional: Antes de simular o ataque, devemos confirmar que o host alvo está configurado para gerar os logs necessários, que esses logs são ingeridos pelo SIEM e que a regra de detecção não dispara em atividades benignas. Sem essa validação, qualquer resultado do teste é não confiável.

  • 1. Instruções de Configuração de Telemetria:

      1. Certifique-se de que “Criação de Processo de Auditoria” está habilitada via Política de Grupo (Configuração do Computador > Configurações do Windows > Configurações de Segurança > Configuração de Política de Auditoria Avançada > Rastreamento Detalhado).
      1. Certifique-se de que “Incluir linha de comando em eventos de criação de processo” está habilitada (via Registro: HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemAuditProcessCreationIncludeCmdLine).
      1. Instalar Sysmon e garantir que o Evento ID 1 (Criação de Processo) está sendo coletado.
  • 2. Validação de Ingestão & Linha de Base:

    • Ação (Telemetria Benigna): Iniciar uma instância padrão do Notepad para garantir que o registro de criação de processo está funcional sem acionar a detecção de exploração.

      Start-Process "notepad.exe"
    • Consulta de Validação (Ingestão):

      DeviceProcessEvents
      | where FileName =~ "notepad.exe"
      | where ProcessCommandLine !contains "CreateProcessWithLogonW"

Execução da Simulação

Pré-requisito: A Telemetria & Verificação de Linha de Base Prévia devem ter sido aprovadas.

Racional: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnósticos incorretos.

  • Narrativa & Comandos de Ataque: O atacante visa explorar a vulnerabilidade LegacyHive para escalar os privilégios para SISTEMA. Para fazer isso, eles utilizam um script que chama a padrão de API CreateProcessWithLogonW na linha de comando. API do Windows. O objetivo é lançar notepad.exe em estado suspenso. A simulação usa um wrapper PowerShell para imitar o padrão de argumento de linha de comando que a regra de detecção está procurando, especificamente visando a string padrão de API CreateProcessWithLogonW na linha de comando. dentro do contexto de execução de notepad.exe.

  • Script de Teste de Regressão:

    # Simulação de tentativa de Exploit LegacyHive via injeção de artefato de linha de comando
    # Nota: Este script simula o padrão de string de linha de comando para teste de detecção.
    
    $targetProcess = "notepad.exe"
    $fakeArgument = "CreateProcessWithLogonW"
    
    Write-Host "[+] Iniciando simulação de tentativa de exploit LegacyHive..."
    
    # Usamos cmd /c para garantir que a string de linha de comando seja explicitamente passada 
    # e apareça na telemetria de criação de processos.
    Start-Process "cmd.exe" -ArgumentList "/c $targetProcess $fakeArgument"
    
    Write-Host "[+] Comando de simulação enviado. Verifique o SIEM para notepad.exe com CreateProcessWithLogonW na linha de comando."
  • Comandos de Limpeza:

    # Terminar quaisquer processos de notepad ou cmd remanescentes criados pela simulação
    Stop-Process -Name "notepad" -ErrorAction SilentlyContinue
    Stop-Process -Name "cmd" -ErrorAction SilentlyContinue