Como downloads de software legítimos podem esconder backdoors remotos
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Os atacantes estão operando um site de download do RustDesk semelhante (rustdesk.work) que entrega um instalador trojanizado: uma configuração legítima do RustDesk combinada com um carregador malicioso apelidado de Winos4.0. Quando executado, o dropper instala logger.exe and Libserver.exe, então carrega o backdoor na memória para reduzir artefatos em disco. O implante estabelece comando e controle para 207.56.13.76 sobre TCP/5666, permitindo acesso remoto persistente. Esta atividade é impulsionada por engenharia social e personificação de marca, não por uma vulnerabilidade no software RustDesk.
Investigação
Analistas obtiveram o binário malicioso rustdesk-1.4.4-x86_64.exe e observaram que ele grava um instalador legítimo do RustDesk além de um logger.exe armazenamento em disco. O logger.exe componente gera Libserver.exe, que então prepara WinosStager DLLs e uma grande carga útil na memória sem persistir esses módulos em disco. A telemetria de rede confirmou comunicações de saída para 207.56.13.76:5666, avaliado como o canal de C2 da campanha. Os investigadores extraíram indicadores de IOC chave, incluindo o domínio falsificado (rustdesk.work), nomes de arquivos descartados e hashes de arquivos associados.
Mitigação
Implemente práticas verificadas de aquisição de software e baixe RustDesk apenas da fonte oficial (rustdesk.com). Aplique listas de permissão de aplicativos (ou controles equivalentes) para evitar a execução de binários não confiáveis, especialmente arquivos “instalador” originando-se de diretórios graváveis pelo usuário. Monitore e restrinja o tráfego de saída para TCP/5666, e adicione detecções/regras de bloqueio para conexões com rustdesk.work. Bloqueie 207.56.13.76 e o domínio malicioso em controles de DNS, proxy e firewall.
Resposta
Crie detecções para execução de logger.exe and Libserver.exe, e notifique sobre quaisquer conexões de rede para 207.56.13.76:5666. Caçe de forma proativa em endpoints o instalador trojanizado (e quaisquer indicadores SHA-256 ) e valide se o RustDesk foi instalado de fontes não aprovadas. Se a invasão for confirmada, isole os hosts afetados, termine a árvore de processos maliciosos, remova artefatos relacionados e rotacione credenciais potencialmente expostas (especialmente quaisquer contas usadas durante a instalação ou sessões remotas subsequentes).
Fluxo de Ataque
Detecções
Arquivo de Log do RustDesk Foi Criado (via file_event)
Visualizar
Possível Atividade de Comando e Controle por Tentativa de Comunicação de Domínio de Software de Acesso Remoto (via dns)
Visualizar
Software Alternativo de Acesso / Gerenciamento Remoto (via process_creation)
Visualizar
IOCs (SourceIP) para detectar: Como downloads de software real podem esconder backdoors remotos
Visualizar
IOCs (HashSha256) para detectar: Como downloads de software real podem esconder backdoors remotos
Visualizar
IOCs (DestinationIP) para detectar: Como downloads de software real podem esconder backdoors remotos
Visualizar
Detecção de Atividade de Rede Winos4.0 via Servidor de Comando-e-Controle Malicioso [Conexão de Rede Windows]
Visualizar
Instalador RustDesk Trojanizado com Backdoor Winos4.0 [Criação de Processo Windows]
Visualizar
Execução de Simulação
Pré-requisito: O Check de Pré-vôo Telemetria & Baseline deve ter sido aprovado.
Racional: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para acionar a regra de detecção. Os comandos e narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa do Ataque & Comandos:
- Entrega & Execução: Um atacante entrega um instalador RustDesk trojanizado (
rustdesk-1.4.4-x86_64.exe) via e-mail de phishing. O arquivo é salvo em%TEMP%e executado com privilégios elevados. - Descarga de Carga Útil: Ao ser executado, o instalador extrai dois binários maliciosos—
logger.exeandLibserver.exe—no mesmo diretório e os inicia imediatamente como processos filhos. - Persistência (T1546.016):
logger.exegrava uma entrada de chave de execução (HKCUSoftwareMicrosoftWindowsCurrentVersionRun) apontando para si, garantindo persistência após reinicialização. - Injeção de Código (T1574.005 / T1055.005):
Libserver.exeinjeta uma DLL reflexiva emexplorer.exepara ganhar execução com altos privilégios e abre uma shell reversa para o C2 do atacante. - Evasão (Mascaramento – T1036.011): Todos os binários mantêm a convenção de nomenclatura “RustDesk” para se misturar com o software legítimo.
- Entrega & Execução: Um atacante entrega um instalador RustDesk trojanizado (
-
Script de Teste de Regressão: O script abaixo automatiza as etapas 1‑3, produzindo os três eventos de criação de processo necessários. Ele usa PowerShell para copiar binários maliciosos pré-estagiados (simulados com placeholders benignos por segurança) e lançá-los com o relacionamento correto de pai-filho.
# ------------------------------------------------- # Script de Simulação – Instalador RustDesk Trojanizado # ------------------------------------------------- # Pré-requisito: Dois executáveis de placeholder benignos colocados em C:Malware (nomeados logger.exe & Libserver.exe) # Em um teste real de equipe vermelha, estes seriam as cargas maliciosas reais. # ------------------------------------------------- $installerPath = "$env:TEMPrustdesk-1.4.4-x86_64.exe" $payloadDir = "$env:TEMPrustdesk_payload" $loggerPath = "$payloadDirlogger.exe" $libserverPath = "$payloadDirLibserver.exe" # 1. Implantar um instalador falso (simplesmente uma cópia de um exe benigno) Write-Host "[*] Implantando instalador RustDesk falso..." New-Item -ItemType Directory -Path $payloadDir -Force | Out-Null Copy-Item -Path "C:WindowsSystem32notepad.exe" -Destination $installerPath -Force # 2. Simular descarga de carga útil – copiar binários de placeholder Write-Host "[*] Descarregando cargas úteis..." Copy-Item -Path "C:Malwarelogger.exe" -Destination $loggerPath -Force Copy-Item -Path "C:MalwareLibserver.exe" -Destination $libserverPath -Force # 3. Executar instalador (cria processo pai) Write-Host "[*] Executando instalador..." $installer = Start-Process -FilePath $installerPath -PassThru # 4. Lançar logger.exe como filho do instalador Write-Host "[*] Lançando logger.exe (filho do instalador)..." Start-Process -FilePath $loggerPath -ArgumentList "--parent $($installer.Id)" -NoNewWindow # 5. Lançar Libserver.exe como filho do instalador Write-Host "[*] Lançando Libserver.exe (filho do instalador)..." Start-Process -FilePath $libserverPath -ArgumentList "--parent $($installer.Id)" -NoNewWindow Write-Host "[+] Simulação completa. Verifique alertas no SIEM." -
Comandos de Limpeza: Remova os arquivos temporários e termine quaisquer processos restantes.
# ------------------------------------------------- # Script de Limpeza – Remover artefatos de simulação # ------------------------------------------------- $installerPath = "$env:TEMPrustdesk-1.4.4-x86_64.exe" $payloadDir = "$env:TEMPrustdesk_payload" Write-Host "[*] Parando processos gerados..." Get-Process -Name "logger","Libserver","rustdesk-1.4.4-x86_64" -ErrorAction SilentlyContinue | Stop-Process -Force Write-Host "[*] Excluindo arquivos..." Remove-Item -Path $installerPath -Force -ErrorAction SilentlyContinue Remove-Item -Recurse -Force -Path $payloadDir -ErrorAction SilentlyContinue Write-Host "[+] Limpeza completa."