Brasil,

Conheça o malware PyXie: um novo RAT nefasto escrito em Python

  • Crédito de Imagens:Divulgação - Escrito ou enviado por  Camile Freitas
  • SEGS.com.br - Categoria: Info & Ti
  • Imprimir

BlackBerry Cylance detalha o funcionamento e a atuação do malware

Introdução

Pesquisadores da BlackBerry Cylance descobriram recentemente um RAT (Remote Administrator Tool) em Python, que foi batizado de PyXie. As amostras mais antigas do PyXie mostram o malware no ambiente virtual desde pelo menos 2018, sem chamar muita atenção da indústria de segurança cibernética.

O PyXie faz parte de uma campanha em andamento que tem como alvo uma ampla variedade de indústrias. Foi visto em conjunto com os sinalizadores do Cobalt Strike e com um downloader que tem semelhanças com o Trojan bancário Shifu. Os analistas da BlackBerry Cylance também observaram evidências de tentativas de ataque de ransomware com o PyXie nos setores de saúde e educação.

A BlackBerry Cylance conduziu vários episódios de resposta a incidentes (IR) nos quais o PyXie foi identificado nos hosts do ambiente da vítima.

Os principais destaques da campanha do PyXie incluem:
· binários legítimos do LogMeIn e do Google usados para descarregar payloads;
· um aplicativo Tetris “trojanizado” para carregar e executar os suportes do Cobalt Strike a partir de compartilhamentos internos de rede;
· uso de um downloader que tem semelhanças com o Shifu, chamado "Cobalt Mode";
· uso do Sharphound para coletar informações do diretório ativo das vítimas;
· um interpretador Python compilado e personalizado que usa opcodes codificados para dificultar a análise;
· uso de um algoritmo RC4 modificado para criptografar payloads com uma chave exclusiva para cada host infectado.

Análise geral do ataque
Primeira etapa -- carregamento
A campanha usa uma técnica de carregamento lateral utilizando aplicativos legítimos para carregar os componentes do primeiro estágio do malware. Observamos duas variantes diferentes de carregadores mal-intencionados visando aplicativos populares que podem ser encontrados na maioria dos computadores:
· LMIGuardianDll.dll -- carregado lateralmente por um binário assinado (LmiGuardianSvc.exe) do LogMeIn;
· Goopdate.dll -- carregado lateralmente por um binário assinado (GoogleUpdate.exe) do Google.

Depois de carregada pelo binário LogMeIn ou Google, a DLL maliciosa localizará sua carga criptografada correspondente. Ela faz isso pegando o caminho completo no qual foi carregada e anexando uma extensão .dat a ele. Por exemplo, se a DLL mal-intencionada se chamar LmiGuardianDLL.dll, o nome do arquivo do payload será LmiGuardianDLL.dll.dat.

A carga criptografada é lida no disco e, em seguida, o AES-128 é descriptografado no modo CBC pelo carregador. O vetor de inicialização de 16 bytes (IV) e a chave simétrica são codificados na DLL e podem variar de amostra para amostra. O resultado da descriptografia é o payload da segunda fase, que é mapeado no espaço de endereço do processo do carregador e executado.

Segunda etapa -- instalação e persistência

O malware do segundo estágio é o principal responsável por se instalar, configurar a persistência e gerar um novo processo para injetar o payload do terceiro estágio. O componente da segunda etapa coloca suas impressões digitais na máquina vítima, gerando um hash de identificação de hardware. Esse hash é usado posteriormente como uma semente para várias funções, bem como uma chave de criptografia nos estágios subsequentes.

Identificação do hardware

O ID do hardware é gerado calculando o hash MD5 de um buffer de 80 bytes contendo informações coletadas do sistema, incluindo:

· uma cadeia de processo de marca de 64 bytes obtida por meio de uma sequência de chamadas para a instrução CPUID (com EAX definido nos valores 0x80000002, 0x80000003 e 0x80000004);
· valores de saída de dwNumberOfProcessors e dwProcessorType retornados por uma chamada para GetSystemInfo;
· o número de série do volume da unidade lógica do sistema operacional obtido por meio de uma chamada para GetVolumeInformationA;
· o hash CRC32 do usuário atual obtido por meio de uma chamada para GetUserNameA usando a implementação ZLIB-CRC32 com uma semente de -1 (0xFFFFFFFF).

Mutexes

Dois mutexes são criados para impedir que várias instâncias de payload sejam executados ao mesmo tempo.

