Blog
Ransomware QilinPAN-OSRansomwareData Exfiltration

Ransomware Qilin e CVE-2026-0257: il bug della VPN è solo la porta d'ingresso

Gli affiliati Qilin trasformano il bypass di autenticazione GlobalProtect CVE-2026-0257 in cifratura su tutto il dominio. La breccia al perimetro è silenziosa; la kill chain che segue no.

Zero Hunt Research··9 min di lettura

Lunedì CISA ha confermato che un bypass di autenticazione di GlobalProtect (Palo Alto Networks) — CVE-2026-0257, divulgato il 13 maggio e valutato con un modesto 7.8 "High" — viene ora usato in campagne ransomware. Il giorno dopo Arctic Wolf Labs ha pubblicato l'analisi di più intrusioni di giugno in cui lo stesso bug ha portato gli attaccanti da un portale VPN alla cifratura dell'intera azienda. L'affiliato che gestiva il payload era Qilin — una crew ransomware-as-a-service che, secondo BleepingComputer, ha elencato oltre 2.000 vittime sul proprio leak site da agosto 2022.

Il numero che deve preoccupare non è il CVSS. È il dato di esposizione: Shadowserver traccia oltre 167.000 istanze GlobalProtect raggiungibili da internet, Shodan ne rileva oltre 172.000. Non è un'appliance di nicchia. È uno dei modi più diffusi con cui un'azienda termina l'accesso remoto, e un "High" vecchio di due mesi è appena diventato l'initial-access broker più economico sul mercato.

Il bug che un numero di versione non chiude

CVE-2026-0257 non è uno spettacolo di memory corruption. È un difetto logico nel modo in cui GlobalProtect gestisce i cookie di authentication override. Quando un portale o gateway è configurato per emettere quei cookie e li abbina a una specifica configurazione di certificato, un attaccante non autenticato può forgiare il cookie, bypassare il login e stabilire una sessione VPN come se avesse credenziali valide. Nessuna password, nessun prompt MFA, nessun brute force. Il vettore CVSS 4.0 pubblicato da Palo Alto — AV:N/AC:L/AT:N/PR:N/UI:N — dice esattamente questo: raggiungibile via rete, bassa complessità, nessun privilegio, nessuna interazione utente.

Il dettaglio che tiene in vita la falla mesi dopo la patch è che il fix e l'esposizione stanno in due posti diversi. Ne abbiamo scritto nella nostra analisi precedente sulla meccanica del cookie-forge: un firewall PAN-OS pienamente aggiornato resta sfruttabile se il portale GlobalProtect riusa il proprio certificato TLS per il cookie di override. La stessa remediation di Palo Alto è un cambio di configurazione — usare un certificato dedicato per l'override, oppure disattivare del tutto l'override — non solo un aggiornamento del firmware. Rapid7 ha osservato lo sfruttamento entro pochi giorni dall'advisory; 8 su 10 dei loro clienti MDR sotto attacco avevano già connessioni VPN non autorizzate stabilite prima del contenimento.

Era maggio. Le crew ransomware si sono prese l'estate per industrializzarlo.

Ransomware Qilin: la kill chain dopo la sessione VPN

È qui che il framing "7.8 High" crolla. Un punteggio descrive la vulnerabilità. Non descrive a cosa la vulnerabilità è una porta. Arctic Wolf ha ricostruito il tradecraft post-accesso nelle intrusioni di giugno, e si legge come un manuale di doppia estorsione eseguito a velocità:

  • La persistenza è stata piantata subito — chiavi di Registro Run con pattern di nome *[a-z]{6}, scheduled task e un kit rotante di strumenti di accesso remoto legittimi: AnyDesk, Ngrok, LogMeIn, MeshAgent. Se il buco VPN viene chiuso, gli operatori mantengono una via di rientro.
  • L'accesso alle credenziali è arrivato dal dump della memoria LSASS via rundll32.exe che richiama comsvcs.dll, e dal furto dell'intero database di Active Directory con il metodo IFM (Install-From-Media) di ntdsutil.exe — un singolo comando che fa lo snapshot di NTDS.dit e dell'hive SYSTEM, consegnando all'attaccante tutti gli hash di dominio in un colpo solo.
  • Il movimento laterale ha usato PsExec sulle share amministrative (C$), RDP e NetExec — living-off-the-land, niente che faccia scattare una firma.
  • La defense evasion ha significato cancellazione dei log a livello aziendale e disattivazione di Microsoft Defender prima dell'esecuzione del payload.
  • L'esfiltrazione, nei casi di doppia estorsione, era Rclone in streaming verso lo storage cloud MEGA.
  • La cifratura era win.exe, posizionato in C:\PerfLogs\ e protetto da password, così che anche un campione recuperato resista all'analisi.

