Ladrões distribuídos globalmente

Este artigo descreve nossa análise das principais famílias de ladrões de malware, revelando suas metodologias de operação, atualizações recentes e configurações. Ao entender o modus operandi de cada família, compreendemos melhor a magnitude do seu impacto e podemos fortalecer nossas defesas adequadamente.

Ladrões distribuídos globalmente

Introdução

Este artigo descreve nossa análise das principais famílias de malware para roubo de dados do Windows que identificamos, revelando suas metodologias de operação, atualizações recentes e configurações. Ao entendermos o modus operandi de cada família, compreendemos melhor a magnitude do seu impacto e podemos fortalecer as nossas defesas em conformidade. Além disso, examinaremos nossa telemetria exclusiva para oferecer informações sobre o volume atual associado a essas famílias de malware ladrão de dados mais comuns.

Mitigar esse tipo de ameaça oculta exige uma abordagem multifacetada, consistente com os princípios de defesa em profundidade. Descreveremos também várias técnicas de detecção, incluindo o uso de consultas de busca ES|QL e regras Yara, que permitem às organizações se defenderem proativamente contra elas.

Visão geral da telemetria

Os dados de telemetria apresentados neste artigo abrangem informações coletadas de fontes internas e externas, proporcionando uma compreensão abrangente da atividade de ameaças.

Notavelmente, entre 2022 e 2023, o REDLINE emergiu como o malware mais prevalente na natureza, seguido de perto pelo AGENT TESLA, VIDAR e, em seguida, pelo STEALC. Vale destacar que esse período marcou a estreia do STEALC em ambiente real, o que indica a evolução do cenário de ameaças.

No período subsequente, que abrange de 2023 a 2024, houve um aumento notável na atividade do AGENT TESLA, seguido por REDLINE, STEALC e VIDAR, refletindo tendências de mudança na prevalência e distribuição de malware.

Dados de telemetria elástica Maio 2023 - Maio de 2024

Apesar das flutuações na prevalência geral de malware, o AGENT TESLA tem mantido consistentemente sua posição como uma ameaça proeminente. Essa dominância duradoura pode ser atribuída a diversos fatores, incluindo seu preço relativamente baixo e suas capacidades atraentes, que cativam uma ampla gama de agentes maliciosos, principalmente aqueles que operam com recursos ou conhecimento limitados.

Uma observação importante é que, devido à base do METASTEALER no REDLINE, certas amostras do METASTEALER podem ser inadvertidamente classificadas como REDLINE.

Visão geral dos melhores ladrões

REDLINE (REDLINE STEALER)

O REDLINE fez sua estreia no cenário de ameaças em 2020, utilizando o e-mail como método inicial de distribuição; ele opera em um modelo de Malware como Serviço (MaaS), o que o torna acessível a uma ampla gama de agentes maliciosos. Seu baixo custo e disponibilidade em fóruns clandestinos contribuíram para sua popularidade entre os cibercriminosos.

As operações mais recentes da REDLINE envolvem múltiplos vetores de infecção, incluindo phishing por e-mail, sites maliciosos que hospedam aplicativos aparentemente legítimos e táticas de engenharia social. Nossos pesquisadores analisaram uma amostra recente relatada pela vx-underground, indicando uma campanha direcionada a engenheiros na plataforma de freelancers Fiverr. Essa tática apresenta riscos significativos, podendo comprometer a segurança das empresas por meio de freelancers desavisados.

O REDLINE foi desenvolvido com base no framework .NET, o que lhe confere portabilidade e facilidade de implementação. Possui diversas funcionalidades destinadas a coletar informações vitais do sistema e extrair dados sensíveis:

  • Aquisição de informações do sistema:
  • Coleta detalhes essenciais do sistema, como nome de usuário, idioma e fuso horário.
  • Recupera especificações de hardware, incluindo informações sobre o processador e a placa gráfica.
  • Monitora os processos em execução e identifica os navegadores instalados.
  • Extração de dados:
  • Visa repositórios de dados do navegador, extraindo senhas salvas, detalhes de cartão de crédito, cookies e entradas de preenchimento automático.
  • Obtém credenciais de login VPN para acesso não autorizado.
  • Registra credenciais de usuários e históricos de bate-papo de plataformas como Discord e Telegram.
  • Identifica e rouba carteiras de criptomoedas, comprometendo potencialmente ativos digitais valiosos:

