JADEPUFFER utilizza il ransomware Agentic per l’estorsione automatizzata dei database
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
JADEPUFFER rappresenta il primo esempio documentato pubblicamente di ransomware agentico, una campagna di estorsione operata interamente da un grande modello di linguaggio. L’attore sfrutta le vulnerabilità nelle istanze Langflow esposte su internet per ottenere l’accesso iniziale e poi esegue autonomamente ricognizione, movimento laterale e distruzione di database. L’operazione si distingue per i suoi payload auto-narranti e la capacità di adattare le decisioni in tempo reale.
Indagine
Il Sysdig Threat Research Team ha osservato JADEPUFFER abusare di CVE-2025-3248 per eseguire codice Python arbitrario su un host Langflow. La loro indagine ha seguito l’agente mentre passava dalla raccolta di credenziali del cloud e l’enumerazione di bucket MinIO al compromettere un server MySQL e Nacos in produzione. La ricerca ha anche mostrato l’agente diagnosticare guasti operativi, inclusi problemi di implementazione bcrypt e vincoli di chiave esterna, in pochi secondi.
Mitigazione
Passaggi difensivi chiave includono l’applicazione di patch a Langflow per correggere CVE-2025-3248 e il rafforzamento di Nacos sostituendo le chiavi di firma JWT predefinite. Le organizzazioni dovrebbero evitare di esporre interfacce di esecuzione di codice o account amministrativi di database direttamente su internet. Si raccomanda fermamente un controllo rigoroso sull’uscita e uno scoping attento delle credenziali del cloud al di fuori dei processi accessibili via web.
Risposta
Se viene rilevata attività JADEPUFFER, i rispondenti dovrebbero isolare immediatamente i sistemi Langflow e Nacos interessati. Configurazioni di database dovrebbero essere convalidate e gli host dovrebbero essere controllati per voci di crontab non autorizzate o nuovi utenti amministrativi creati. I team dovrebbero anche monitorare il traffico di rete per connessioni all’infrastruttura di comando e controllo identificata e di esfiltrazione e controllare gli ambienti cloud per chiavi API del fornitore compromesse.
Flusso di Attacco
Rilevamenti
Possibile Uso di Crontab per Esecuzione Diretta (tramite cmdline)
Visualizza
File o Directory Sospetti nella Cartella /tmp di Linux (tramite file_event)
Visualizza
Rilevamento di Estorsione del Database di JADEPUFFER Ransomware [Creazione Processo Windows]
Visualizza
Rilevamento della Persistenza di Cron e RCE Non Autenticata di Langflow [Creazione Processo Linux]
Visualizza
Esecuzione Simulazione
Prerequisito: Il Check Pre-flight di Telemetria & Baseline deve essere passato.
Motivo: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’attaccante (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare l’esatta telemetria prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrazione & Comandi di Attacco: L’avversario ha ottenuto l’accesso iniziale a un server applicativo basato su Windows. Intendono eseguire un’estorsione automatizzata del database (JADEPUFFER). In primo luogo, utilizzano uno script Python contenente credenziali di root hardcoded per connettersi al
nacosdatabase per esfiltrare i dati di configurazione. In secondo luogo, eseguono una serie di comandi SQL per crittografare colonne di tabelle sensibili usando laAES_ENCRYPTfunzione. Questo imita la natura “agentica” del ransomware che automatizza la distruzione della visibilità dei dati per richiederne il pagamento. -
Script di Test di Regressione:
import pymysql # Simulazione di Accesso Non Autorizzato JADEPUFFER (contesto T1548/T1136.002) # Obiettivo: Database di configurazione Nacos try: connection = pymysql.connect( host="localhost", port=3306, user="root", password="password123", # Credenziale rubata simulata database="nacos" ) print("[+] Connessione riuscita a Nacos come root.") with connection.cursor() as cursor: # Simulazione di Crittografia JADEPUFFER (contesto T1053.003) # Questa specifica sintassi è progettata per attivare la regola di rilevamento print("[*] Esecuzione AES_ENCRYPT per simulare estorsione...") sql_extort = "UPDATE configs SET content = AES_ENCRYPT('sensitive_data', 'secret_key') WHERE id = 1;" cursor.execute(sql_extort) connection.commit() print("[+] Telemetria di estorsione generata.") connection.close() except Exception as e: print(f"[-] Simulazione fallita: {e}") -
Comandi di Pulizia:
-- Ripristinare la colonna 'content' a uno stato non crittografato per l'ambiente di test UPDATE configs SET content = 'original_unencrypted_data' WHERE id = 1; -- Assicurarsi che la connessione simulata del root sia terminata