"Il tradecraft post-exploitation variava tra le intrusioni, da operazioni rapide di sola cifratura fino alla doppia estorsione completa, suggerendo forse più affiliati operanti sotto l'ombrello ransomware-as-a-service di Qilin." — Arctic Wolf Labs, 20 luglio 2026

Quella varianza è l'indizio. Non è un singolo attore con un singolo runbook. È una capacità noleggiata, e il passo di initial-access — il bypass VPN — è la parte intercambiabile. Affiliati diversi, stessa porta d'ingresso.

Perché il filo vede ciò che l'endpoint non vede

Il pattern scomodo nei post-mortem ransomware è che la vittima quasi sempre lo scopre dopo che i file sono cifrati. La nota di riscatto è l'alert. Tutto ciò che sta a monte — il dump LSASS, lo snapshot ntdsutil, il fan-out PsExec, l'upload Rclone da svariati gigabyte — è avvenuto in una finestra in cui la rete urlava e nessuno leggeva il filo in tempo reale.

Guardiamo cosa sembra, come traffico, ogni fase della catena Qilin, indipendentemente da qualsiasi agent endpoint:

Fase della kill chain Visibilità agent endpoint Visibilità rete / traffico
Bypass auth GlobalProtect (T1190) Nessuna — la sessione è "valida" Una sessione VPN senza scambio di autenticazione precedente
Dump LSASS (T1003.001) Alta se l'agent gira ed è attivo Perlopiù locale; poco sul filo
Furto NTDS IFM (T1003.003) Rilevabile via telemetria ntdsutil Letture tipo replica-DC da un host inatteso
Movimento laterale (T1021.001/.002) Per-host, accecabile con la pulizia dei log Fan-out SMB/RDP da un host interno verso molti — una forma, non una firma
Defender off + log puliti (T1562.001/T1070.001) L'agent che dovrebbe segnalarlo è ciò che viene ucciso L'endpoint tace sul filo nello stesso istante in cui i suoi pari restano attivi
Esfiltrazione Rclone → MEGA (T1567.002) Dipende dalla copertura DLP TLS in uscita sostenuto verso una ASN cloud mai vista, da un host che storicamente solo riceve
Cifratura win.exe (T1486) La nota di riscatto Raffiche di scrittura SMB rapide sulle share con pattern laterale prevedibile

Due righe contano più delle altre. Quando l'attaccante pulisce i log e uccide Defender, la testimonianza dell'endpoint viene distrutta esattamente nel momento in cui serve — ma un host che improvvisamente ammutolisce mentre i vicini continuano a parlare è di per sé un'anomalia che la rete vede. E l'egress Rclone è l'evento più rumoroso dell'intera catena: una workstation o un file server che ha passato tutta la vita a ricevere dati apre di colpo un tunnel TLS sostenuto e ad alto volume verso una ASN mai contattata. Non è un segnale sottile. È invisibile solo se nessuno guarda i pacchetti mentre accade.

Remediation

CVE-2026-0257 è il punto d'ingresso; la catena Qilin è ciò che erediti se sbagli. Tratta entrambi.

1. Sono esposto? Due domande, in quest'ordine. Primo: il tuo train PAN-OS è patchato? Confronta la versione in esecuzione con l'elenco delle versioni corrette qui sotto. Secondo — ed è quello che gli audit mancano — l'authentication override è configurato con un certificato condiviso? Nella web UI, controlla Network → GlobalProtect → Portals/Gateways → Agent → Authentication e verifica se Authentication Override è attivo e quale certificato usa. Dall'esterno, enumera la tua stessa esposizione come fanno gli attaccanti: cerca su Shodan/Censys i tuoi range pubblici con fingerprint GlobalProtect.

2. Patch — versioni corrette esatte. Secondo l'advisory Palo Alto, aggiorna almeno a:

  • PAN-OS 12.1: 12.1.4-h6 o 12.1.7
  • PAN-OS 11.2: 11.2.4-h17, 11.2.7-h14, 11.2.10-h7 o 11.2.12
  • PAN-OS 11.1: 11.1.4-h33, 11.1.6-h32, 11.1.7-h6, 11.1.10-h25, 11.1.13-h5 o 11.1.15
  • PAN-OS 10.2: 10.2.7-h34, 10.2.10-h36, 10.2.13-h21, 10.2.16-h7 o 10.2.18-h6
  • Prisma Access: 11.2.7-h13 (11.2) / 10.2.10-h36 (10.2). Cloud NGFW non è interessato.