O REDLINE utiliza uma técnica de ofuscação de strings para dificultar a análise e evitar a detecção com base em strings como "yara", construindo-as dinamicamente em tempo de execução a partir de um array de caracteres:

Sua configuração é estruturada dentro de uma classe estática, contendo quatro campos públicos: IP, ID, Message, e uma chave XOR. O conteúdo dos campos IP e ID é criptografado usando criptografia XOR e, em seguida, codificado em base64, conforme ilustrado abaixo:

METASTEALER

O METASTEALER surgiu em 2022, inicialmente anunciado como um derivado do REDLINE, com recursos adicionais; nossos analistas de malware encontraram recentemente uma amostra do METASTEALER em uma campanha que se passava pelo Roblox, anteriormente relatada pelo CERT como Orange Polska.

O METASTEALER foi desenvolvido principalmente usando o framework .NET, o que facilita sua compatibilidade com ambientes Windows e permite uma implementação simples. Algumas versões empregam métodos de ofuscação, incluindo o obscurecimento do fluxo de controle do malware, tornando-o mais difícil de detectar ou analisar.

Este exemplo do METASTEALER utiliza o ofuscador AGILE.NET , especificamente seu método de ofuscação de chamadas de proxy. Essa técnica é usada para ocultar a invocação direta de uma função original, introduzindo uma camada adicional de abstração. Em vez de invocar a função diretamente, o AGILE.NET gera um método proxy que, por sua vez, invoca a função original. Essa complexidade adicional torna mais difícil para os analistas de código discernir a sequência de ações.

Analisando o código acima, podemos ver que o método Delegate11.smethod_0 chama um Delegate11.delegate11_0 que não está inicializado, introduzindo ambiguidade durante a análise estática, pois os analistas não podem determinar qual método será realmente executado.

Em tempo de execução, o malware inicializará o delegado. ao chamar o método Class4.smethod_13 no construtor da classe Delegate11 , este método constrói um dicionário de valores de token, onde cada chave representa o valor do token de um delegado (por exemplo, 0x040002DE), e seu valor correspondente representa o token do método original a ser executado. Este dicionário é construído a partir de uma sequência de bytes armazenados no binário, permitindo a resolução dinâmica de invocações de métodos durante a execução.

Em seguida, ele gerará um método dinâmico para o delegado e o executará usando a função smethod_0 .

Todas as strings importantes na configuração, como o endereço IP e a porta do C2, estão criptografadas. O malware possui uma classe chamada Strings que é invocada no início da execução para descriptografar todas as strings de uma só vez, um processo que envolve uma combinação de codificação Base64, descriptografia XOR e descriptografia AES CBC.

Inicialmente, os parâmetros AES, como AES KEY e AES IV, são descriptografados. No exemplo fornecido, AES KEY e AES IV são primeiro decodificados em base64. Em seguida, são submetidos à descriptografia XOR usando uma chave XOR predeterminada, seguida por duas etapas consecutivas de decodificação em base64.

A classe Strings armazena arrays de bytes que são descriptografados usando AES CBC após serem invertidos e, em seguida, adicionados à lista Strings.Array . Posteriormente, quando o malware necessita de sequências específicas, ele acessa essas sequências indexando essa lista. Por exemplo, String.get(6).

AÇO

Um importante participante recente no espaço stealer descoberto por Sekoia em fevereiro 2023 é a família STEALC . Este malware foi anunciado pela primeira vez em um fórum clandestino em janeiro 2023 onde o desenvolvedor mencionou uma grande dependência de famílias existentes como VIDAR, RACOON e REDLINE. Desde então, nossa equipe tem observado diariamente novas amostras do STEALC, que demonstram sinais de popularidade e adoção por cibercriminosos.

