SOC Prime Bias: Alto

27 Mar 2026 17:11

InterLock: Análise Completa das Ferramentas de uma Operação de Ransomware

Author Photo
Ruslan Mikhalov Chefe de Pesquisa de Ameaças na SOC Prime linkedin icon Seguir
InterLock: Análise Completa das Ferramentas de uma Operação de Ransomware
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

InterLock é uma operação de ransomware de dupla extorsão ativa desde outubro de 2024, que rouba dados, opera um site de vazamento baseado em Tor e criptografa arquivos em ambientes FreeBSD/ESXi e Windows. A cadeia de intrusão usa instaladores MSI do ScreenConnect para acesso inicial, um backdoor NodeSnake multilíngue para persistência, um coletor de credenciais NTLM e um framework crypter personalizado que empacota as cargas úteis do ransomware. O tráfego de comando e controle depende de comunicação WebSocket protegida com RC4, apoiada por IPs estáticos de fallback e endpoints adicionais do Cloudflare Tunnel. O ransomware anexa a extensão .interlock, deixa uma nota de resgate contendo uma URL de negociação .onion e usa chaves derivadas de PRNG fracos que podem permitir a recuperação.

Investigação

O relatório analisa 15 amostras, incluindo quatro instaladores MSI do ScreenConnect, três implantes NodeSnake (JavaScript, Java e C++ nativo), um DLL ladrão de NTLM e quatro executáveis de ransomware. Todos os artefatos compartilham três endereços IP de C2 codificados e o mesmo loop de descriptografia crypter marcado pelo padrão de byte 488b041f483345f04889041e. Em sua forma nativa, o NodeSnake adiciona túnel TCP, sequestro de threads e anti-debugging. A variante de ransomware para Windows cria uma tarefa agendada diária e limpa os logs de eventos do Windows através do wevtapi.dll. A infraestrutura também inclui dois domínios protegidos pelo Let’s Encrypt e múltiplos subdomínios gratuitos do Cloudflare Tunnel.

Mitigação

Os defensores devem bloquear os IPs de C2 conhecidos e os domínios do Cloudflare Tunnel no perímetro. Se o ConnectWise ScreenConnect não for necessário, ele deve ser removido ou desativado. Os controles de segurança devem detectar o padrão de byte do crypter e o prefixo do handshake do WebSocket criptografado com RC4 92 01 88 fe. O monitoramento também deve cobrir a tarefa agendada chamada TaskSystem e qualquer criação de arquivos com a extensão .interlock. Controles de acesso de menor privilégio podem reduzir ainda mais a exposição à coleta de credenciais NTLM e ao abuso do rundll32.

Resposta

Se o InterLock for detectado, isole o host afetado, preserve o binário completo para análise forense e extraia a chave pública RSA-4096 incorporada junto com as chaves criptografadas por arquivo. Onde possível, tente a recuperação de chave usando o fraco rand() mais clock() PRNG se carimbos de tempo confiáveis estiverem disponíveis. Remova a tarefa de persistência TaskSystem, exclua os artefatos .interlock e restaure os dados impactados dos backups. Os usuários afetados devem ser notificados e o incidente de dupla extorsão deve ser relatado às autoridades.

