🚀 A CloudSEK se torna a primeira empresa de segurança cibernética de origem indiana a receber investimentos da Estado dos EUA fundo
Leia mais

Um ladrão de informações é um software malicioso (malware) que busca roubar dados privados de um dispositivo comprometido, incluindo senhas, cookies, informações de preenchimento automático de navegadores e informações de carteiras de criptomoedas.
Desde o início de 2019, o malware Raccoon foi oferecido como malware como serviço em vários fóruns de crimes cibernéticos. O grupo Raccoon Stealer, no entanto, foi dissolvido em março de 2022 como resultado da morte de um de seus desenvolvedores seniores na guerra Ucrânia-Rússia.
Em junho de 2022, uma nova versão do ladrão de guaxinins foi identificada na natureza pelos pesquisadores da Sekoia. Inicialmente, o malware foi chamado de”Quebrador de recordes”, mas foi posteriormente identificado como uma versão revivida do Raccoon Stealer. O desenvolvedor do Raccoon stealer (MaaS) é muito ativo em fóruns clandestinos, atualizando regularmente o malware e publicando sobre as novas versões de recursos no fórum.

Amostras de guaxinim foram vistas na natureza em várias ocasiões. Enquanto alguns deles foram protegidos por protetores de código comerciais, como VMProtect e Themida, outros foram vistos embalados em pacotes comunitários populares, como Armadillo.
CloudSEKA telemetria da foi capaz de coletar uma amostra muito interessante do Raccoon que empregou técnicas de anti-análise e anti-depuração muito eficazes para frustrar as tentativas de análise. A amostra abordada neste relatório é única em termos da implantação do malware.
O empacotador usado para ofuscar o ladrão foi projetado especificamente para realizar as duas tarefas principais:
O rastreamento da API do malware proporcionou uma maior compreensão da parte interna do empacotador, sem precisar passar muito tempo em um depurador. Um comportamento muito interessante encontrado no registro de rastreamento é mostrado abaixo.

A sequência de operações acima é executada duas vezes e, em seguida, o empacotador retoma as roscas suspensas.

Os dados gravados pelo malware foram recuperados pelos pesquisadores do CloudSEK com a ajuda da instrumentação.




A conexão desempenha um papel importante na fase de carregamento do ladrão, e o empacotador está conectando as duas APIs a seguir:
Experimentando com os valores de retorno do kernel32! Memória do processo de gravação a chamada durante a análise ajudou a confirmar a conexão de ntdll! Memória virtual ZW Protect, que é uma etapa crucial no processo de infecção. Falha ao enganchar ntdll! Memória virtual ZW Protect faz com que o malware seja encerrado e o seguinte aviso apareça.

Esse comportamento não é observado quando o malware não consegue se conectar. ntdll! Ingressão remota do DBGUI, pois o programa não é encerrado.
Depois que o Raccoon Stealer é executado, as APIs são carregadas dinamicamente na memória. Essas APIs são usadas posteriormente pelo malware para realizar atividades maliciosas na máquina comprometida.

Depois de carregar as bibliotecas com sucesso, o ladrão decodifica todas as strings na memória. As versões anteriores do ladrão usavam a decodificação RC4 para criptografar as sequências.

No entanto, a versão recente usa uma codificação personalizada baseada em XOR para criptografar as cadeias de caracteres.

O ladrão chama o kernel32! Obtenha o nome local padrão para recuperar o idioma do sistema (nome do local) e, em seguida, compará-lo com a string “RU”. No caso de uma correspondência positiva, nenhuma lógica é implementada para execução, o que mostra que o malware ainda está em desenvolvimento. No futuro, podemos esperar que o ladrão se mate depois que uma partida for encontrada.
Após a verificação do nome da localidade, o ladrão procura por qualquer amostra ativa de malware, ligando Kernel3.2. OpenMutexw. Se um processo ativo de malware for encontrado, a execução atual do malware será encerrada, caso contrário, um novo mutex será criado no sistema.

Leia também Análise técnica do Bumblebee Malware Loader
Depois que o Mutex é criado, o Raccoon verifica os privilégios do processo do usuário seguindo as etapas abaixo:

Se o processo estiver elevado, os processos em execução no sistema serão enumerados conforme mostrado abaixo:

É interessante notar que o resultado retornado (1/0) não é usado em nenhum lugar pelo Raccoon. A principal razão por trás disso pode ser a grande probabilidade de o malware ainda estar sendo desenvolvido ativamente, e algumas mudanças no código de futuras amostras do Raccoon devem ser antecipadas.
Também para ler Aviso da Intel sobre a ameaça de malware Raccoon Stealer
Os atacantes empregam um conjunto de ferramentas e procedimentos conhecidos como infraestrutura de comando e controle, geralmente abreviados como C2 ou C&C, para manter contato com os dispositivos comprometidos após a obtenção do acesso inicial. O ladrão Raccoon liga para casa pela primeira vez enviando uma string exclusiva para o C2. A string, para a comunicação, é criada com as seguintes informações:
Computador\ HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Criptografia