3. Non puoi patchare subito? Cambia la configurazione. La patch non è l'unica leva, perché l'esposizione è guidata dalla configurazione. Le mitigazioni dichiarate da Palo Alto sono usare un certificato dedicato per i cookie di authentication override oppure disattivare l'authentication override del tutto (togli la spunta nell'agent config di Portal/Gateway). Entrambe chiudono il percorso di forgery indipendentemente dalla versione del firmware. Fallo oggi, anche se l'upgrade è pianificato per la prossima settimana.

4. Caccia alla compromissione (mappata su MITRE ATT&CK). Assumi che la VPN fosse una porta, non un muro. Cerca:

  • T1190 / T1133 — sessioni GlobalProtect senza evento di autenticazione corrispondente; sessioni da ASN residenziali o di hosting da cui i tuoi utenti non provengono.
  • T1547.001 / T1053.005 — nuove chiavi di Registro Run che matchano *[a-z]{6}; scheduled task mascherati da updater.
  • T1219 — processi AnyDesk, Ngrok, LogMeIn, MeshAgent su server che non hanno motivo di eseguire software di accesso remoto.
  • T1003.001 / T1003.003rundll32.exe che carica comsvcs.dll contro lsass; ntdsutil.exe invocato con ifm / create full; letture tipo replica-DC da un host non-DC.
  • T1021.001 / T1021.002 — creazione servizio PsExec su C$; fan-out RDP o SMB da un singolo host interno verso molti.
  • T1562.001 / T1070.001 — manomissione di Defender; log di sicurezza cancellato (Event ID 1102).
  • T1567.002 — command line Rclone; TLS in uscita sostenuto verso MEGA o altro storage cloud consumer da un server.

5. Eradica e verifica. Se trovi uno di questi, una patch al firewall non ripulisce nulla. Il furto di NTDS significa che ogni credenziale di dominio è bruciata — pianifica una rotazione password su tutto il dominio incluso l'account krbtgt (due volte), non solo gli account che pensi siano stati toccati. Rimuovi il tooling di accesso remoto e la persistenza, e ricostruisci qualsiasi host che non puoi dimostrare pulito, invece di ripulirlo in-place. Ruota i certificati GlobalProtect e ogni segreto pre-condiviso VPN che l'attaccante potrebbe aver letto. Poi conferma che il fix di configurazione abbia tenuto: verifica che l'authentication override usi un certificato dedicato o sia disattivato e che nessuna sessione forgiata possa ristabilirsi. Verifica dopo aver patchato — una chiave Run malevola e un NTDS.dit copiato sopravvivono entrambi all'upgrade del firmware.

Dove il filo è l'unico testimone onesto

La catena Qilin è il caso canonico per cui è stata costruita l'AI Traffic Analysis di Zero Hunt, perché ogni passo ad alto costo — la replica per il furto di credenziali, il fan-out PsExec, l'egress Rclone — è comportamentale sulla rete prima di essere conclusivo su qualsiasi endpoint, e la prima mossa dell'attaccante dopo l'accesso è accecare l'endpoint. La nostra appliance esegue un modello di deep learning proprietario addestrato su miliardi di sequenze PCAP, con quattro teste di inferenza parallele (traffico sospetto, classificazione malware, identificazione del tipo di attacco, fingerprinting applicativo), sostenendo 2.7+ Gbit/s su una singola GPU on-prem. Non chiede a un feed di reputazione se MEGA sia malevolo; chiede se questo host — che ha ricevuto dati per tutta la sua vita operativa — abbia motivo di aprire un tunnel TLS sostenuto verso una ASN con cui non ha mai parlato, mentre i suoi pari tacciono e il domain controller viene letto come un target di backup. Risponde a quella domanda mentre l'esfiltrazione è in corso, non nel digest SIEM di domani. Nessun callback cloud, nessuna telemetria che esce dall'edificio — il che conta quando ciò che stai cacciando ha già spento gli agent che normalmente telefonerebbero a casa.

Il lato perimetro è l'altra metà. Il motivo per cui CVE-2026-0257 è rimasta sfruttabile è che patch state e configuration state sono oggetti diversi, e un banner di versione non può dirti quale dei due hai. Il pentest generativo a 10 agenti di Zero Hunt valida la condizione raggiungibile, non la voce del CMDB: un LLM locale scrive un exploit contro la tua reale configurazione GlobalProtect in un container effimero e irrobustito con gVisor, back-testato nell'AI Gym prima di girare, e o forgia una sessione funzionante o no. Le campagne change-triggered rieseguono quel controllo entro un'ora quando una nuova appliance compare sul perimetro, e ogni finding è firmato ECDSA così che la risposta a "eravamo esposti il 22 luglio" sia un artefatto, non un ricordo. Patcha il firewall, sistema il certificato — poi dimostralo, e guarda il filo per il giorno in cui qualcuno entra comunque.

Usi GlobalProtect e vuoi sapere se la tua configurazione di override è sfruttabile, non solo se è patchata? Contattaci.