O primeiro nome do mutex é gerado usando um algoritmo com esta sequência:

1. O processo infectado com o payload do segundo estágio é obtido chamando a API GetModuleFileNameA.
2. O CRC32 do binário correspondente é calculado.
3. O hash calculado é XORed com o CRC32 do usuário conectado no momento.
4. A representação da cadeia s e i sdecimal do último hash representa o nome do mutex.

O segundo mutex são os últimos 28 caracteres da representação s e i sdecimal do hash de ID de hardware MD5:

Escalonamento de privilégios

Se o processo infectado com o payload do segundo estágio estiver em execução com privilégios de administrador, o malware tentará aumentar seus próprios privilégios. Isso é feito criando e iniciando um serviço temporário, que reaparece e é executado como um processo LOCAL SYSTEM. Para permanecer furtivo, o malware exclui o serviço temporário do Service Control Manager.

Instalação

O carregador e seu payload correspondente são copiados para um subdiretório na pasta %APPDATA%. O diretório é escolhido de uma lista de cadeias. A seleção é feita usando o número CRC32 do resultado do módulo 21 (0x15) da cadeia de ID do Hardware.

Persistência

A persistência é obtida com a criação de um valor de registro cujo nome é a representação da sequência s e i sdecimal de um DWORD gerado dinamicamente na chave do registro HKCU\Software\Microsoft\Windows\VersãoAtual\Executar. O valor do registro está definido para apontar para o caminho do executável do carregador.

Injeção do payload da próxima etapa

O payload do terceiro estágio é descompactado com uma chamada para a API RtlDecompressBuffer e posteriormente injetada em um processo recém-gerado.

O executável direcionado para injeção é escolhido enumerando os executáveis no diretório %SYSTEMROOT%\System32 e pesquisando o primeiro que atenda aos seguintes critérios:

· não está funcionando;
· possui um subsistema GUI;
· possui "Microsoft" nas informações da versão;
· está assinado.

O novo processo é gerado usando a API CreateProcessA, que transmite o caminho para o executável que carregou a segunda etapa com o parâmetro lpCommandLine.

Terceira etapa -- downloader “Cobalt Mode”

A terceira etapa é um downloader que foi designado Cobalt Mode com base nas informações de depuração deixadas em algumas das amostras analisadas. Um exemplo do caminho do PDB é mostrado abaixo:

Z:\coding\pyproject\compiled\cobalt_mode\cobalt_mode.pdb

As principais funções do Cobalt Mode incluem:

· conectar-se a um Servidor de Comando e Controle (C&C);
· fazer o download de um payload criptografado;
· descriptografar o payload;
· mapear e executar o payload no espaço de endereço do processo atual;
· gerar um novo processo para injeção de código.

O malware em Cobalt Mode pode realizar uma série de verificações do ambiente. Ele pode determinar se está sendo executado a partir de uma sandbox ou máquina virtual (VM), se um leitor de cartão inteligente está conectado e se as solicitações estão sendo interceptadas com um ataque do homem no meio (man-in-the-middle, ou MitM). Examinar as funções e os valores usados para fazer essas verificações revelou que o código se sobrepõe ao Trojan bancário Shifu.

A configuração do Cobalt Mode é armazenada no malware como um blob JSON compactado. Uma solicitação para o download_url especificado na configuração JSON é feita para recuperar o payload do próximo estágio. O mesmo ID de hardware discutido na análise do segundo estágio é passado na solicitação como o parâmetro hw. O servidor usa esse valor como chave para criptografar um arquivo 7zip, que ele retorna com um algoritmo RC4 modificado. O arquivo contém um interpretador Python personalizado e um arquivo zip contendo o bytecode do PyXie RAT.

Algoritmo RC4 modificado

O algoritmo RC4 modificado usado pelo malware difere do RC4 comum na maneira como gera sua Caixa de Substituição (S-BOX). Depois que a S-BOX é inicializada, a chave é XORada em relação ao S-BOX, em vez de usá-la para trocar valores.

Injeção

O mesmo algoritmo do estágio anterior é usado para selecionar um executável no diretório %SYSTEMROOT%\system32 e gerar um novo processo de injeção. Desta vez, %SYSTEMROOT%\system32\worker.exe é usado como o parâmetro lpCommandLine para a chamada à API CreateProcessA.

PyXie RAT