O ladrão Raccoon usa as seguintes etiquetas identificadoras C2 para controlar o comportamento do ladrão.
IdentificadorDescriçãolibs_Biblioteca PE/DLL para baixarnoticias_Extensões do navegadorwalts_Roubo de carteiras criptográficassstmnfo_ Coleta informações do sistema e lista de aplicativos instaladosscrnsht_Faz uma captura de telatlgrm_Rouba dados do Telegram Desktopgrbr_Captador de senhasdscrd_Ladrão de Discordldr_Lança cargas úteis adicionais, como RATsfichaIdentificador exclusivo para rastrear a campanha
Depois que o ladrão obtém a configuração C2 do C2, ele começa a analisar a configuração, procurando a libs_ identificador para baixar os arquivos legítimos da biblioteca, como:
Eles são baixados para o Usuário\ AppData\ LocalLow diretório e não são carregados na memória.

O malware carrega as DLLs necessárias na memória, durante o processo de roubo de informações, e resolve dinamicamente várias funções. As imagens abaixo mostram o carregamento dinâmico da API de sqlite.dll e ns33.dll, respectivamente.


Depois de buscar as bibliotecas, um perfil do host é criado e enviado para o C2 como um ”Sistema Info.txt” arquivo.

O ladrão executa o perfil do host somente se identificador sstmnfo_ está presente na configuração C2. As seguintes informações são enumeradas no perfil do host:
O malware rouba informações salvas pelos navegadores da web no diretório AppData do usuário local. Os diretórios primários visados são “Dados do usuário” e Perfil .
O ladrão está interessado nos seguintes dados do navegador:
Como qualquer ladrão, o Raccoon realiza as seguintes operações para roubar os dados do navegador:
O baixado anteriormente sqlite.dll é carregado na memória para resolver os endereços das funções necessárias para consultar dados do banco de dados do navegador. As imagens a seguir contêm as várias consultas SQL empregadas pelo malware para roubar os dados do navegador Chrome.



O baixado anteriormente ns33.dll é carregado na memória para recuperar os dados armazenados pelo Mozilla Firefox. O ladrão então passa a roubar os dados de cookies, login e histórico de formulários do navegador. O ”ffcookies.txt” O nome do arquivo é usado para enviar dados roubados do Firefox para o servidor C2.



A tabela abaixo contém a lista de carteiras e extensões da web alvo do malware Raccoon.
CarteirasExodus Atomic Jaxx Liberty Electron Cash Binance Coin Omi Electrum Ledger Guarda Monero Ron Indaedalus Blockstream Green MetawasabiExtensões da WebMetaxxDefi Waves Keeper Solflare Rabby Cyanocoin Base Auromina KHC Tezbox Coin 98 Temple Icon Exsollet Clover Polymesh Neoline Keplr Terrastation Liquality Saturn Wallet Guildwallet Phantom Link Brave Metamaskron em MewCX Tongo by BitKeep CosmoStation Gamestop Stargazerenkryptjyptjypt Carteira Axx Liberty CloverO malware usa o identificador grbr_ para ativar a funcionalidade grabber e começa a pesquisar no sistema por arquivos como arquivos de senha, sementes de carteira, etc.

Raccoon rouba dados do Telegram do “Telegram Desktop”\ tdata diretório. Ele está particularmente interessado nos diretórios que contêm user_data, emoji, tdummy e dumps.
O ladrão também é capaz de roubar dados do Discord, como tokens, mas esse recurso não é ativado por padrão. O operador do malware precisa fornecer explicitamente um “dscrd_” identificador na configuração para ativar essa opção.
Além de roubar informações, o Raccoon também pode fazer capturas de tela do sistema comprometido usando o “scrnsht_” identificador na configuração C2. Os detalhes do processo de captura de tela são explicados abaixo.

Lista de APIs resolvidasGdiplus! GDIplus Inicialize o GDI Plus! GDIP Descarte a imagem GDIplus! GDIP Obtenha codificadores de imagem GDIPLUS! Obtenha codificadores de imagem do tamanho GDI Plus! GDIP Crie bitmap a partir do hBitmap GDIplus! GDIP Salve a imagem no arquivo GDI32! BitBLTGDI32! Crie um Bitmap GDI32 compatível! Crie um CGDI32 compatível! Exclua o objeto GDI32! Obtenha o objeto WGDI32! Selecione o objeto GDI32! Defina o modo Stretch BLT GDI 32! Tampão elástico

O Raccoon stealer, como qualquer outro malware de sua classe, tem a capacidade de executar malwares adicionais fornecidos pelo usuário (como RATs) no sistema comprometido. De acordo com a análise de várias amostras do CloudSEK, esse recurso não está presente por padrão. Assim, quando o ladrão busca a configuração, o operador precisará habilitar explicitamente esse recurso fornecendo a ldr_ identificador com uma URL para buscar o executável de carga adicional junto com as informações do diretório, para instalá-lo/soltá-lo no sistema para execução posterior.
A imagem abaixo mostra o módulo responsável por esse recurso. Inicialmente, o módulo verifica a identificador ldr_ na configuração C2. Se nenhum Idr_ estiver presente, o fluxo retornará à sua função principal.

Se o C2 contiver um identificador ldr_, o código a seguir é usado para executar o executável obtido. O shell32! Shell Execute W A API é chamada passando o arquivo e a operação 'open' como parâmetros.

Antes de sair do sistema, o ladrão exclui os arquivos DLL que foram carregados na memória durante a operação e encerra sua execução.