SOC Prime Bias: Crítico

16 Jan 2026 16:25

Como downloads de software legítimos podem esconder backdoors remotos

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Como downloads de software legítimos podem esconder backdoors remotos
shield icon

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).

“graph TB %% Definições de classe classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ffdd99 classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Nós action_initial_access[“<b>Ação</b> – Acesso Inicial<br/><b>Técnica</b>: T1204 Execução pelo Usuário”] class action_initial_access action tech_user_execution[“<b>Técnica</b> – T1204 Execução pelo Usuário<br/>A vítima executa conteúdo malicioso”] class tech_user_execution technique tech_malicious_link[“<b>Técnica</b> – T1204.001 Link Malicioso<br/>Link leva ao download de instalador malicioso”] class tech_malicious_link technique tech_trojanized_installer[“<b>Técnica</b> – T1204.002 Instalador Troiano<br/>O instalador parece legítimo, mas contém carga útil”] class tech_trojanized_installer technique malware_logger_exe[“<b>Malware</b> – logger.exe<br/>Captura entrada e realiza ações privilegiadas”] class malware_logger_exe malware tech_process_masquerade[“<b>Técnica</b> – T1036.011 Mascaramento<br/>O nome do processo é alterado para parecer legítimo”] class tech_process_masquerade technique tech_argument_spoof[“<b>Técnica</b> – T1564.010 Alteração de Argumentos<br/>Argumentos de linha de comando são falsificados”] class tech_argument_spoof technique tech_tls_injection[“<b>Técnica</b> – T1055.005 Injeção de Armazenamento Local de Thread<br/>Código injetado via TLS”] class tech_tls_injection technique tech_appcert_dll[“<b>Técnica</b> – T1546.009 Execução de DLL AppCert<br/>Usa DLLs AppCert para autoexecução”] class tech_appcert_dll technique tech_permission_hijack[“<b>Técnica</b> – T1574.005 Sequestro de Fluxo de Execução<br/>Explora fraqueza de permissão de arquivo do instalador”] class tech_permission_hijack technique action_defense_evasion[“<b>Ação</b> – Evasão de Defesa<br/>Múltiplas técnicas para evitar detecção”] class action_defense_evasion action action_persistence[“<b>Ação</b> – Persistência<br/>Estabelece presença de longo prazo”] class action_persistence action tech_registry_rc[“<b>Técnica</b> – T1037.004 Scripts RC de Registro<br/>Executa scripts via registro”] class tech_registry_rc technique tech_active_setup[“<b>Técnica</b> – T1547.014 Configuração Ativa<br/>Autoinicialização via Configuração Ativa”] class tech_active_setup technique tech_preos_boot[“<b>Técnica</b> – T1542 Inicialização Pré-SO<br/>Conecta-se ao processo de inicialização”] class tech_preos_boot technique action_credential_access[“<b>Ação</b> – Acesso a Credenciais<br/>Rouba credenciais do usuário”] class action_credential_access action tech_keylogging[“<b>Técnica</b> – T1056.001 Captura de Teclas<br/>Registra pressões de teclas”] class tech_keylogging technique tech_credential_dump[“<b>Técnica</b> – T1003 Extração de Credenciais do SO<br/>Extrai hashes de senhas”] class tech_credential_dump technique action_collection[“<b>Ação</b> – Coleta<br/>Coleta dados do usuário”] class action_collection action tech_screen_capture[“<b>Técnica</b> – T1113 Captura de Tela<br/>Tira capturas de tela”] class tech_screen_capture technique tech_video_capture[“<b>Técnica</b> – T1125 Captura de Vídeo<br/>Grava vídeo”] class tech_video_capture technique tech_audio_capture[“<b>Técnica</b> – T1123 Captura de Áudio<br/>Grava áudio”] class tech_audio_capture technique action_c2[“<b>Ação</b> – Comando e Controle<br/>Comunica-se com servidor remoto”] class action_c2 action tech_nonstandard_port[“<b>Técnica</b> – T1571 Porta Não Padrão<br/>Usa porta TCP 5666”] class tech_nonstandard_port technique tech_ftp_style[“<b>Técnica</b> – T1071.002 Protocolo Estilo FTP<br/>Codifica tráfego como FTP”] class tech_ftp_style technique tech_port_knocking[“<b>Técnica</b> – T1205.001 Bateção de Porta<br/>Sinaliza C2 via sequência de portas”] class tech_port_knocking technique malware_memory_resident[“<b>Malware</b> – Carga Residencial na Memória<br/>Carrega diretamente na RAM”] class malware_memory_resident malware tech_registry_hide[“<b>Técnica</b> – Configuração Oculta no Registro<br/>Armazena configurações no registro”] class tech_registry_hide technique %% Conexões action_initial_access u002du002d>|usa| tech_user_execution tech_user_execution u002du002d>|inclui| tech_malicious_link tech_user_execution u002du002d>|inclui| tech_trojanized_installer tech_malicious_link u002du002d>|entrega| malware_logger_exe tech_trojanized_installer u002du002d>|contém| malware_logger_exe malware_logger_exe u002du002d>|realiza| tech_process_masquerade malware_logger_exe u002du002d>|realiza| tech_argument_spoof malware_logger_exe u002du002d>|injeta via| tech_tls_injection malware_logger_exe u002du002d>|usa| tech_appcert_dll malware_logger_exe u002du002d>|explora| tech_permission_hijack malware_logger_exe u002du002d>|habilita| action_defense_evasion action_defense_evasion u002du002d>|estabelece| action_persistence action_persistence u002du002d>|usa| tech_registry_rc action_persistence u002du002d>|usa| tech_active_setup action_persistence u002du002d>|usa| tech_preos_boot action_defense_evasion u002du002d>|habilita| action_credential_access action_credential_access u002du002d>|usa| tech_keylogging action_credential_access u002du002d>|usa| tech_credential_dump action_defense_evasion u002du002d>|habilita| action_collection action_collection u002du002d>|captura| tech_screen_capture action_collection u002du002d>|captura| tech_video_capture action_collection u002du002d>|captura| tech_audio_capture action_defense_evasion u002du002d>|habilita| action_c2 action_c2 u002du002d>|comunica via| tech_nonstandard_port tech_nonstandard_port u002du002d>|usa protocolo| tech_ftp_style action_c2 u002du002d>|usa| tech_port_knocking malware_logger_exe u002du002d>|reside em| malware_memory_resident malware_memory_resident u002du002d>|armazena configuração em| tech_registry_hide “

Fluxo de Ataque

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:

    1. 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.
    2. Descarga de Carga Útil: Ao ser executado, o instalador extrai dois binários maliciosos—logger.exe and Libserver.exe—no mesmo diretório e os inicia imediatamente como processos filhos.
    3. Persistência (T1546.016): logger.exe grava uma entrada de chave de execução (HKCUSoftwareMicrosoftWindowsCurrentVersionRun) apontando para si, garantindo persistência após reinicialização.
    4. Injeção de Código (T1574.005 / T1055.005): Libserver.exe injeta uma DLL reflexiva em explorer.exe para ganhar execução com altos privilégios e abre uma shell reversa para o C2 do atacante.
    5. 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.
  • 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."