O STEALC é implementado em C e inclui recursos como importações dinâmicas, ofuscação de strings e várias verificações anti-análise antes de ativar suas capacidades de roubo de dados. Para proteger o binário e suas funcionalidades principais, o STEALC criptografa suas strings usando uma combinação de Base64 + RC4 com uma chave codificada embutida em cada amostra.

Existem 6 funções separadas usadas para verificações anti-análise/anti-sandbox dentro do STEALC. Com base no número de processadores, o STEALC se encerrará automaticamente se o número de processadores ativos for menor que 2.

O STEALC realiza um teste de sandbox/emulação usando uma API do Windows mais obscura (VirtualAllocExNuma) para alocar uma grande quantidade de memória. Caso a API não seja implementada, o processo será encerrado.

O malware realiza outra verificação de sandbox lendo valores de GlobalMemoryStatusEx. Após um deslocamento de byte em relação aos atributos coletados da memória física, se o valor for menor que 0x457 a amostra será encerrada.

O malware interromperá a execução se o identificador de idioma corresponder a um dos seguintes LangIDs:

  • Rússia_Rússia (0x419)
  • Ucraniano_Ucrânia (0x422)
  • Bielorrusso_Belarus (0x423)
  • Cazaquistão_Cazaquistão (0x43f)
  • Uzbeque_Latin__Uzbequistão (0x443)

O STEALC também incorpora a verificação de emulação do Microsoft Defender; observamos isso em muitos programas de roubo de identidade, como o LOBSHOT. O STEALC será encerrado se os seguintes valores codificados corresponderem dentro da camada de emulação do Microsoft Defender com o nome de usuário JohnDoe e o nome do computador HAL9TH.

Uma das verificações anti-análise mais impactantes que acompanham o STEALC é a data de validade. Esse valor único é inserido na configuração do malware para garantir que o programa não seja executado após uma data específica definida pelo desenvolvedor. Isso permite que o malware mantenha um perfil mais discreto, utilizando ciclos de execução mais curtos em suas campanhas e limitando a execução em ambientes de sandbox.

STEALC - Fluxo de execução

Após sua execução inicial, o STEALC enviará o ID de hardware inicial da máquina e receberá uma configuração do servidor C2:

f960cc969e79d7b100652712b439978f789705156b5a554db3acca13cb298050efa268fb|done|tested.file|1|1|1|1|1|1|1|1|

Após essa solicitação, serão enviadas várias outras solicitações para receber uma lista atualizada dos navegadores e extensões de navegador visados. Abaixo segue um exemplo da configuração do navegador, que contém o caminho do diretório de destino onde os dados confidenciais estão armazenados.

Google Chrome|\Google\Chrome\User Data|chrome|chrome.exe|Google Chrome Canary|\Google\Chrome SxS\User Data|chrome|chrome.exe|Chromium|\Chromium\User Data|chrome|chrome.exe|Amigo|\Amigo\User Data|chrome|0|Torch|\Torch\User Data|chrome|0|Vivaldi|\Vivaldi\User Data|chrome|vivaldi.exe|Comodo Dragon|\Comodo\Dragon\User Data|chrome|0|EpicPrivacyBrowser|\Epic Privacy Browser\User Data|chrome|0|CocCoc|\CocCoc\Browser\User Data|chrome|0|Brave|\BraveSoftware\Brave-Browser\User Data|chrome|brave.exe|Cent Browser|\CentBrowser\User Data|chrome|0|7Star|\7Star\7Star\User Data|chrome|0|Chedot Browser|\Chedot\User Data|chrome|0|Microsoft Edge|\Microsoft\Edge\User Data|chrome|msedge.exe|360 Browser|\360Browser\Browser\User Data|chrome|0|QQBrowser|\Tencent\QQBrowser\User Data|chrome|0|CryptoTab|\CryptoTab Browser\User Data|chrome|browser.exe|Opera Stable|\Opera Software|opera|opera.exe|Opera GX Stable|\Opera Software|opera|opera.exe|Mozilla Firefox|\Mozilla\Firefox\Profiles|firefox|0|Pale Moon|\Moonchild Productions\Pale Moon\Profiles|firefox|0|Opera Crypto Stable|\Opera Software|opera|opera.exe|Thunderbird|\Thunderbird\Profiles|firefox|0|

