Ir para o conteúdo principal
|
0 minutos de leitura

Ajustando o AsyncRAT: Atacantes Usam Python e TryCloudflare para Implantar Malware

Get a Demo of Forcepoint Solutions
  • Mayur Sewani

AsyncRAT é um tipo de malware usado para tomar controle de sistemas Windows e roubar informações críticas. É conhecido por ser difícil de detectar e tem sido utilizado por cibercriminosos através de vários tipos de arquivos para burlar softwares de antivírus. 

A equipe de pesquisa X-Labs da Forcepoint observou recentemente uma campanha de malware AsyncRAT que entrega cargas maliciosas por meio de pacotes suspeitos do TryCloudflare Quick Tunnel e Python. Desenvolvedores podem usar a ferramenta TryCloudflare para experimentar o Cloudflare Tunnel sem adicionar um site ao DNS do Cloudflare. Essa infraestrutura de túnel temporária pode permitir que atacantes acessem remotamente grandes volumes de dados. Em alguns casos, descobrimos que os atacantes utilizam anexos de e-mail em HTML para distribuição, nos quais o protocolo “search-ms” do Windows e o manipulador de protocolo URI “search-ms” são usados para entregar arquivos LNK maliciosos e, em seguida, scripts Python com bibliotecas de suporte.

Neste post do blog, vamos cobrir novos métodos de ataque AsyncRAT projetados para abusar de usuários via “search-ms” para acessar o projeto WebDAV do “TryCloudflare” e baixar múltiplas cargas de malware, incluindo arquivos BAT especialmente criados e scripts Python.
 

Fig. 1 - Cadeia de ataque do AsyncRAT

 

Este ataque visa principalmente os setores de saúde, viagens e bancário por meio de e-mails de phishing. O gráfico abaixo mostra a frequência geral da campanha de malware AsyncRAT no último mês e como aumentou nos últimos dias:

Fig. 2 - Campanhas AsyncRAT observadas

 

Estágio 1: Análise de HTML

Os anexos incluíam links para subdomínios suspeitos do [.]trycloudflare[.]com que usavam scripts envolvendo o manipulador de protocolo URI ‘search-ms’. Além disso, arquivos HTML podem lançar o ataque incorporando scripts que ativam o manipulador de protocolo URI ‘search-ms’ para acessar um arquivo LNK malicioso de um servidor WebDAV estendido malicioso escrito em Python. Exemplo: //\travel-scholar-an-equity[.]trycloudflare[.]com[@]SSL\DavWWWRoot\e_Statement

Fig. 3 - Trecho de código HTML

 

O HTML contém search:query com o parâmetro “crumb=location:\” para baixar a carga de uma localização remota específica. Neste caso, normalmente baixa um arquivo LNK.


Estágio 2: Análise do .LNK

Quando o usuário clica no arquivo .LNK, ele lança o PowerShell e baixa um arquivo BAT do mesmo túnel TryCloudflare:

//\travel-scholar-an-equity[.]trycloudflare[.]com[@]SSL\DavWWWRoot\new.bat e, em seguida, este arquivo new.bat baixado baixará cargas de estágio posterior do mesmo túnel.
 

Fig. 4 - Projeto WsgiDAV suspeito hospedado no subdomínio trycloudflare

 

Estágio 3: Análise do BAT

O arquivo BAT está fortemente ofuscado e invoca o PowerShell para baixar outro arquivo batch e um pacote Python.

O comando PowerShell “Invoke-WebRequest” é usado para baixar um pacote Python grande com scripts .py maliciosos.

Também baixa um arquivo PDF limpo para ocultar a atividade e exibe esse formulário de fatura PDF falso para a vítima.

 Fig. 5 -  PDF Fake

 

Fig. 6 - Nova ofuscação do .bat

 

O arquivo new.bat desofuscado mostra uma sequência diferente de atividades, como a execução do PowerShell, extração de zip e execução de scripts .py.

Fig. 6.1 - Arquivo new.bat desofuscado

 

O PowerShell “Expand-Archive” é usado para extrair o arquivo no caminho de destino já definido.

 

Comando de extração:

echo powershell -Command "& { Expand-Archive -Path 'C:\Users\Test\Downloads\DXJS.zip' -DestinationPath 'C:\Users\Test\Downloads' -Force }"

O arquivo extraído contém um pacote Python 3.12.3 e scripts Python como info.py, kam.py, moment.py, money.py, time.py, update.py e upload.py.

Fig. 6.2 - O new.bat executa scripts Python e adiciona another.bat ao Startup

 

Estágio 4: Análise dos scripts Python

Esses scripts Python importam ctypes, que é uma biblioteca de funções estrangeiras para Python. Ela fornece tipos de dados compatíveis com C e permite a chamada de funções em DLLs ou bibliotecas compartilhadas. Os scripts contêm grandes dados de shell code codificados em base64 e a função rc4_decrypt(). Também inclui a função “ctypes.windll.kernel32.VirtualProtect()”, na qual passa o buffer do shellcode e seu tamanho. Essa função é amplamente usada por atacantes para injetar código malicioso em processos legítimos.

Aqui está uma análise do money.py:

Fig. 7.1 - Money.py

