Voltar
Malware Intelligence
Tabela de conteúdo
  • Autor: Mehardeep Singh Sawhney
  • Editora: Suchita Katira

Resumo

Objetivo

O objetivo deste relatório é dar uma compreensão clara do funcionamento do Eternity Stealer, fornecendo uma explicação básica de suas técnicas e métodos.

O Ladrão da Eternidade

Esse ladrão é escrito em C# e é capaz de roubar dados de vários aplicativos conhecidos. Esses dados roubados podem ser usados sozinhos para comprometer as contas dos usuários ou podem ser usados em coordenação com outras explorações. O principal impacto causado por esse ladrão é visto na enorme quantidade de PII roubada de usuários infectados.

Análise estática básica

Uma análise rápida de strings e do Portable Executable (PE) na amostra fornece algumas dicas. Foram observadas sequências de caracteres como mscoree.dll e cadeias de caracteres que contêm a palavra ladrão. A análise de PE mostra que a assinatura no executável é .NET, o que indica que provavelmente é um ladrão escrito em C#.

Strings pointing towards a C# Stealer
Strings apontando para um C# Stealer
PE analysis pointing towards a C# Stealer
Análise de PE apontando para um C# Stealer

Uma análise mais aprofundada mostra que a maioria dos nomes das funções está ofuscada. Analisando a função principal, há mais ofuscação e ruído; no entanto, SSD e DS são duas funções conspícuas, que parecem ser amplamente usadas em todo o código.

Obfuscation used in the Main function
Ofuscação usada na função principal

Ofuscação

As funções SSD e DS usam ofuscação para retardar o processo de análise. A função SSD pega argumentos criptografados em AES da função DS e os codifica ainda mais. As cadeias de caracteres ofuscadas são codificadas em Base64.

SDD function
Função SDD
DS functions
Funções do DS

Após a desofuscação da string, deduziu-se que o agente da ameaça está construindo um link com o objetivo de extrair os dados. Os seguintes parâmetros são usados no link para a comunicação:

Deobfuscated parameters
Parâmetros desofuscados

 

ParâmetrosDescriçãoPWDSSenhas roubadas Cartões de crédito roubados WLTSCarteiras roubadas Arquivos roubados Informações do usuário roubadas Informações do usuário roubadas Informações do computador roubadas Recupera informações de IP da API de terceiros País Recupera o país da API de terceiroRecupera a cidade da API de terceirosTag Define seu valor como Domínio padrão (a funcionalidade é enigmática) Informações de domínio roubadas Informações do Active Directory

Roubo de dados

Após a inicialização dos manipuladores para diferentes tipos de dados roubados, uma matriz é inicializada usando a função Create (). Esse é um ponto crucial no código, pois a função Create () instancia os dados roubados pelo ladrão e cria uma matriz para eles. Essa matriz será consumida por uma função responsável por enviar dados para o C2.

Create() function and a part of its contents
Função Create () e parte de seu conteúdo

Muitos métodos de roubo estão presentes na função, cada um específico para um software ou aplicativo específico. O ladrão Eternity tem a capacidade de roubar dados de vários aplicativos, incluindo Discord, Telegram, Google Chrome e NordVPN.

Create() function and a part of its contents
Função Create () e parte de seu conteúdo

 

Aplicativos direcionados pelo Eternity StealerGerentes de credenciaisWindows Vault, Gerenciador de credenciais, KeePass, NordPass, 1Password, RoboFormAplicativos de jogos e streamingSteam, Twitch, OBSAplicativos de FTPFileZilla, WinSCP, CoreFTP, floco de neveAplicativos VPNNordVPN, Earth VPN, Windscripe VPN, Azire VPNAplicativos de mensagens e e-mailTelegram, Discord, Pidgin, Outlook, FoxMail, MailBird, Viber, WhatsApp, Signal, RamboxCarteirasBinance, Monero, BitcoinCore, DashCoinCore, LiteCoinCore, Electrum, Exodus, Atomic, TonWallet, Jaxx, Coinomi, Daedalus, Zcash, Guarda, Wasabi, BitWardenNavegadoresGoogle Chrome, Firefox

Gerentes de credenciais

O Eternity Stealer tem funções específicas responsáveis por roubar credenciais de gerentes de credenciais. Uma dessas funções é enumerateCredentials ().

Cofre do Windows

O Windows Vault é um mecanismo de armazenamento protegido usado pelo Windows para armazenar senhas de navegadores, informações do sistema etc. As funções integradas são usadas pelo ladrão para acessar as credenciais armazenadas no Windows Vault. Funções diferentes, como VaultGetItem_win7 () e VaultGetItem_win8 (), são usadas para diferentes versões do Windows. O ladrão enumera todos os Vaults chamando vaultEnumerateVaults ().

Windows Vault enumeration
Enumeração do Windows Vault

Gerente de credenciais

O Credential Manager é outro mecanismo de armazenamento protegido usado em versões relativamente novas do Windows. Ele permite que o usuário visualize e gerencie as credenciais armazenadas, como senhas usadas para autenticação de sites. Semelhante ao Windows Vault, o Credential Manager tem suas próprias funções integradas para enumeração. Uma das funções, CredEnumerate, é usada pelo ladrão para enumerar conjuntos de credenciais específicos do usuário. Como não há filtro definido, a função retorna todas as credenciais. O ladrão também cria a função readCredential () para analisar os dados com base nas condições.

Credential Manager Enumeration
Enumeração do gerenciador de credenciais

Aplicativos de jogos e streaming

O Eternity Stealer é capaz de roubar dados de vários aplicativos de jogos e streaming, incluindo Steam, Twitch e OBS.

Plataforma de jogos Steam