Nesse ponto, a STEALC coletará uma ampla gama de informações sobre as vítimas. Essas informações são então formatadas, codificadas em Base64 e enviadas ao servidor C2 por meio de solicitações POST usando campos de dados de formulário.

  • ID de hardware
  • Informações sobre o sistema operacional Windows
  • Informações sobre o processador/RAM
  • Nome de usuário / nome do computador
  • Hora do sistema local / fuso horário / localidade da vítima
  • Layout do teclado
  • Verificação da bateria (usada para determinar se o laptop está funcionando ou não)
  • Resolução da área de trabalho, informações de exibição
  • Programas instalados, processos em execução

Para o componente de roubo, o STEALC aproveita as configurações recebidas para coletar diversas informações valiosas, incluindo:

  • Browser cookies
  • Dados de login
  • Dados da Web
  • História
  • Carteiras de criptomoedas

A STEALC também oferece diversas outras opções de configuração, incluindo:

  • Dados do Telegram
  • Discórdia
  • Tox
  • Pidgin
  • Vapor
  • E-mails do Outlook
RedLineStealerLadrão de MetaRoubar
Primeira vez vista na natureza.202020222023
Língua de origemC#C#C
Tamanho médio (sem embalagem)253 KB278 KB107 KB
Ofuscação de strings? Algo?SimSimSim (RC4 personalizado + base64)

Detecção

Para aproveitar ao máximo os recursos de detecção listados abaixo para essas ameaças com o Elastic Security, é essencial integrar o Elastic Defend ao Windows.

ES|QL queries

