DoubleFeature expõe a arquitetura de pós-exploração do DanderSpritz

DoubleFeature expõe a arquitetura de pós-exploração do DanderSpritz

Ferramenta de diagnóstico do Equation Group revela como implantes, drivers, persistência e módulos de rede eram enumerados em sistemas Windows comprometidos.

ComponenteDoubleFeature, plugin de registro e diagnóstico do framework de pós-exploração DanderSpritz associado ao Equation Group.
VetorUso após comprometimento prévio da máquina, normalmente depois da implantação do implante PeddleCheap; o plugin prepara uma DLL configurada, carrega código na vítima e coleta relatórios locais.
ImpactoEnumeração de ferramentas presentes no sistema comprometido, incluindo implantes, mecanismos de persistência, drivers, artefatos de registro, componentes de rede e recursos ligados a execução em modo kernel.
PrioridadeCaçar artefatos de DanderSpritz, DoubleFeature, PeddleCheap, KillSuit, UnitedRake e drivers associados em endpoints Windows, com atenção especial a lsass.exe, registro, arquivos temporários e carregamento anômalo de DLLs e drivers.
Artefatos~yh56816.tmp, DoubleFeatureDll.dll.configured, DoubleFeatureReader.exe, hidsvc.sys, DszLpCore.exe, diretórios windows/bin e windows/resources.
VulnerabilidadeO fluxo descrito carrega o driver hidsvc.sys por meio do exploit EpMe para CVE-2017-0005, já relacionado no contexto ao reaproveitamento observado no exploit Jian.
Resumo técnico

DoubleFeature é um componente de diagnóstico dentro do ecossistema DanderSpritz, um framework modular de pós-exploração usado em operações atribuídas ao Equation Group. A função central do plugin não é obter acesso inicial, mas produzir um relatório técnico sobre ferramentas e módulos já presentes em uma máquina comprometida. Por isso, ele oferece uma visão rara da organização interna do framework: em vez de apenas executar uma ação isolada, ele consulta a presença de implantes, mecanismos de persistência, módulos de rede, carregadores em modo usuário e modo kernel, além de artefatos mantidos no registro e no sistema de arquivos.

O material analisado situa DanderSpritz na estrutura vazada publicamente em abril de 2017 no conjunto conhecido como Lost in Translation. O núcleo do framework aparece em DszLpCore.exe, localizado em windows/bin, enquanto plugins e componentes mais complexos ficam em windows/resources. Esse arranjo separa a camada principal de execução de módulos especializados usados para persistência, reconhecimento, movimentação lateral, evasão de antivírus e suporte a implantes. DoubleFeature se destaca porque seus próprios registros funcionam como um mapa dos demais módulos, permitindo entender que tipos de ferramentas o operador esperava encontrar em uma vítima já explorada.

A análise também conecta esse ambiente ao caso Jian, exploit usado pelo ator APT31 e descrito como fortemente inspirado em um exploit quase idêntico do Equation Group. O ponto técnico relevante é que Jian teria circulado em ambiente real desde 2014, antes do vazamento público de 2017. Dentro do recorte desta reportagem, esse elemento reforça a importância de separar a exploração inicial da fase de pós-exploração: DoubleFeature não é apresentado como o ponto de entrada, mas como um instrumento usado quando o operador já dispõe de execução suficiente para carregar componentes, consultar o estado da máquina e recuperar dados de diagnóstico.

Fluxo técnico

O fluxo comum dos plugins de DanderSpritz usa aliases, comandos, chamadas RPC e formatação de retorno por específicações XSL. DoubleFeature foge desse modelo porque precisa coletar volume e variedade maiores de dados. Em vez de depender apenas de respostas estruturadas pequenas, a interface Python do plugin, indicada como doublefeature.py, manipula uma DLL modelo chamada DoubleFeatureDll.dll.unfinalized. Um recurso é inserido nessa DLL por uma ferramenta auxiliar, resultando em DoubleFeatureDll.dll.configured. A etapa operacional exata foi omitida por segurança, mas o efeito técnico é claro: a DLL passa a carregar uma configuração específica antes de ser executada no host comprometido.

Depois de configurada, a DLL é carregada na máquina vítima por uma funcionalidade de carregamento de biblioteca do próprio framework. Quando termina a execução, ela grava o relatório em um arquivo local e esse arquivo é recuperado pelo operador por meio do canal já estabelecido. O relatório é grande demais para o mecanismo convencional de visualização por XSL, então é processado por um utilitário próprio, DoubleFeatureReader.exe. O arquivo de log mencionado é ~yh56816.tmp, criptografado com AES. O contexto informa que há uma chave padrão usada quando o operador não altera a configuração, mas a defesa deve tratar isso como detalhe de análise de artefato e não como dependência única de detecção.