"gráfico TB %% Definições de classe classDef ação fill:#99ccff classDef ferramenta fill:#ffcc99 classDef malware fill:#ff9999 classDef processo fill:#cccccc classDef operador fill:#ff9900 %% Acesso Inicial acesso_inicial["<b>Ação</b> – <b>T1204.004 Execução de Usuário</b>: Instalador MSI malicioso entregue"] class acesso_inicial ação msiexec_ferramenta["<b>Ferramenta</b> – <b>Nome</b>: Msiexec<br/><b>Técnica</b>: T1218.007 Execução de Proxy de Binário do Sistema"] class msiexec_ferramenta ferramenta cliente_screenconnect["<b>Malware</b> – <b>Nome</b>: Cliente ScreenConnect<br/><b>Propósito</b>: Componente de acesso remoto"] class cliente_screenconnect malware backdoor_nodesnake["<b>Malware</b> – <b>Nome</b>: Backdoor NodeSnake<br/><b>Capacidades</b>: Shell de Windows interativo e comandos one-shot"] class backdoor_nodesnake malware %% Persistência persistência_tarefa["<b>Ação</b> – <b>T1546 Execução Acionada por Evento</b>: Tarefa agendada criada"] class persistência_tarefa ação tarefa_agendada["<b>Processo</b> – <b>Nome</b>: TaskSystem<br/><b>Agendamento</b>: Diariamente às 20:00"] class tarefa_agendada processo auto_delete["<b>Ação</b> – <b>T1070.009 Remoção de Indicador</b>: Auto-exclusão após execução"] class auto_delete ação %% Acesso a Credenciais acesso_credenciais["<b>Ação</b> – <b>T1556.008 Modificar Processo de Autenticação</b>: Coleta de hashes NTLM"] class acesso_credenciais ação ntlmthief_dll["<b>Ferramenta</b> – <b>Nome</b>: DLL NtlmThief<br/><b>Função</b>: Coletar hashes NTLM e forçar NTLMv1"] class ntlmthief_dll ferramenta %% Evasão de Defesa evasão_defesa["<b>Ação</b> – <b>T1027 Arquivos ou Informações Ofuscadas</b>: Cargas empacotadas com crypter personalizado"] class evasão_defesa ação crypter_personalizado["<b>Ferramenta</b> – <b>Nome</b>: Crypter Personalizado<br/><b>Técnicas</b>: XOR, código lixo, compilação após entrega, compressão, binários desnudos"] class crypter_personalizado ferramenta %% Comando e Controle c2_comunicação["<b>Ação</b> – <b>T1071.001 Protocolo de Camada de Aplicação</b>: Canal WebSocket (RC4 criptografado)"] class c2_comunicação ação websocket_impl["<b>Ferramenta</b> – <b>Nome</b>: Cliente WebSocket<br/><b>Recursos</b>: URLs dinâmicos via Cloudflare Tunnel"] class websocket_impl ferramenta %% Serviços de Proxy serviço_proxy["<b>Ação</b> – <b>T1090 Proxy</b>: Proxy interno e multi-hop"] class serviço_proxy ação cloudflare_tunnel["<b>Ferramenta</b> – <b>Nome</b>: Cloudflare Tunnel<br/><b>Propósito</b>: Resolução dinâmica de URLs C2"] class cloudflare_tunnel ferramenta túnel_protocolo["<b>Ação</b> – <b>T1572 Túnel de Protocolo</b>: Retransmissões de túnel TCP"] class túnel_protocolo ação %% Escalação de Privilégio / Evasão de Defesa priv_esc["<b>Ação</b> – <b>T1055.003 Injeção de Processo</b>: Sequestro de Execução de Thread"] class priv_esc ação injeção_tls["<b>Ação</b> – <b>T1055.005 Injeção de Processo</b>: Injeção de Armazenamento Local de Thread"] class injeção_tls ação ferramenta_injeção_processo["<b>Ferramenta</b> – <b>Nome</b>: Rotina de Injeção de Processo"] class ferramenta_injeção_processo ferramenta %% Descoberta descoberta["<b>Ação</b> – <b>T1016 Descoberta de Configuração de Rede do Sistema</b>: Coletar informações do sistema e da rede"] class descoberta ação %% Coleta coleta["<b>Ação</b> – <b>T1560.001 Arquivo via Utilitário</b> e <b>T1560.003 Arquivo via Método Personalizado</b>: Pacote de dados exfiltrados"] class coleta ação %% Exfiltração exfiltração["<b>Ação</b> – <b>T1020 Exfiltração Automatizada</b> e <b>T1048.002 Exfiltração Sobre Protocolo Não-C2 Assimétrico Criptografado</b>"] class exfiltração ação %% Impacto impacto["<b>Ação</b> – <b>T1486 Dados Criptografados para Impacto</b>: Ransomware InterLock criptografa arquivos"] class impacto ação ransomware["<b>Malware</b> – <b>Nome</b>: Ransomware InterLock<br/><b>Criptografia</b>: AES-256-CBC e RSA-4096 OAEP<br/><b>Extensão</b>: .interlock"] class ransomware malware nota_resgate["<b>Ação</b> – <b>T1490 Inibir Recuperação do Sistema</b>: Limpar logs de eventos e deixar nota de resgate"] class nota_resgate ação limpeza_artefato["<b>Ação</b> – <b>T1070 Remoção de Indicador</b>: Excluir artefatos e arquivos"] class limpeza_artefato ação %% Conexões acesso_inicial –>|usa| msiexec_ferramenta msiexec_ferramenta –>|instala| cliente_screenconnect cliente_screenconnect –>|deixa| backdoor_nodesnake backdoor_nodesnake –>|cria| persistência_tarefa persistência_tarefa –>|cria| tarefa_agendada tarefa_agendada –>|executa| auto_delete backdoor_nodesnake –>|habilita| acesso_credenciais acesso_credenciais –>|usa| ntlmthief_dll backdoor_nodesnake –>|ofusca| evasão_defesa evasão_defesa –>|emprega| crypter_personalizado backdoor_nodesnake –>|comunica via| c2_comunicação c2_comunicação –>|usa| websocket_impl websocket_impl –>|rota através| cloudflare_tunnel cloudflare_tunnel –>|suporta| serviço_proxy serviço_proxy –>|inclui| túnel_protocolo backdoor_nodesnake –>|executa| priv_esc priv_esc –>|usa| ferramenta_injeção_processo ferramenta_injeção_processo –>|também executa| injeção_tls backdoor_nodesnake –>|executa| descoberta backdoor_nodesnake –>|empacota dados com| coleta coleta –>|exfiltra via| exfiltração exfiltração –>|entrega carga útil para| impacto impacto –>|usa| ransomware ransomware –>|deixa| nota_resgate nota_resgate –>|aciona| limpeza_artefato %% Atribuições de classe class msiexec_ferramenta ferramenta class cliente_screenconnect malware class backdoor_nodesnake malware class ntlmthief_dll ferramenta class crypter_personalizado ferramenta class websocket_impl ferramenta class cloudflare_tunnel ferramenta class ferramenta_injeção_processo ferramenta class ransomware malware "