O payload do estágio final é um RAT em Python completo, compilado em um executável. Em vez de usar o Py2Exe ou o PyInstaller para criar um executável, os autores do malware compilaram seu próprio interpretador Python que carrega um arquivo contendo o bytecode do RAT PyXie da memória.

As funcionalidades do RAT PyXie incluem:
· interceptação do homem no meio (MITM);
· injeção na Web;
· keylogging;
· coleta de credenciais;
· digitalização em rede;
· roubo de cookies;
· limpeza dos logs;
· gravação de vídeos;
· execução de cargas arbitrárias;
· monitoramento de drives USB e exfiltração de dados
· conexão com o servidor WebDav;
· criação de proxy Socks5;
· conexão de rede virtual (VNC);
· roubo de certificado;
· software de inventário;
· enumeração o domínio com Sharphound.

O intérprete personalizado é fornecido com uma biblioteca obscura denominada memzipimport, que importa um arquivo zip contendo o bytecode RAT compilado diretamente da memória. O zip contém mais de 1.500 arquivos de bytecode em Python, muitos dos quais são bibliotecas de terceiros. O RAT principal consiste em aproximadamente 79 arquivos de bytecode.

A análise completa do RAT PyXie pode ser lida (em inglês) no blog Threat Vector, da BlackBerry Cylance.

Sobre a BlackBerry Cylance

A BlackBerry Cylance desenvolve inteligência artificial para fornecer produtos de segurança preditiva e preventiva, além de soluções inteligentes, simples e seguras que mudam a maneira como as organizações abordam a segurança dos endpoints. A BlackBerry Cylance fornece prevenção e visibilidade preditiva de espectro completo em toda a empresa para combater os mais notórios e avançados ataques de segurança cibernética, fortalecendo pontos de extremidade para promover a segurança no centro de operações, nas redes globais e até nas redes domésticas dos funcionários. Com prevenção de malware com base em IA, busca de ameaças, detecção e resposta automatizadas e serviços de segurança especializados, a BlackBerry Cylance protege o endpoint sem aumentar a carga de trabalho ou os custos da equipe.


Compartilhe:: Participe do GRUPO SEGS - PORTAL NACIONAL no FACEBOOK...:
 
https://www.facebook.com/groups/portalnacional/

<::::::::::::::::::::>
IMPORTANTE.: Voce pode replicar este artigo. desde que respeite a Autoria integralmente e a Fonte...  www.segs.com.br
<::::::::::::::::::::>
No Segs, sempre todos tem seu direito de resposta, basta nos contatar e sera atendido. -  Importante sobre Autoria ou Fonte..: - O Segs atua como intermediario na divulgacao de resumos de noticias (Clipping), atraves de materias, artigos, entrevistas e opinioes. - O conteudo aqui divulgado de forma gratuita, decorrem de informacoes advindas das fontes mencionadas, jamais cabera a responsabilidade pelo seu conteudo ao Segs, tudo que e divulgado e de exclusiva responsabilidade do autor e ou da fonte redatora. - "Acredito que a palavra existe para ser usada em favor do bem. E a inteligencia para nos permitir interpretar os fatos, sem paixao". (Autoria de Lucio Araujo da Cunha) - O Segs, jamais assumira responsabilidade pelo teor, exatidao ou veracidade do conteudo do material divulgado. pois trata-se de uma opiniao exclusiva do autor ou fonte mencionada. - Em caso de controversia, as partes elegem o Foro da Comarca de Santos-SP-Brasil, local oficial da empresa proprietaria do Segs e desde ja renunciam expressamente qualquer outro Foro, por mais privilegiado que seja. O Segs trata-se de uma Ferramenta automatizada e controlada por IP. - "Leia e use esta ferramenta, somente se concordar com todos os TERMOS E CONDICOES DE USO".
<::::::::::::::::::::>

voltar ao topo

Adicionar comentário

Aja com responsabilidade aos SEUS COMENTÁRIOS, em Caso de Reclamação, nos reservamos o Direito, a qualquer momento de Mudar, Modificar, Adicionar, ou mesmo Suprimir os comentarios de qualquer um, a qualquer hora, sem aviso ou comunicado previo, leia todos os termos... CLIQUE AQUI E CONHEÇA TODOS OS TERMOS E CONDIÇÕES DE USO. - O Nosso muito obrigado - Ferramenta Automatizada...IMPORTANTE: COMENTÁRIOS com LINK são bloqueados automaticamente (COMMENTS with LINKS are automatically blocked.)...Sucesso!

Security code Atualizar

Enviar