No lado interno, DoubleFeatureDll.dll.configured procura um recurso chamado 106 em uma estrutura caseira de recursos localizada na seção .text, logo após o código executável. Esse recurso fica criptografado em repouso, precisa ser descriptografado e descompactado, e resulta no driver hidsvc.sys. O carregamento do driver ocorre por meio do exploit EpMe para CVE-2017-0005. Uma vez ativo, o componente passa a receber chamadas por DeviceIoControl. O código de controle mais relevante descrito, 0x85892408, permite que código em modo usuário solicite a invocação de funções exportadas pelo núcleo do Windows usando hash do nome da função em vez do nome em texto claro.

Esse mecanismo tem duas implicações defensivas. A primeira é que a atividade de DoubleFeature cruza a fronteira entre modo usuário e modo kernel, o que amplia a capacidade de enumeração e dificulta análise em endpoint sem visibilidade de carregamento de drivers. A segunda é que a resolução de funções por hash reduz a exposição direta de APIs em strings, exigindo análise comportamental e correlação de eventos, não apenas busca textual simples. O mesmo padrão de ocultação aparece nas strings do plugin, que são descriptografadas sob demanda e recriptografadas após a execução de funções, reduzindo a janela em que artefatos legíveis ficam disponíveis para memória forense.

Superfície afetada

A superfície afetada é composta por sistemas Windows que já foram comprometidos por etapas anteriores da cadeia. PeddleCheap aparece como um dos primeiros componentes executados na vítima e pode servir para iniciar uma instalação completa de DanderSpritz. O contexto indica que ele é usualmente injetado em lsass.exe por diferentes métodos, incluindo a backdoor DOUBLEPULSAR. Assim, a presença de DoubleFeature deve ser tratada como sinal de intrusão avançada em estágio pós-exploração, não como vulnerabilidade isolada de aplicação.

Os módulos enumerados por DoubleFeature indicam amplitude operacional. UnitedRake, também chamado de EquationDrug em relatório anterior citado no contexto, é descrito como ferramenta de acesso remoto modular para Windows, com plugins de coleta de informações. StraitBizarre é um implante voltado a exfiltração furtiva sobre FriezeRamp, protocolo de rede customizado semelhante a IPSEC, com variantes para Windows, Linux e plataformas móveis. KillSuit, relacionado ao nome GrayFish, funciona como estrutura de persistência e evasão capaz de hospedar outros plugins; suas instâncias podem manter dados e módulos criptografados em entradas do registro.

A camada DiveBar concentra métodos de persistência associados a KillSuit, incluindo nomes como KSLA, SolarTime, JustVisiting e DoctorOcopus. O texto também descreve o uso de drivers benignos vulneráveis já presentes na máquina como lançadores para módulos em modo kernel, chamados internamente de thunk. Esse detalhe é relevante porque a defesa não deve limitar a análise a binários desconhecidos: drivers legítimos, mas exploráveis, podem aparecer como parte do caminho de execução. FlewAvenue, por sua vez, é descrito como driver IPv4 que fornece capacidades de rede encoberta, incluindo consultas DNS e eco ICMP, para outros componentes.

  • Endpoints Windows com sinais de execução prévia de PeddleCheap, especialmente processos sensíveis como lsass.exe.
  • Diretórios e artefatos compatíveis com DanderSpritz, incluindo DszLpCore.exe, estruturas em windows/resources e plugins associados.
  • Registro do Windows contendo armazenamento criptografado de módulos, especialmente quando há nomes pseudoaleatórios ou volume incompatível com configuração comum.
  • Carregamento de drivers como hidsvc.sys e uso de drivers vulneráveis já instalados para lançar código em modo kernel.
Hunting e telemetria

A caça deve começar pela premissa de que DoubleFeature aparece depois de acesso inicial e implantação de outros componentes. Portanto, sinais isolados podem ser fracos, mas a combinação de carregamento anômalo de DLL, criação de log temporário criptografado, atividade de driver e consultas ao registro fornece uma trilha operacional mais robusta. Em EDR, vale correlacionar processos que carregam DLLs não usuais, acessam arquivos temporários com nomes específicos e logo em seguida interagem com drivers ou dispositivos por interfaces de controle.

No sistema de arquivos, ~yh56816.tmp é um artefato de alta relevância por ser o destino do log de DoubleFeature. A ausência desse arquivo não elimina comprometimento, já que o operador pode alterar configurações ou remover evidências, mas sua presença deve disparar preservação forense. DoubleFeatureDll.dll.configured, DoubleFeatureDll.dll.unfinalized, DoubleFeatureReader.exe e hidsvc.sys também são nomes úteis para varreduras históricas, desde que acompanhados de análise de caminho, assinatura, tempo de criação, relação com processos e eventos de carregamento.

