Voltar
Tabela de conteĂșdo
Nenhum item encontrado.

Na parte 2 do blog, continuamos monitorando o comportamento do malware apĂłs o esvaziamento do processo. O processo de esvaziamento Ă© seguido por:

  • Identificação da vĂ­tima
  • Verificação de linha de comando e enumeração de processos
  • Mecanismos de persistĂȘncia
  • Criptografia de arquivos

 

Leia a parte 1 aqui.

 

Identificação da vítima

A carga Ăștil final implantada apĂłs o esvaziamento do processo tenta alcançar um endpoint de API na Internet, para identificar os detalhes geogrĂĄficos da vĂ­tima.

 

Para determinar os detalhes da localização, o malware usa funçÔes exportadas por “wininet.dll”:

  • Internet aberta (W)
  • URL aberto da Internet (W)
  • Arquivo de leitura da Internet ()
  • Internet CloseHandle ()

 

Etapa 1: A função InternetOpenW () Ă© usada para inicialização da atividade na Internet empregando o “Microsoft Internet Explorer” como agente do usuĂĄrio.

2 DJVU/STOP 1

 

Etapa 2: A vítima é identificada enviando uma solicitação GET para o seguinte URL: https://api.2ip.ua/geo.json via InternetOpenURLW () e a resposta do endpoint da API é armazenada na memória.

2 DJVU/STOP 2

Etapa 3: A função InternetReadFile () é usada para armazenar a resposta do servidor na memória do processo, conforme mostrado abaixo:

2 DJVU/STOP 3

 

  • A resposta Ă© armazenada na memĂłria:

2 DJVU/STOP 4

  • A mesma resposta Ă© capturada usando um navegador da Web acessando a API mostrada na imagem abaixo, que tem parĂąmetros diferentes, como IP, country_code, regiĂŁo, latitude e longitude, CEP e fuso horĂĄrio.

2 DJVU/STOP 5

 

  • O cĂłdigo do paĂ­s Ă© usado para classificar a vĂ­tima de uma lista de paĂ­ses armazenados no malware para evitar que o criptador seja executado em sistemas em paĂ­ses/idiomas na lista branca.
  • O malware processa a resposta do servidor e seleciona o “country_code” para verificar o valor do parĂąmetro em uma lista predefinida de idiomas/paĂ­ses.

2 DJVU/STOP 6

 

  • Conforme mostrado na imagem acima, os paĂ­ses na lista branca sĂŁo:
    • RĂșssia
    • BielorrĂșssia
    • UcrĂąnia
    • AzerbaijĂŁo
    • ArmĂȘnia
    • TajiquistĂŁo
    • CazaquistĂŁo
    • QuirguistĂŁo
    • UzbequistĂŁo
    • SĂ­ria
  • Se o parĂąmetro “country_code” corresponder a qualquer um dos cĂłdigos de paĂ­s da lista branca, o malware sai do processo e se encerra.

 

Verificação de linha de comando e enumeração de processos

O comportamento do malware depende dos argumentos da linha de comando.

The code responsible for processing the command line arguments
O cĂłdigo responsĂĄvel pelo processamento dos argumentos da linha de comando

 

  • A função getCommandLineW recupera os argumentos da linha de comando e a função commandlineToArgvw aloca uma memĂłria contĂ­gua para ponteiros para as cadeias de argumentos.
  • O malware resolve funçÔes definidas em psapi.dll que executam tarefas relacionadas ao processo para enumeração dos processos em execução no sistema.
  • Esse comportamento Ă© observado em ransomwares que implantam os carregadores de malware e cĂłdigos maliciosos de prĂłxima etapa para evasĂŁo. Para isso, as seguintes funçÔes sĂŁo resolvidas:
    • Processos PSAPI.enum
    • MĂłdulos de processo PSAPI.enum
    • psapi.getModuleBaseName W
  • O ransomware abre cada processo em execução no sistema por meio da API OpenProcess e recupera os identificadores de cada processo em execução.
  • Dessa maneira, o malware pode posteriormente fazer conexĂ”es com os processos em execução. A API EnumProcess Ă© chamada por cada processo em execução para obter os detalhes do processo.

2 DJVU/STOP 8

 

Mecanismo de persistĂȘncia

Por padrĂŁo, a execução inicial do ransomware nĂŁo tem nenhum argumento de linha de comando. Portanto, o fluxo de controle, apĂłs a identificação da vĂ­tima, Ă© obter persistĂȘncia no sistema da vĂ­tima.

 

PersistĂȘncia por meio do registro
    • Em uma mĂĄquina Windows, as seguintes chaves de registro sĂŁo frequentemente alvo de malware para obter persistĂȘncia no sistema:
  • HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows\ CurrentVersion\ Run
  • HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows\ VersĂŁo atual\ RunOnce
  • HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Run
  • HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ VersĂŁo atual\ RunOnce

 

  • Essas chaves de registro podem ser feitas para apontar para um binĂĄrio armazenado no sistema de arquivos, de forma que toda vez que o sistema for inicializado e um usuĂĄrio fizer login, o binĂĄrio seja executado sem qualquer interação do usuĂĄrio.
  • Nesse caso, o ransomware usa a tecla Software\ Microsoft\ Windows\ CurrentVersion\ Run para instalar o malware, no sistema da vĂ­tima, em um local especĂ­fico.
  • Como etapa inicial da persistĂȘncia, o malware verifica o valor da chave “syshelper” no Registro do Windows em Software\ Microsoft\ Windows\ CurrentVersion\ Run para ver se o malware jĂĄ estĂĄ instalado.

2DJVU9

 

