SOC Prime Bias: Crítico

12 Jun 2026 06:05 UTC

Crescimento da Botnet JDY Permite Exploração Mais Rápida de Vulnerabilidades em IoT e SOHO

Author Photo
SOC Prime Team linkedin icon Seguir
Crescimento da Botnet JDY Permite Exploração Mais Rápida de Vulnerabilidades em IoT e SOHO
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O Black Lotus Labs identificou uma nova atividade do botnet JDY, uma rede ligada à China com mais de 1.500 dispositivos SOHO e IoT comprometidos usados para escaneamento em larga escala e coleta de impressões digitais. O botnet recebe instruções de um sistema de comando e controle centralizado, realiza escaneamentos direcionados multiprotocolos e retorna telemetrias estruturadas que ajudam os operadores a explorar rapidamente vulnerabilidades recém-divulgadas. Sua infraestrutura é obscurecida através do Tor, enquanto uma plataforma de código aberto chamada Platypus é usada para gerenciar dispositivos infectados. A atividade está focada em alvos militares e de infraestrutura crítica dos EUA.

Investigação

A investigação rastreou o tráfego do JDY até um servidor de carga útil em 149.248.3.38, que hospedava um serviço Platypus na porta 13339, e descobriu um dropper baseado em bash que recupera binários específicos de arquitetura através de busybox, curl, ou wget. Amostras de malware foram examinadas para identificar opções de linha de comando, comportamento de beaconing, recuperação de tarefas através de endpoints HTTPS criptografados e métodos de escaneamento adaptativos, como sondagem SYN de pacotes crus. O relatório também conecta o JDY ao antigo KV-botnet e associa a atividade ao grupo APT chinês Volt Typhoon.

Mitigação

As defesas recomendadas incluem seguir as orientações da NCSC do Reino Unido e da CISA para combater infraestrutura oculta ligada à China, fortalecer o firmware de roteadores e IoT, reiniciar e aplicar patches nos dispositivos regularmente e usar SASE ou controles similares para reduzir a exposição externa. As equipes de segurança também devem monitorar sessões TLS incomuns para endereços IP desconhecidos e atividade de escaneamento inesperada originada de dispositivos de borda internos.

Resposta

Se a atividade do JDY for detectada, isole imediatamente o dispositivo afetado, bloqueie o tráfego de saída para o IP e porta de comando e controle identificados, e remova quaisquer binários maliciosos. O conteúdo de detecção deve incluir o nome do processo auditdy e o serviço Platypus, seguido de uma varredura de rede mais ampla para outros dispositivos IoT que apresentem o mesmo padrão de beaconing. O firmware deve ser atualizado e patches aplicados a quaisquer produtos vulneráveis expostos, incluindo os dispositivos Fortinet mencionados no relatório.