Na memória e no kernel, os sinais mais valiosos incluem carregamento de driver fora do ciclo normal de instalação, invocações incomuns de DeviceIoControl, resolução indireta de funções exportadas por ntoskrnl.exe e chamadas associadas a drivers recém-carregados. Como as strings são descriptografadas por função e recriptografadas em seguida, despejos de memória tardios podem não conter todos os indicadores legíveis. Por isso, telemetria de comportamento, linha do tempo de módulos carregados e eventos de registro tendem a ser mais úteis do que busca estática por strings.

Em rede, a análise deve considerar que nem todos os módulos enumerados por DoubleFeature executam comunicação própria. Quando StraitBizarre ou FlewAvenue estiverem envolvidos, a defesa deve procurar padrões compatíveis com tráfego encoberto, uso incomum de ICMP, consultas DNS fora do perfil do host e fluxos que pareçam se desviar de protocolos corporativos esperados. O contexto não fornece domínios, endereços IP ou portas concretas; portanto, a detecção deve ser baseada em comportamento, inventário de drivers e anomalias de endpoint, sem indicadores fabricados.

  • Criação, leitura ou remoção de ~yh56816.tmp em hosts Windows com outros sinais de pós-exploração.
  • Carregamento de hidsvc.sys ou drivers desconhecidos após execução de DLLs associadas a ferramentas de diagnóstico.
  • Injeção ou atividade anômala envolvendo lsass.exe em máquinas que também apresentem artefatos de PeddleCheap ou DanderSpritz.
  • Entradas de registro com conteúdo criptografado ou volume anormal funcionando como armazenamento de módulos.
  • Uso incomum de DeviceIoControl por processos que não deveriam interagir diretamente com drivers personalizados.
Mitigação

A resposta deve tratar a descoberta de qualquer artefato compatível com DoubleFeature como indício de comprometimento profundo. A primeira medida é isolar o endpoint preservando memória, registro, lista de módulos carregados, drivers, arquivos temporários e linha do tempo de processos. Remover arquivos antes da coleta pode destruir evidência sobre quais ferramentas estavam instaladas, e justamente a finalidade de DoubleFeature é listar componentes existentes no host. A investigação precisa reconstruir a cadeia desde o acesso inicial até a implantação de PeddleCheap, DanderSpritz e módulos hospedados por KillSuit.

Como CVE-2017-0005 aparece no caminho de carregamento do driver, ambientes Windows devem manter correções históricas aplicadas e validar se sistemas legados ainda aceitam exploração local conhecida. Isso não basta para resolver uma intrusão já estabelecida, mas reduz a chance de uso do mesmo caminho para elevar privilégios ou carregar código em modo kernel. Também é necessário revisar políticas de carregamento de drivers, bloqueio de drivers vulneráveis conhecidos, proteção de credenciais em lsass.exe e controles de integridade de endpoint.

Para contenção, a equipe deve identificar hosts com artefatos relacionados, comparar persistência no registro, revisar drivers instalados e procurar instâncias múltiplas de estruturas associadas a KillSuit. Como cada instância pode hospedar ferramenta diferente, apagar apenas um módulo visível não garante erradicação. A validação deve incluir reinicialização controlada, nova coleta de telemetria, verificação de persistência, inspeção de tarefas e serviços, revisão de drivers e análise de tráfego pós-contenção.

A mitigação organizacional envolve transformar os achados em detecções duráveis. Regras de EDR devem cobrir nomes de artefatos, mas também comportamentos: DLL configurada pouco antes do carregamento, log temporário criptografado, uso incomum de recursos embutidos, interação entre modo usuário e modo kernel, e armazenamento criptografado no registro. Equipes de threat hunting devem documentar falsos positivos por software legítimo que usa drivers e DeviceIoControl, para que a detecção não dependa de um único indicador frágil.

  • Isolar hosts suspeitos e preservar memória, registro, drivers carregados, arquivos temporários e eventos de processo antes da limpeza.
  • Verificar aplicação de correções relacionadas a CVE-2017-0005 e endurecer políticas de carregamento de drivers no Windows.
  • Caçar PeddleCheap, DanderSpritz, DoubleFeature, KillSuit, UnitedRake, StraitBizarre, DiveBar e FlewAvenue como um conjunto de pós-exploração, não como artefatos independentes.
  • Revisar injeção em lsass.exe, persistência no registro e uso de drivers benignos vulneráveis como lançadores de módulos.
  • Criar detecções comportamentais para carregamento de DLLs configuradas, criação de logs criptografados e chamadas anômalas de controle para drivers.

Postar um comentário

0 Comentários