Fluxo de Ataque

Detecções

Comunicação Suspeita de Domínio Trycloudflare (via dns)

Equipe SOC Prime
27 Mar 2026

Execução Suspeita do Perfil de Usuário Público (via process_creation)

Equipe SOC Prime
27 Mar 2026

Uso Possível de Schtasks ou AT para Persistência (via cmdline)

Equipe SOC Prime
27 Mar 2026

Uso Possível de PING para Execução Atrasada (via cmdline)

Equipe SOC Prime
27 Mar 2026

Comando e Controle Suspeito por Solicitação DNS de Domínio de Nível Superior (TLD) Incomum (via dns)

Equipe SOC Prime
27 Mar 2026

Enumeração Possível do Sistema (via cmdline)

Equipe SOC Prime
27 Mar 2026

Enumeração ou Manipulação Possível de Conta ou Grupo (via cmdline)

Equipe SOC Prime
27 Mar 2026

IOCs (Emails) para detectar: InterLock: desmontagem completa de ferramentas de uma operação de ransomware

Regras AI do SOC Prime
27 Mar 2026

IOCs (SourceIP) para detectar: InterLock: desmontagem completa de ferramentas de uma operação de ransomware

Regras AI do SOC Prime
27 Mar 2026

IOCs (HashSha256) para detectar: InterLock: desmontagem completa de ferramentas de uma operação de ransomware

Regras AI do SOC Prime
27 Mar 2026

IOCs (DestinationIP) para detectar: InterLock: desmontagem completa de ferramentas de uma operação de ransomware

Regras AI do SOC Prime
27 Mar 2026

IOCs (HashMd5) para detectar: InterLock: desmontagem completa de ferramentas de uma operação de ransomware

Regras AI do SOC Prime
27 Mar 2026

Detecção de Handshake e Padrão de URL de WebSocket NodeSnake [Conexão de Rede do Windows]

Regras AI do SOC Prime
27 Mar 2026

Detectar Variante ELF InterLock Usando sysconf para Contagem de CPU [Criação de Processo Linux]

Regras AI do SOC Prime
27 Mar 2026

Detectar Método de Execução de Implante JS NodeSnake e DLL InterLock [Criação de Processo do Windows]

Regras AI do SOC Prime
27 Mar 2026

Detecção de Ransomware InterLock e Estágio de Saída de Comando NodeSnake [Evento de Arquivo do Windows]

Regras AI do SOC Prime
27 Mar 2026

Execução de Simulação

Pré-requisito: O Check de Pré-vôo da Telemetria & Base deve ter sido aprovado.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e procurar gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa de Ataque & Comandos:
    O adversário comprometeu uma estação de trabalho com poucos privilégios e está executando um implante NodeSnake JavaScript que realiza duas ações:

    1. Enumeração de nível de privilégio – ele executa cmd.exe /c net1 session para listar sessões de rede ativas, um método conhecido para descobrir se o processo está em execução como SYSTEM ou usuário regular.
    2. Execução de carga baseada em DLL – ele deixa um DLL malicioso (evilpayload.dll) em %TEMP% e o lança via rundll32.exe %TEMP%evilpayload.dll,run %TEMP%evilpayload.dll. Isso imita a técnica do InterLock de usar rundll32 como um carregador para uma carga de segunda etapa.

    Ambos os comandos são executados diretamente para produzir as cadeias de linha de comando exatas que a regra Sigma corresponde.

  • Script de Teste de Regressão:

    # -------------------------------------------------
    # Simulação NodeSnake/InterLock – aciona regra Sigma
    # -------------------------------------------------
    
    # 1. Crie um DLL malicioso fictício (binário não necessário para detecção)
    $dllPath = "$env:TEMPevilpayload.dll"
    Set-Content -Path $dllPath -Value "MZ" -Encoding ASCII   # Placeholder mínimo de cabeçalho PE
    
    # 2. Execute o comando de enumeração de privilégios (correspondência exata)
    Write-Host "[*] Executando enumeração de privilégios (cmd.exe /c net1 session)"
    cmd.exe /c net1 session
    
    # 3. Execute o carregador de carga útil rundll32 (correspondência exata)
    Write-Host "[*] Lançando DLL maliciosa via rundll32.exe"
    rundll32.exe "$dllPath,run $dllPath"
    
    # 4. Pause para permitir a ingestão de SIEM
    Start-Sleep -Seconds 10
  • Comandos de Limpeza:

    # -------------------------------------------------
    # Limpeza para a simulação
    # -------------------------------------------------
    $dllPath = "$env:TEMPevilpayload.dll"
    
    if (Test-Path $dllPath) {
        Remove-Item -Path $dllPath -Force
        Write-Host "[+] Removido $dllPath"
    } else {
        Write-Host "[-] Nenhum DLL encontrado para remover."
    }
    
    # Opcionalmente, limpe o histórico do PowerShell para reduzir a pegada forense
    Clear-History