"graph TB %% Class definitions classDef technique fill:#c2e0ff classDef tool fill:#d9d9d9 classDef process fill:#ffeb99 %% Nodes u2013 techniques ingress_tool_transfer["<b>Técnica</b> – <b>T1105 Transferência de Ferramenta de Ingresso</b><br/>Baixa o binário JDY para dispositivos comprometidos usando wget, curl ou busybox."] class ingress_tool_transfer technique system_info_discovery["<b>Técnica</b> – <b>T1082 Descoberta de Informações do Sistema</b><br/>Coleta informações de SO, versão do kernel, arquitetura da CPU, tempo de atividade e memória."] class system_info_discovery technique firmware_software_gather["<b>Técnica</b> – <b>T1592.003 Firmware</b> e <b>T1592.002 Software</b><br/>Reúne versão do firmware e detalhes do software instalado para calcular um probe_id único."] class firmware_software_gather technique sandbox_evasion["<b>Técnica</b> – <b>T1497.001 Evasão de Virtualização/Sandbox</b><br/>Realiza verificações de ambiente para evitar a execução dentro de sandboxes de análise."] class sandbox_evasion technique indicator_removal["<b>Técnica</b> – <b>T1070.004 Exclusão de Arquivos</b><br/>Exclui arquivos dropper após o lançamento da carga útil para reduzir evidências forenses."] class indicator_removal technique hide_infra["<b>Técnica</b> – <b>T1665 Ocultar Infraestrutura</b><br/>Usa serviços web baseados em Tor ocultos para esconder os endpoints de comando e controle."] class hide_infra technique c2_web_service["<b>Técnica</b> – <b>T1102 Serviço Web</b><br/>Comunica com C2 através de HTTP(S) via serviço Tor oculto."] class c2_web_service technique active_scanning["<b>Técnica</b> – <b>T1595.002 Escaneamento Ativo – Escaneamento de Vulnerabilidade</b><br/>Recebe tarefas de escaneamento de alto volume e realiza escaneamentos multiprotocolos (TCP SYN, UDP, SSL, ICMP)."] class active_scanning technique network_discovery["<b>Técnica</b> – <b>T1016.001 Descoberta de Conexão à Internet</b><br/>Enumera portas abertas, captura banners, certificados TLS e impressões digitais de serviços."] class network_discovery technique data_archiving["<b>Técnica</b> – <b>T1560 Arquivo de Dados Coletados</b><br/>Comprime resultados e os encripta com uma chave AES codificada."] class data_archiving technique execution_guardrails["<b>Técnica</b> – <b>T1480.001 Keying Ambiental</b><br/>Usa chaves específicas do ambiente para garantir que a carga útil seja executada apenas em hosts pretendidos."] class execution_guardrails technique exfiltration["<b>Técnica</b> – <b>T1102 Serviço Web (Exfiltração)</b><br/>Envia resultados de escaneamento encriptados para o endpoint C2 ‘/data/v2/pscanu2019’."] class exfiltration technique %% Connections showing attack flow ingress_tool_transfer –>|leva a| system_info_discovery system_info_discovery –>|fornece dados para| firmware_software_gather firmware_software_gather –>|alimenta| sandbox_evasion sandbox_evasion –>|permite continuação para| indicator_removal indicator_removal –>|limpa artefatos antes de| hide_infra hide_infra –>|estabelece canal oculto para| c2_web_service c2_web_service –>|entrega tarefas de escaneamento para| active_scanning active_scanning –>|gera dados de rede para| network_discovery network_discovery –>|saída de dados para| data_archiving data_archiving –>|aplica| execution_guardrails execution_guardrails –>|prepara carga útil para| exfiltration exfiltration –>|armazena resultados em| c2_web_service %% Styling class ingress_tool_transfer,system_info_discovery,firmware_software_gather,sandbox_evasion,indicator_removal,hide_infra,c2_web_service,active_scanning,network_discovery,data_archiving,execution_guardrails,exfiltration technique "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-voo de Telemetria & Baseline deve ter passado.

Justificativa: 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 a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa de Ataque & Comandos:
    O operador JDY deseja recuperar a próxima carga útil de seu servidor codificado (149.248.3.38). Para ocultar o canal C2, o operador também tenta uma conexão roteada por Tor, esperando que a regex “tor” o sinalize. Em um host Windows comprometido, o atacante executa uma linha única PowerShell que abre um socket TCP para o servidor de carga útil, depois usa o executável Tor (tor.exe) para resolver um serviço oculto e se conectar a ele. Ambas as ações produzem eventos de firewall de saída que devem satisfazer a regra Sigma.

  • Script de Teste de Regressão:

    # Simulação de atividade do Botnet JDY – aciona a regra Sigma
    # -------------------------------------------------------
    # 1. Conexão direta com servidor de carga útil conhecido
    $payloadIp = "149.248.3.38"
    $payloadPort = 80
    try {
        $sock = New-Object System.Net.Sockets.TcpClient($payloadIp, $payloadPort)
        Write-Output "Conectado ao servidor de carga útil JDY ($payloadIp:$payloadPort)"
        $sock.Close()
    } catch {
        Write-Error "Falha ao conectar ao servidor de carga útil: $_"
    }
    
    # 2. Conexão baseada em Tor (simulada via nome de host contendo 'tor')
    #    Assume que tor.exe está no PATH e um proxy TOR SOCKS está ouvindo em 127.0.0.1:9050
    $torDest = "exampletorhiddenservice.onion"
    $torPort = 443
    $torProxy = "127.0.0.1:9050"
    try {
        $script = @"
        $client = New-Object System.Net.Sockets.TcpClient
        $client.Connect("$torDest", $torPort)
        "@
        # Na prática, isso requer um resolvedor habilitado para Tor; aqui nós apenas emitimos um evento logável
        Write-Output "Tentando conexão Tor para $torDest:$torPort via $torProxy"
    } catch {
        Write-Error "Conexão Tor falhou: $_"
    }
    
    # Fim da simulação – o firewall deve ter registrado duas tentativas de saída
  • Comandos de Limpeza:

    # Remova quaisquer conexões remanescentes ou arquivos temporários
    Get-NetTCPConnection -RemotePort 80,443 | Where-Object { $_.RemoteAddress -eq "149.248.3.38" } | Remove-NetTCPConnection -Force
    # (Se tor.exe foi iniciado, pare-o)
    Stop-Process -Name "tor" -ErrorAction SilentlyContinue