Skip to main content

Cenário de Treinamento - Modificação de Memória

Nome do Grupo

Dados de Treinamento - Process Hollowing SQL (Hive)

Cenário

Neste cenário de treinamento, executaremos uma carga útil de ransomware por meio de process hollowing, uma técnica de injeção/evasão em que um processo é iniciado e tem seu código executável modificado para realizar algum outro comportamento.

Técnicas em memória estão entre as mais difíceis de detectar, e ainda mais difíceis de ter uma resposta automatizada, portanto muitas vezes são ignoradas. A memória é, por definição, volátil e está sempre mudando. Identificar alterações na memória de um processo requer identificar as seções relevantes e avaliá-las em diferentes momentos do ciclo de vida de um processo, para verificar se houve adulteração.

Identificando

As respostas de memória modificada são, de longe, as mais difíceis de inspecionar. Como a memória é efêmera, ela é tratada como uma "caixa preta" e frequentemente mantida à distância. A boa notícia é que, a partir do Cyber Crucible 4.4.1.3, agora temos a capacidade de coletar automaticamente telemetria de amostras de memória modificadas, identificando quais intervalos de memória foram modificados e as alterações exatas realizadas neles.

Esse tipo de análise, no entanto, é muito trabalhoso de realizar, então um bom primeiro passo é verificar os processos relacionados no painel para ter uma ideia do comportamento associado. Como o processo em questão aqui é um SQLCMD.exe assinado, deve ficar evidente rapidamente se se trata de um processo SQL benigno ou de algo pior.

Até agora, tudo bem, apenas processos SQL normais, nada necessariamente suspeito ou não. No entanto, nunca gostamos de ver CMDs envolvidos em respostas automatizadas. Vamos investigar um pouco mais.

A prova definitiva!
A prova definitiva!

E aí está! Podemos continuar rolando a tela e ver cada vez mais comportamentos como esses. O SQLCMD.exe está executando todo tipo de comando para desativar serviços, alterar configurações e tudo o que um ransomware faria de forma preventiva.

Aqui podemos ter uma pequena noção do que nos espera quando começamos a nos aprofundar e analisar as diferenças de memória. A maior parte das técnicas sofisticadas o suficiente para realizar malware totalmente em memória também ofuscará seu código na memória. Isso torna a análise extremamente difícil, mas o acesso à telemetria adicional já se mostrou inestimável para a identificação de incidentes, bem como para o ajuste de comportamento

Documentação relevante

  • Injeção de Processo

  • Mitre T1559 - A comunicação entre processos (Inter-Process Communication) pode fornecer controle sobre o processo alvo a partir do injetor uma vez concluída a injeção.

  • Mitre T1106 - As APIs nativas são frequentemente o acesso mais próximo à funcionalidade do sistema operacional para acessar arquivos, executar processos e mais.

  • Mitre T1569 - Injetar em um serviço do sistema, como um svchost existente, pode disfarçar código malicioso para que seja reportado como sendo executado a partir de um processo conhecido e confiável.

  • Mitre T1055 - Injeção de processo, geralmente usada para executar código malicioso em um processo alvo, permitindo que o processo original continue.

  • Mitre T1543 - Criar ou modificar um processo do sistema pode disfarçar código malicioso como um processo do sistema normal e confiável, evitando a detecção por malware.