Fig. 7.2 - Continuação do Money.py 

 

Scripts Python: money.py, time.py, upload.py, update.py, kam.py, moment.py injetam o shellcode do AsyncRAT no processo legítimo notepad.exe e se conectam a diferentes servidores de comando e controle (C2). Apenas um script baixado, info.py, injeta o shellcode do Xworm em processos legítimos. Todos os scripts Python contêm funções semelhantes e fluxos embutidos de base64.

Fig. 8 - Fluxo de shellcode

 

O arquivo BAT faz o download do “startupp.bat” ofuscado e o move para a pasta de inicialização para garantir persistência. Também baixa outro pacote Python compactado e usa o arquivo “startupp.bat” para executar scripts Python semelhantes deste novo pacote, conectando-se aos mesmos servidores C2 com números de portas diferentes, como ncmomenthv[.]duckdns[.]org:8896 ou ncmomenthv[.]duckdns[.]org:6757.

Fig. 9 - Conexão C2 via notepad.exe

 

A injeção de processos é feita injetando shellcode via Early Bird APC Queue.

Fig. 10 - Injeção de processos

 

Baixar um pacote completo permite que os invasores visem mais vítimas, mesmo que não haja suporte para aplicativos Python instalados no sistema da vítima. A execução via Python e a injeção em processos legítimos ajudam a evitar diferentes mecanismos básicos de segurança.

Conclusão:

Essa campanha do AsyncRAT tem como alvo vários setores, explorando o search-ms, um recurso conhecido do Windows, para baixar payloads de uma infraestrutura temporária do TryCloudflare, abrindo uma nova gama de técnicas de ataque. A campanha emprega várias etapas projetadas para ocultar suas atividades, começando com a execução de um arquivo LNK, seguido do download de um arquivo BAT, e culminando no download de um BAT ofuscado que extrai scripts Python maliciosos. O golpe é disfarçado com um PDF falso de fatura para enganar o usuário. Esses pacotes Python permitem que os atacantes acessem o sistema da vítima facilmente, mesmo quando o Python não está instalado localmente. Espera-se um aumento de ataques semelhantes, explorando opções de infraestrutura de baixo custo para entregar infostealers e Trojans de Acesso Remoto (RATs).

Declaração de Proteção

Os clientes da Forcepoint estão protegidos contra essa ameaça nas seguintes etapas do ataque:

  • Estágio 2 (Isca): Anexos maliciosos associados a esses ataques são identificados e bloqueados.
  • Estágio 3 (Redirecionamento): URLs do TryCloudflare são categorizadas sob classificação de segurança.
  • Estágio 5 (Arquivo Dropper): Os arquivos dropper são adicionados ao banco de dados de malwares da Forcepoint e bloqueados.
  • Estágio 6 (Call Home): Domínio C&C bloqueado.
     

IOC

URLs Maliciosas:

  • travel-scholar-an-equity[.]trycloudflare[.]com
  • float-suppose-msg-pulling[.]trycloudflare[.]com
  • bangkok-generally-ensemble-nfl[.]trycloudflare[.]com
  • be-broadband-wp-canon[.]trycloudflare[.]com
  • researchers-hrs-auctions-coating[.]trycloudflare[.]com
     

C2s: 

  • ncmomenthv[.]duckdns[.]org
  • xoowill56[.]duckdns[.]org
  • drvenomjh[.]duckdns[.]org
  • vxsrwrm[.]duckdns[.]org
  • ghdsasync[.]duckdns[.]org
  • anachyyyyy[.]duckdns[.]org
  • rvenom[.]duckdns[.]org

Hashes:

  • ab069b312dd07d23e1b0cfe397775c7b37c1c5ad - html
  • 07095f8f4d920b47f788a8ba52a8ab8902faaa5f   - html
  • 16ea141a7d3f622f21a06c694adcb7597707be56 - lnk
  • 77ecf69228836fa6a6c79bc26fe1f98f21b7118a - bat
  • 05839f45d737f73041c8e5d0ba77044592074f6a - bat
  • e6c4bdf3c3c1bc32e49caab17a1f3167d43b3406 - py
  • c9103b859d1cd93ce4a83c782fa4807553120a6d - py
  • 3292a7228bc9c5f20ddeaf106a54838e7b4f188c - py
  • a78711dc104fc079a781e61a06e0abefe4823add - py
  • 83132dda0bd86740c931aec8149f86b30674642a - py
  • d83fa1a7885143b0d851fd8fb04d54b539790609 - py
  • e9853f91bd8a9ed694275fd72f97bdf52775a1d5 - py

  • mayur-sewani.jpg

    Mayur Sewani

    Mayur serves as a Senior Security Researcher as part of the Forcepoint X-Labs Research Team. He focuses on APT malwares, information stealers, phishing attacks, and also works to stay on top of the latest threats. He is passionate about advancing the field of defensive adversary emulation and research.

    Leia mais artigos de Mayur Sewani

    No Artigo

    X-Labs

    Get insight, analysis & news straight to your inbox

    Ao Ponto

    Cibersegurança

    Um podcast que cobre as últimas tendências e tópicos no mundo da cibersegurança

    Ouça Agora