
Uma nova variedade de malware do tipo ransomware criptografa arquivos e adiciona a extensão ".SaveTheQueen", espalhando-se através da pasta de rede do sistema SYSVOL em controladores de domínio Active Directory.
Nossos clientes se depararam com esse malware recentemente. Apresentamos nossa análise completa, os resultados e conclusões abaixo.
Detecção
Um de nossos clientes entrou em contato conosco após se deparar com um novo tipo de ransomware que adicionava a extensão ".SaveTheQueen" aos novos arquivos criptografados em seu ambiente.
Durante nossa investigação, mais precisamente na fase de busca por fontes de infecção, descobrimos que a propagação e o rastreamento das vítimas infectadas foram realizados através do uso de pasta de rede SYSVOL no controlador de domínio do cliente.
O SYSVOL é uma pasta chave para cada controlador de domínio, usada para entregar objetos de políticas de grupo (GPO) e scripts de logon e logoff para computadores do domínio. O conteúdo dessa pasta é replicado entre controladores de domínio para sincronizar esses dados nos sites da organização. O acesso ao SYSVOL requer privilégios de domínio elevados, no entanto, após a compromissão, esse ativo se torna uma ferramenta poderosa para atacantes, que podem usá-lo para espalhar rapidamente e de forma eficaz a carga maliciosa pelo domínio.
A cadeia de auditoria Varonis ajudou a identificar rapidamente o seguinte:
- A conta de usuário infectada criou um arquivo chamado "hourly" no SYSVOL
- Muitos arquivos de log foram criados no SYSVOL — cada um nomeado com o nome do dispositivo de domínio
- Muitos endereços IP diferentes acessaram o arquivo "hourly"
Concluímos que os arquivos de log foram usados para rastrear o processo de infecção em novos dispositivos, e que "hourly" é uma tarefa programada que executava a carga maliciosa em novos dispositivos, utilizando o script Powershell – amostras "v3" e "v4".
Provavelmente, o atacante obteve e utilizou privilégios de administrador do domínio para gravar arquivos no SYSVOL. Nos nós infectados, o atacante executou código PowerShell, que criava uma tarefa agendada para abrir, descriptografar e executar o malware.
Descriptografando o malware
Testamos várias formas de descriptografar as amostras sem sucesso:

Estávamos quase prontos para desistir quando decidimos tentar o método "Magic" incrível
ferramenta da GCHQ. O "Magic" tenta adivinhar a criptografia do arquivo, usando força bruta para diferentes tipos de criptografia e medindo a entropia.
Nota do tradutor Veja. e . Este artigo e os comentários não incluem discussão por parte dos autores sobre os detalhes dos métodos utilizados, tanto em software de terceiros quanto em software proprietário.

"Magic" identificou que foi usado um empacotador GZip com codificação base64, permitindo-nos descompactar o arquivo e descobrir o código para injeção – o "injetor".

Dropper: "Há uma epidemia na área! Vacinas em massa. Peste"
O dropper era um arquivo .NET comum sem qualquer proteção. Após ler o código-fonte com , entendemos que seu único objetivo era injetar código shell no processo winlogon.exe.


Código shell ou complicações simples
Usamos uma ferramenta de autoria Hexacorn – para "compilar" o código shell em um arquivo executável para depuração e análise. Então descobrimos que funcionava em máquinas de 32 e 64 bits.

