JADEPUFFER Usa Ransomware Agentic para Extorsão Automática de Banco de Dados
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
JADEPUFFER representa o primeiro exemplo documentado publicamente de ransomware agentic, uma campanha de extorsão operada de ponta a ponta por um Modelo de Linguagem Grande. O ator explora fraquezas em instâncias do Langflow voltadas para a internet para obter acesso inicial e, em seguida, realiza independentemente reconhecimento, movimento lateral e destruição de banco de dados. A operação se destaca por suas cargas que narram a si mesmas e sua capacidade de adaptar decisões em tempo real.
Investigação
A equipe de Pesquisa de Ameaças da Sysdig observou o JADEPUFFER abusando do CVE-2025-3248 para executar código Python arbitrário em um host Langflow. A investigação deles seguiu o agente à medida que ele se movia de coletar credenciais de nuvem e enumerar buckets MinIO para comprometer um servidor de produção MySQL e Nacos. A pesquisa também mostrou o agente diagnosticando falhas operacionais, incluindo problemas de implementação de bcrypt e restrições de chave estrangeira, em segundos.
Mitigação
As etapas defensivas principais incluem atualizar o Langflow para remediar o CVE-2025-3248 e fortalecer o Nacos substituindo as chaves de assinatura JWT padrão. As organizações devem evitar expor interfaces de execução de código ou contas administrativas de banco de dados diretamente na internet. Controles estritos de saída e definição cuidadosa das credenciais da nuvem, longe de processos acessíveis pela web, também são fortemente recomendados.
Resposta
Se atividade do JADEPUFFER for detectada, os respondentes devem isolar imediatamente os sistemas Langflow e Nacos afetados. As configurações do banco de dados devem ser validadas e os hosts devem ser verificados quanto a entradas de crontab não autorizadas ou usuários administrativos recém-criados. As equipes também devem monitorar o tráfego da rede para conexões com a infraestrutura de comando e controle identificada e revisar os ambientes de nuvem para chaves de API do provedor comprometido.
Fluxo de Ataque
Detecções
Possível Uso de Crontab para Execução Direta (via cmdline)
Ver
Arquivo ou Diretório Suspeito na Pasta /tmp do Linux (via file_event)
Ver
Detecção de Extorsão de Banco de Dados do Ransomware JADEPUFFER [Criação de Processo no Windows]
Ver
Detecção de RCE e Persistência de Cron Não Autenticada do Langflow [Criação de Processo no Linux]
Ver
Execução de Simulação
Pré-requisito: O Check Pre-flight de Telemetria & Baseline deve ter sido concluído com sucesso.
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 a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnósticos equivocados.
-
Narrativa e Comandos do Ataque: O adversário obteve acesso inicial a um servidor de aplicação baseado em Windows. Eles têm o objetivo de realizar extorsão de banco de dados automatizada (JADEPUFFER). Primeiro, eles utilizam um script Python contendo credenciais de root codificadas para conectar-se ao
nacosbanco de dados para exfiltrar dados de configuração. Em segundo lugar, eles executam uma série de comandos SQL para criptografar colunas de tabela sensíveis usando afunção AES_ENCRYPT. Isso imita a natureza "agente" do ransomware, que automatiza a destruição da visibilidade dos dados para exigir pagamento.function. This mimics the “agentic” nature of the ransomware which automates the destruction of data visibility to demand payment. -
Script de Teste de Regressão:
import pymysql # Simulação de Acesso Não Autorizado do JADEPUFFER (contexto T1548/T1136.002) # Alvo: banco de dados de configuração do Nacos try: connection = pymysql.connect( host="localhost", port=3306, user="root", password="password123", # Credencial roubada simulada database="nacos" ) print("[+] Conectado com sucesso ao Nacos como root.") with connection.cursor() as cursor: # Simulação de Criptografia do JADEPUFFER (contexto T1053.003) # Esta sintaxe específica é projetada para acionar a regra de detecção print("[*] Executando AES_ENCRYPT para simular extorsão...") sql_extort = "UPDATE configs SET content = AES_ENCRYPT('sensitive_data', 'secret_key') WHERE id = 1;" cursor.execute(sql_extort) connection.commit() print("[+] Telemetria de extorsão gerada.") connection.close() except Exception as e: print(f"[-] Simulação falhou: {e}") -
Comandos de Limpeza:
-- Restaurar a coluna 'content' para um estado não criptografado para o ambiente de teste UPDATE configs SET content = 'original_unencrypted_data' WHERE id = 1; -- Garantir que a conexão de root simulada seja terminada