A seguinte lista de buscas e consultas de detecção pode ser usada para detectar atividades de ladrões:

  • Identifica executáveis não confiáveis ou não assinados que fazem solicitações de DNS para domínios do Telegram ou Discord, o que pode indicar tentativas de comunicação de comando e controle.

    from logs-endpoint*
    | where (process.code_signature.trusted == false or process.code_signature.exists == false)
    | where dns.question.name in ("api.telegram.com", "cdn.discordapp.com",
                                    "discordapp.com", "discord.com","discord.gg","cdn.discordapp.com")
    | stats executable_count = count(*) by process.executable, process.name, dns.question.name
    | sort executable_count desc
  • Detecta atividades suspeitas direcionadas a arquivos e configurações de carteiras de criptomoedas armazenados em sistemas Windows.

    from logs-endpoint.events.file-*
    | where @timestamp > now() - 14 days
    | where host.os.type == "windows"
    and event.category == "file"
    and event.action == "open" 
    and (
      file.path rlike """C:\\Users\\.+\\AppData\\Roaming\\.+\\(Bitcoin|Ethereum|Electrum|Zcash|Monero|Wallet|Litecoin|Dogecoin|Coinbase|Exodus|Jaxx|MyEtherWallet|MetaMask)\\.*"""
      or file.path rlike """C:\\ProgramData\\.+\\(Bitcoin|Ethereum|Electrum|Zcash|Monero|Wallet|Litecoin|Dogecoin|Coinbase|Exodus|Jaxx|MyEtherWallet|MetaMask)\\.*"""
    )
    | keep process.executable, process.name, host.id, file.path, file.name
    | stats number_hosts = count_distinct(host.id), unique_files = count_distinct(file.name) by process.executable
    | where number_hosts == 1 and unique_files >= 3
    | sort number_hosts desc
  • Monitora o acesso a dados sensíveis do navegador, como cookies, dados de login e histórico de navegação, o que pode indicar atividades de malware para roubo de informações.

    from logs-endpoint.events.file-*, logs-windows.sysmon_operational-default-*
    | where @timestamp > now() - 14 days
    | where host.os.type == "windows"
    and event.category == "file"
    and event.action in ("open", "modification")
    and (
      file.path rlike "C:\\\\Users\\\\.+\\\\AppData\\\\Local\\\\(Google\\\\Chrome\\\\User Data\\\\.*|Google\\\\Chrome SxS\\\\User Data\\\\.*|Chromium\\\\User Data\\\\.*|Amigo\\\\User Data\\\\.*|Torch\\\\User Data\\\\.*|Vivaldi\\\\User Data\\\\.*|Comodo\\\\Dragon\\\\User Data\\\\.*|Epic Privacy Browser\\\\User Data\\\\.*|CocCoc\\\\Browser\\\\User Data\\\\.*|BraveSoftware\\\\Brave-Browser\\\\User Data\\\\.*|CentBrowser\\\\User Data\\\\.*|7Star\\\\7Star\\\\User Data\\\\.*|Chedot\\\\User Data\\\\.*|Microsoft\\\\Edge\\\\User Data\\\\.*|360Browser\\\\Browser\\\\User Data\\\\.*|Tencent\\\\QQBrowser\\\\User Data\\\\.*|CryptoTab Browser\\\\User Data\\\\.*|Opera Software\\\\Opera Stable\\\\.*|Opera Software\\\\Opera GX Stable\\\\.*)\\\\(Default|Profile \\\\d+)\\\\(Cookies|Login Data|Web Data|History|Bookmarks|Preferences|Visited Links|Network Action Predictor|Top Sites|Favicons|Shortcuts)"
      or file.path rlike "C:\\\\Users\\\\.+\\\\AppData\\\\Roaming\\\\Mozilla\\\\Firefox\\\\Profiles\\\\.*\\\\(cookies.sqlite|logins.json|places.sqlite|key4.db|cert9.db)"
      or file.path rlike "C:\\\\Users\\\\.+\\\\AppData\\\\Roaming\\\\Moonchild Productions\\\\Pale Moon\\\\Profiles\\\\.*\\\\(cookies.sqlite|logins.json|places.sqlite|key3.db|cert8.db)"
      or file.path rlike "C:\\\\Users\\\\.+\\\\AppData\\\\Roaming\\\\Thunderbird\\\\Profiles\\\\.*\\\\(cookies.sqlite|logins.json|key4.db|cert9.db)"
    )
    | keep process.executable, process.name, event.action, host.id, host.name, file.path, file.name
    | eval process_path = replace(process.executable, "([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|ns[a-z][A-Z0-9]{3,4}\\.tmp|DX[A-Z0-9]{3,4}\\.tmp|7z[A-Z0-9]{3,5}\\.tmp|[0-9\\.\\-_]{3,})", "")
    | eval process_path = replace(process_path, "[cC]:\\\\[uU][sS][eE][rR][sS]\\\\[a-zA-Z0-9\\.\\-_\\$~ ]+\\\\", "C:\\\\users\\\\user\\\\")
    | eval normalized_file_path = replace(file.path, "[cC]:\\\\[uU][sS][eE][rR][sS]\\\\[a-zA-Z0-9\\.\\-_\\$~ ]+\\\\", "C:\\\\users\\\\user\\\\")
    | stats number_hosts = count_distinct(host.id) by process.executable, process.name, event.action, normalized_file_path, file.name, host.name
    | where number_hosts == 1
    | sort number_hosts desc

Regras YARA

Conclusão

Em conclusão, é crucial reconhecer que essas ameaças de malware representam riscos significativos tanto para empresas quanto para indivíduos. Seu preço acessível os torna disponíveis não apenas para cibercriminosos sofisticados, mas também para infratores de menor potencial ofensivo e usuários iniciantes de scripts. Essa acessibilidade ressalta a democratização do cibercrime, em que até mesmo indivíduos com conhecimento técnico limitado podem implantar softwares maliciosos.

O conjunto abrangente de recursos de segurança da Elastic oferece às organizações e aos indivíduos as ferramentas necessárias para se defenderem eficazmente contra ataques de malware. Desde detecção avançada de ameaças até recursos de monitoramento e resposta em tempo real.

Compartilhe este artigo