Escrever mesmo um código shell simples em tradução nativa com assemblador pode ser complicado; escrever um código shell completo que funcione em ambos os tipos de sistemas requer habilidades de elite, por isso começamos a ficar impressionados com a sofisticação do atacante.
Quando analisamos o código shell compilado com , notamos que ele carregava bibliotecas dinâmicas .NET , como clr.dll e mscoreei.dll. Isso nos pareceu estranho – normalmente, os invasores tentam tornar o código shell o menor possível, chamando funções nativas do SO em vez de carregá-las. Por que alguém precisaria incorporar funcionalidades do Windows no código shell, em vez de fazer chamadas diretas conforme necessário?
Como descobrimos, o autor do malware na verdade não escreveu esse código shell complexo – foi utilizado um software característico para essa tarefa para traduzir arquivos executáveis e scripts em código shell.
Encontramos a ferramenta , que achamos que poderia compilar um código shell semelhante. Aqui está sua descrição no GitHub:
Donut gera códigos shell x86 ou x64 a partir de VBScript, JScript, EXE, DLL (incluindo assemblies .NET). Esses códigos shell podem ser injetados em qualquer processo Windows para execução.
de memória RAM.
Para confirmar nossa teoria, compilamos nosso próprio código usando Donut e o comparamos com um exemplo - e... sim, encontramos mais um componente da ferramenta utilizada. Depois disso, conseguimos extrair e analisar o arquivo executável original no .NET.
Proteção de código
Este arquivo foi ofuscado com o :


ConfuserEx é um projeto .NET de código aberto para proteger o código de outros desenvolvedores. Este tipo de software permite que os desenvolvedores protejam seu código contra engenharia reversa usando métodos como: substituição de símbolos, mascaramento do fluxo de controle e ocultação de métodos de referência. Autores de malware usam ofuscadores para evitar a detecção e tornar a tarefa de engenharia reversa mais difícil.
Graças a nós descompactamos o código:

Resultado - carga útil
A carga útil resultante das transformações é um vírus sequestrador muito simples. Sem nenhum mecanismo de persistência no sistema, nenhuma conexão com o centro de comando - apenas a velha e boa criptografia assimétrica para tornar os dados da vítima ilegíveis.
A função principal seleciona como parâmetros as seguintes strings:
- Extensão de arquivo a ser usada após a criptografia (SaveTheQueen)
- Email do autor para ser incluído no arquivo de nota de resgate
- Chave pública utilizada para criptografar arquivos

O processo parece o seguinte:
- O malware examina os discos locais e conectados no dispositivo da vítima

- Busca arquivos para criptografar

- Tenta finalizar o processo que está usando o arquivo que ele está prestes a criptografar
- Renomeia o arquivo para "Nome_Original_do_Arquivo.SaveTheQueenING", utilizando a função MoveFile, e o criptografa
- Depois que o arquivo é criptografado com a chave pública do autor, o malware o renomeia novamente, agora para "Nome_Original_do_Arquivo.SaveTheQueen"
- O arquivo com o pedido de resgate é escrito na mesma pasta

Com base no uso da função nativa "CreateDecryptor", uma das funções do malware parece conter como parâmetro um mecanismo de descriptografia que requer a chave privada.
Vírus sequestrador NÃO criptografa arquivos, armazenados nas pastas:
C:windows
C:Program Files
C:Program Files (x86)
C:Users\AppData
C:inetpub
Também NÃO criptografa os seguintes tipos de arquivos:EXE, DLL, MSI, ISO, SYS, CAB.
Resumo e Conclusões
Embora o ransomware em si não apresentasse características incomuns, o atacante utilizou criativamente o Active Directory para espalhar o dropper, e o próprio malware apresentou-nos obstáculos interessantes, embora não muito complexos, durante a análise.
Acreditamos que o autor do malware:
- Escreveu um ransomware com um embedding integrado no processo winlogon.exe, além de
funcionalidade de criptografia e descriptografia de arquivos. - Escondido o código malicioso usando ConfuserEx, transformou o resultado usando Donut e ainda escondeu o dropper em base64 Gzip.
- Obteve privilégios elevados no domínio da vítima e os utilizou para copiar
o malware criptografado e tarefas agendadas na pasta de rede SYSVOL dos controladores de domínio. - Executou um script PowerShell em dispositivos de domínio para espalhar o malware e registrar o progresso do ataque em logs no SYSVOL.

Se você tiver perguntas sobre esta variante do ransomware, ou qualquer outra investigação realizada por nossas equipes de forense e investigação de incidentes de segurança da informação, ou solicite , onde sempre respondemos a perguntas dentro de uma sessão de perguntas e respostas.
Fonte: habr.com



