DeadLock: Grupo de Ransomware Usa Contratos Inteligentes para Mascarar seu Trabalho
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O ransomware DeadLock adotou contratos inteligentes da Polygon como uma maneira resiliente de publicar e rotacionar URLs de proxy usados para comando e controle (C2), permitindo que a infraestrutura de backend mude rapidamente sem depender de domínios convencionais. Após a criptografia, os atores deixam um wrapper HTML de “pagamento/comunicação” que direciona as vítimas para o mensageiro descentralizado Session para mais instruções e interação. A técnica lembra o padrão EtherHiding previamente relatado em atividades ligadas à Coreia do Norte, usando dados de blockchain como uma camada de indireção para a infraestrutura maliciosa. Notavelmente, DeadLock parece não dar prioridade aos sites públicos de vazamento tradicionais e, em vez disso, monetiza dados roubados por meio de vendas em marketplaces subterrâneos.
Investigação
Analistas da Group-IB documentaram a abordagem apoiada por contrato inteligente do DeadLock para ocultar endpoints de C2, incluindo a distribuição pós-criptografia de um arquivo HTML que faz referência explícita ao Session como o canal de comunicação. O relatório também cita relatos anteriores da Cisco Talos que associaram a atividade DeadLock com técnicas BYOVD (traga seu próprio driver vulnerável) e término de processos de EDR, embora vetores precisos de acesso inicial não tenham sido identificados de forma conclusiva. Técnicas semelhantes de “contrato inteligente como diretório de C2” também foram discutidas pelo Google Threat Intelligence Group no contexto de campanhas norte-coreanas, reforçando a tendência mais ampla de aproveitar blockchains públicos para agilidade de infraestrutura.
Mitigação
Monitore endpoints para artefatos HTML inesperados que iniciam ou referenciam o Session (ou outros mensageiros descentralizados) após atividades suspeitas de arquivo. Implemente uma lista de permissões de aplicativos robusta e restrinja a execução de ferramentas não aprovadas que possam facilitar o acesso remoto, o preparo de payloads ou a instalação de mensageiros. Do lado da rede, revise as saídas para conexões a URLs de proxy ou domínios que pareçam ser derivados de ponteiros armazenados em blockchain e trate mudanças repentinas em destinos de saída como uma anomalia de alto sinal. Atualize continuamente as detecções em endpoints para identificar carregamento de driver BYOVD, instalações de drivers suspeitas e comportamentos consistentes com adulteração de EDR ou término forçado de serviço de segurança.
Resposta
Se indicadores de DeadLock forem identificados, isole os sistemas impactados imediatamente para prevenir mais criptografia e movimentação lateral. Colete e preserve o wrapper HTML deixado, notas de criptografia e quaisquer binários ou scripts relacionados, então bloqueie o tráfego de saída para quaisquer URLs de proxy observados e infraestrutura referenciada em contratos inteligentes. Inicie procedimentos formais de resposta a incidentes, valide a integridade e disponibilidade de caminhos de recuperação offline/em backup antes da remediação e avalie a potencial exposição de dados para determinar o risco de extorsão. Quando apropriado, coordene comunicações com stakeholders e envolva suporte especializado de resposta a ransomware enquanto realiza o escopo e erradicação completos.
“graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#c2e0ff classDef tool fill:#cccccc classDef malware fill:#ffcccc classDef process fill:#e6e6e6 classDef data fill:#f0e68c classDef operator fill:#ff9900 %% Technique Nodes tech_priv_esc[“<b>Técnica</b> – T1068 Exploração para Escalar Privilégios<br/><b>Descrição</b>: Use driver vulnerável para obter privilégios elevados do sistema.”] class tech_priv_esc technique tech_def_evasion[“<b>Técnica</b> – T1211 Exploração para Evasão de Defesa<br/><b>Descrição</b>: Explore vulnerabilidades de driver para terminar ou contornar agentes de segurança.”] class tech_def_evasion technique tech_impair[“<b>Técnica</b> – T1562 Prejudicar Defesas<br/><b>Descrição</b>: Desabilite ou adultere soluções de segurança para reduzir capacidades de detecção e resposta.”] class tech_impair technique tech_web_comm[“<b>Técnica</b> – T1102.002 Comunicação Bidirecional de Serviço Web<br/><b>Descrição</b>: Distribua wrapper HTML criptografado que inicia o mensageiro Session e obtém um URL de proxy de um contrato inteligente Polygon.”] class tech_web_comm technique tech_app_proto[“<b>Técnica</b> – T1071.001 Protocolos de Aplicação de Camada Protocolos Web<br/><b>Descrição</b>: Comunique-se com o proxy e servidor C2 por protocolos web padrão (HTTP/WebSocket) mesclando-se com o tráfego legítimo.”] class tech_app_proto technique %% Tool Node tool_vuln_driver[“<b>Ferramenta</b> – Nome: Driver Vulnerável<br/><b>Propósito</b>: Fornece execução de código em nível de kernele2011 utilizado para elevação de privilégios e evasão de defesa.”] class tool_vuln_driver tool %% Malware Node malware_deadlock[“<b>Malware</b> – Nome: Ransomware DeadLock<br/><b>Capacidade</b>: Realiza criptografia e comunicação C2 após comprometimento inicial.”] class malware_deadlock malware %% Process Nodes process_html_wrapper[“<b>Processo</b> – Nome: HTML Wrapper<br/><b>Ação</b>: Descriptografa e inicia o mensageiro Session no host da vítima.”] class process_html_wrapper process process_session_messenger[“<b>Processo</b> – Nome: Mensageiro Session<br/><b>Ação</b>: Lida com tráfego criptografado, recupera informações de proxy e conversa com o C2.”] class process_session_messenger process process_c2_server[“<b>Servidor</b> – Servidor C2<br/><b>Protocolo</b>: HTTP/WebSocket”] class process_c2_server process %% Data Node data_proxy_url[“<b>Dados</b> – URL de Proxy<br/><b>Fonte</b>: Recuperado de um contrato inteligente Polygon para rotação de endpoints C2.”] class data_proxy_url data %% Connections tech_priv_esc u002du002d>|usa| tool_vuln_driver tech_def_evasion u002du002d>|usa| tool_vuln_driver tool_vuln_driver u002du002d>|habilita| tech_priv_esc tool_vuln_driver u002du002d>|habilita| tech_def_evasion malware_deadlock u002du002d>|distribui| process_html_wrapper process_html_wrapper u002du002d>|inicia| process_session_messenger process_session_messenger u002du002d>|recupera| data_proxy_url data_proxy_url u002du002d>|fornece| tech_web_comm tech_web_comm u002du002d>|comunica-se via| tech_app_proto process_session_messenger u002du002d>|conversa com| process_c2_server tech_impair u002du002d>|alvos| malware_deadlock “
Fluxo de Ataque
Detecções
Processo Suspeito Imitando Svchost Foi Executado (via cmdline)
Visualizar
Possível Exclusão de Cópias Sombra via WMI (via powershell)
Visualizar
Possível Tentativa de Abuso de Publicnode Ethereum Como Canal C2 (via dns_query)
Visualizar
Rotação de URL de Servidor Proxy do Ransomware DeadLock via Contratos Inteligentes [Proxy]
Visualizar
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 do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente as TTPs identificadas e têm como objetivo gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnósticos errôneos.
-
Narrativa de Ataque & Comandos:
O ator da ameaça, tendo comprometido um serviço de proxy controlado por contrato inteligente, rota o URL do proxy a cada poucos minutos para escapar de listas de bloqueio estáticas. Cada rotação publica um novo subdomínio em
deadlock.example.com. O ransomware consulta o proxy para recuperar o próximo endereço C2. Para emular isso, emitimos uma série de requisições HTTP para três URLs distintos que todos contêm a string literal “.example.com”, imitando o padrão de rotação observado em campo. -
Script de Teste de Regressão:
#!/usr/bin/env bash # Simulação de Rotação de URL de Proxy DeadLock – gera telemetria que corresponde à regra do Sigma PROXY="http://proxy.example.local:3128" URLs=( "http://stage1.example.com/deadlock" "http://stage2.example.com/deadlock" "http://stage3.example.com/deadlock" ) echo "[*] Iniciando simulação de rotação de URL de proxy (3 requisições)..." for url in "${URLs[@]}"; do echo "[+] Requisitando $url via $PROXY" curl -s -x "$PROXY" "$url" -o /dev/null sleep 2 # pausa curta para emular intervalo realista done echo "[*] Simulação completa." -
Comandos de Limpeza:
#!/usr/bin/env bash # Remova quaisquer arquivos temporários criados durante a simulação (nenhum neste caso) echo "[*] Sem artefatos para limpar. Deixando a configuração do proxy intacta."