O Steam é um aplicativo de jogo popular que permite aos usuários comprar jogos e uma variedade de itens do jogo por meio de seu recurso comunitário. O ladrão procura extensões de arquivo específicas no diretório do Steam. Os arquivos ssfn podem ser usados para contornar o serviço Steam Guard do Steam, responsável pela autenticação de dois fatores, desde que o atacante tenha as credenciais do usuário. Além disso, ele rouba arquivos com a extensão.vdf, que são arquivos específicos do jogo que contêm metadados e informações relacionadas ao jogo, como os itens do jogo de propriedade do usuário.

Steam Data Enumeration
Enumeração de dados do Steam

2 EMPREGOS

OBS é um aplicativo popular de gravação de tela e transmissão ao vivo. O ladrão extrai dados, como informações de perfil, informações de banco de dados, etc., do aplicativo.

Stealer making entries for OBS data
Ladrão fazendo entradas para dados do OBS

Aplicativos de FTP

O Eternity Stealer extrai credenciais de muitos aplicativos de FTP, como WinSCP, FileZilla e CoreFTP.

WinSCP

O WinSCP é um cliente FTP de código aberto. As credenciais do WinSCP podem ser armazenadas em um formato criptografado, que o ladrão é capaz de descriptografar.

Decryption routine created by the Stealer
Rotina de decodificação criada pelo Stealer

CoreFTP

O CoreFTP é um cliente de FTP gratuito que armazena senhas em formato criptografado. O ladrão tem uma função para descriptografar as senhas.

Decryption routine created by the Stealer
Rotina de decodificação criada pelo Stealer

Aplicativos VPN

NordVPN

O NordVPN é um conhecido provedor de serviços VPN. O ladrão da Eternidade decifra e decodifica as credenciais roubadas.

Decryption routine created by the Stealer
Rotina de decodificação criada pelo Stealer

Aplicativos de mensagens e e-mail

Telegram

O Telegram é um aplicativo de mensagens popular. Os arquivos e dados que revelam informações confidenciais do Telegram, como detalhes da sessão, são exfiltrados.

Telegram data stolen by the Stealer
Dados do Telegram roubados pelo Stealer

Perspectiva

O Outlook é um aplicativo popular de gerenciamento de e-mail e informações da Microsoft. O ladrão decifra várias senhas roubadas coletadas do Outlook acessando informações críticas das chaves do registro.

Decryption routine created by the Stealer
Rotina de decodificação criada pelo Stealer
Data stolen from registry keys
Dados roubados das chaves de registro

Carteiras

O ladrão Eternity rouba dados de várias carteiras de criptomoedas.

Núcleo do Bitcoin

O Bitcoin Core é um sistema e carteira de gerenciamento de blockchain de código aberto. As informações do blockchain e da carteira são extraídas acessando os dados das chaves de registro.

Stealer accessing registry data
Ladrão acessando dados de registro

Electrum

A Electrum é uma carteira de criptomoedas popular para usuários bem versados em criptomoedas. Os arquivos de configuração do Electrum e os pares de valores-chave recuperados são extraídos.

Stealing data from directories and retrieving key-value pairs
Roubando dados de diretórios e recuperando pares de valores-chave

Navegadores

Diferentes tipos de dados de navegadores populares, como senhas, detalhes de cartão de crédito etc., são obtidos pelo ladrão.

Google Chrome

Vários tipos de dados salvos do Chrome, incluindo senhas, detalhes do cartão de crédito e detalhes do preenchimento automático, estão comprometidos. As senhas são extraídas enumerando as informações da sessão de um usuário do domínio, que contêm informações da MasterKey. Isso é então usado para descriptografar senhas.

Stealing MasterKey
Roubando a MasterKey
Using MasteKey to decrypt passwords
Usando o MasteKey para descriptografar senhas

Firefox

O ladrão é capaz de roubar e descriptografar senhas roubadas do Firefox.

Decryption routine created by the Stealer
Rotina de decodificação criada pelo Stealer

Senhas de WiFi

O ladrão Eternity extrai senhas de rede executando dois comandos netsh simples, fornecidos pelo Windows.

Network Enumeration
Enumeração de rede

Enumeração do Active Directory

O Eternity Stealer enumera as informações do Active Directory. Ele usa a classe ManagementObject para executar uma consulta WMI para enumerar as informações do domínio. Essas informações são usadas para determinar se a máquina infectada pertence a um domínio ou não.

Command used to enumerate Active Directory information
Comando usado para enumerar as informações do Active Directory

Captador de arquivos

O ladrão tem a funcionalidade de captura de arquivos. Ele prioriza arquivos com a extensão.txt e os categoriza como importantes.

File grabber prioritizing .txt files
Captador de arquivos priorizando arquivos.txt

Detalhes da localização

O ladrão armazena informações sobre a localização da vítima, incluindo cidade, país e endereço IP. Os dados são obtidos usando um site e formatados de acordo.

Stealer getting and formatting information
Stealer obtendo e formatando informações

Operações de rede

Um URL específico é usado para armazenar os dados roubados, o que indica o uso de um servidor C2. Análises adicionais da função principal mostram que o ladrão faz solicitações na web. A matriz inicializada anteriormente com os dados roubados é enviada para o servidor C2.

Deobfuscated proxy configuration
Configuração de proxy desofuscada
Stealer uploading data to C2 server
Stealer fazendo upload de dados para o servidor C2

Indicadores de compromisso (IOCs)

URLshttp://lightnogu5owjjllyo4tj2sfos6fchnmcidlgo6c7e6fz2hgryhfhoyd.onion/stealer/http://wasabiwallet.online:7777/

Referências

 

Nenhum item encontrado.

Blogs relacionados