2DJVU10

 

  • Essa enumeração e modificação do registro sĂŁo feitas por meio do seguinte conjunto de APIs do Win32:
    • RegOpenKey EXW
    • Valor de consulta RegExw
    • RegSet Value EXW
    • Chave RegClose
  • O ransomware cria um novo diretĂłrio em C:\\ Users\<user_name>\ AppData\ Local e copia a imagem de malware atual (binĂĄria) para ele. O diretĂłrio recĂ©m-criado tem um nome gerado a partir de um UUID.
  • Ao analisar a amostra, o seguinte diretĂłrio foi criado pelo malware com uma amostra contida no diretĂłrio: C:\\ Users\\ <user_name>AppData\ Local\ 66245023-274c-4e81-a77c-e98336b3a3a7\ <sample.exe>

2DJVU11

 

  • <sample.exe>O malware define o valor da chave de registro Software\ Microsoft\ Windows\ CurrentVersion\ Run como “SysHelper”, que aponta para C:\\ Users\\ <user_name>AppData\ Local\ 66245023-274c-4e81-a77c-e98336b3a3a7\ —Autostart.
  • Agora, o ransomware persiste no sistema da vĂ­tima. Sempre que o sistema Ă© inicializado, <sample>o.exe Ă© executado por um argumento de linha de comando —AutoStart

2DJVU12

 

2DJVU13

 

Execução do ICACLS
  • Logo apĂłs a modificação do registro, o malware usa o binĂĄrio icacls.exe, presente no Windows, para impedir que o diretĂłrio C:\\ Users\\ <user_name>AppData\ Local\ 66245023-274c-4e81-a77c-e98336b3a3a7 seja excluĂ­do pelo usuĂĄrio.
  • icacls.exe Ă© um aplicativo de console de configuração de permissĂ”es da Microsoft, para administradores de sistema gerenciarem arquivos. O malware prepara a linha de comando para os icacls, conforme mostrado abaixo:

2DJVU14

 

  • O binĂĄrio icacls Ă© executado por meio da API createProcessW () com os argumentos da linha de comando mencionados acima.

2DJVU15

 

  • Detalhamento da sintaxe do comando:

icacls.exe <Target_directory><Permission><Security_identifier>: <Inheritance_settings><Operations>

  • DiretĂłrio de destino: C:\\ Users\\ <user_name>AppData\ Local\ 66245023-274c-4e81-a77c-e98336b3a3a7
  • PermissĂŁo: /deny
  • Security_Identifier: *s-1-1-0 (world — Um grupo de cada usuĂĄrio)
  • Inheritance_settings: OI Ă© herança de objeto/CI Ă© herança de contĂȘiner
  • OperaçÔes: DE Ă© excluĂ­do/DC Ă© deletar filho

 

As entradas de controle de acesso (ACEs) marcadas somente com “Herança de objetos” são aplicáveis aos arquivos em uma pasta, mas não às subpastas dentro dessa pasta. Os ACEs marcados somente com “Container Inheritance” são aplicáveis às subpastas da pasta, mas não aos arquivos

icacls “C:\\ Users\\ <user_name>AppData\ Local\ 6625023-274c-4e81-a77c-e98336b3a3a7” /negar *s-1-1-0 :( OI) (CI) (DE, DC)

 

Isso impede que os usuĂĄrios excluam a pasta criada e seu conteĂșdo.

 

PersistĂȘncia por meio da tarefa agendada
  • O ransomware cria uma tarefa agendada que executa a cĂłpia da carga final com um argumento de linha de comando —Tarefa.
  • Isso Ă© feito usando as funcionalidades COM da plataforma Windows, que criam uma tarefa chamada “Tarefa Time Trigger”.

2DJVU16

 

Atributos da tarefa
Valores de atributoNome da tarefaTarefa de acionamento de tempoFrequĂȘncia de execução Intervalo de 5 minutos/“PT5M”Caminho binĂĄrio <sample>C:\\ Users\\ <user_name>AppData\ Local\ 66245023-274c-4e81-a77c-e98336b3a3a7\ .exe — Tarefa

 

  • A tarefa definida por malware e suas propriedades podem ser visualizadas no programa Agendador de Tarefas no Windows

2DJVU17

 

2DJVU18

 

  • Depois que a tarefa agendada for configurada, o malware se executa com um novo conjunto de argumentos de linha de comando, conforme mostrado abaixo:

“— Administrador nĂŁo Ă© AutoStart nĂŁo Ă© tarefa”

2DJVU19

 

  • O malware usa a API ShellExecuteEXW para executar imagens de malware novamente, com novos argumentos de linha de comando, e sai do sistema.

2DJVU20

 

  • Uma instĂąncia recĂ©m-criada do malware pode ser vista na lista de processos com os novos argumentos da linha de comando “—Admin IsNotAutoStart IsNotTask”

 

Comportamento baseado em parĂąmetros

O comportamento do malware é governado principalmente pelos argumentos da linha de comando. O ransomware STOP/DJVU tem dois gatilhos de execução significativos:

  • Acionador inicial
  • Acionador de tarefas agendadas

 

Gatilho inicial
  • Quando o malware Ă© implantado inicialmente, sem nenhum argumento na linha de comando, ele reaparece com os seguintes argumentos de linha de comando “—Admin IsNotAutoStart IsNotTask”.
  • Nesse estĂĄgio, o ransomware baixa ferramentas adicionais de malware, como trojans bancĂĄrios, no sistema da vĂ­tima.

 

Acionador de tarefas agendadas
  • Quando o ransomware Ă© executado a partir de uma tarefa agendada com o argumento de linha de comando “—Task”, ele começa a criptografar os arquivos no sistema da vĂ­tima.

Blogs relacionados