// 6 ZERO-DAY · 8 CVE · 5 EXPLOIT NELLE ULTIME 24H
Jamf Threat Labs ha documentato AmnesiaStealer, un infostealer Rust-based per macOS che clona il profilo Chromium e concede agli operatori controllo interattivo via

Jamf Threat Labs ha identificato e analizzato AmnesiaStealer, un infostealer Rust-based per macOS che non si limita a esfiltrare dati: clona il profilo Chromium della vittima, lo avvia in un browser headless e concede all'operatore controllo interattivo in tempo reale sulle sessioni autenticate. La scoperta, pubblicata il 13 agosto 2026, segna la prima documentazione di questa tecnica su piattaforma macOS.

Il salto qualitativo rispetto agli infostealer tradizionali — Atomic Stealer, AMOS e derivati — è netto. Dove questi ultimi rubano file, cookie e credenziali per riutilizzarli altrove, AmnesiaStealer permette di guidare il browser direttamente sulla macchina compromessa, bypassando le difese post-compromissione basate su ri-autenticazione e multi-factor authentication.

Punti chiave
  • Il modulo stream_module, attivato dal comando remote_stream, clona il profilo locale di 7 browser Chromium-family e lo avvia in modalità headless sotto controllo operatore.
  • Doppio canale WebSocket: uno verso il relay C2 per comandi e screencast (~3fps), l'altro verso il webSocketDebuggerUrl locale per accedere al Chrome DevTools Protocol (CDP).
  • L'input umano (tastiera, mouse, scroll, navigazione, tab) viene tradotto in chiamate CDP real-time contro il browser clonato, con patching delle API fingerprinting per mascherare l'automazione.
  • La catena di infezione a tre stadi si attiva tramite campagne ClickFix con pagina GitHub contraffatta che induce la vittima a incollare un comando Base64 nel Terminale.

Da furto di file a sessione fantasma: il modello operativo di AmnesiaStealer

La distribuzione segue lo schema ClickFix oramai consolidato: una pagina che imita GitHub chiede all'utente di copiare e incollare nel Terminale un comando codificato in Base64. Questo avvia lo stadio iniziale, uno shell script dropper che scarica e esegue l'infostealer principale scritto in Rust.

Il malware si articola in tre componenti. Il primo è il collettore di dati classici: ruba credenziali da 16 browser Chromium-based, Apple Notes, Telegram, documenti, wallet crypto e keychain. Per sbloccare il Keychain cattura la password macOS tramite un prompt nativo che imita la finestra di Installer, la valida via dscl e la reimpiega. Il secondo stadio è il modulo clipper per asset crypto, disabilitato nel campione analizzato secondo Jamf.

Il terzo stadio — stream_module — è l'innovazione che definisce la minaccia. Attivato su comando dell'operatore, clona il profilo Chromium della vittima e lo monta in un'istanza headless. Da quel momento l'attaccante non ha più bisogno di esfiltrare la sessione per riutilizzarla: la guida direttamente, con visibilità completa dell'interfaccia e capacità di interazione pixel-perfect.

L'architettura a due WebSocket: come funziona il controllo remoto

Il cuore tecnico è l'uso simultaneo di due canali WebSocket. Il primo mantiene la connessione verso il relay di comando e controllo: trasmette lo screencast dell'operatore a circa 3 frame al secondo e riceve le istruzioni di input. Il secondo canale si collega al webSocketDebuggerUrl esposto localmente dal browser headless, fornendo accesso nativo al Chrome DevTools Protocol.

CDP è l'interfaccia di debug integrata in Chromium che consente strumenti come Chrome DevTools di ispezionare, modificare e pilotare il runtime del browser. AmnesiaStealer lo strumentalizza in modo opposto alla finalità originaria: le azioni dell'operatore vengono tradotte in chiamate CDP in tempo reale, mentre script iniettati patchano le API di fingerprinting — navigator.webdriver, dimensioni finestra, user agent, WebGL — per evitare che i siti visitati rilevino l'automazione.

Il risultato è una sessione indistinguibile da quella di un utente reale, pur essendo completamente estranea al dispositivo legittimo. L'operatore naviga, compila form, conferma transazioni, accede a console cloud e bancarie con le sessioni già attive della vittima.

"In effect the remote_stream command turns an infected host into a live, operator-driven browser running the victim's authenticated sessions, which is a materially different level of access from file collection." — Jamf Threat Labs

La persistenza e il problema macOS 26

Per mantenere l'accesso, AmnesiaStealer installa un LaunchDaemon che si spaccia per il servizio di crash reporting di Apple — tecnica che maschera il processo malevolo tra quelli di sistema. La chiave di configurazione XOR a 15 byte è codificata come stringa leggibile: 4mn3s1a_2o26!xK, un dettaglio che Jamf ha recuperato dall'analisi statica del campione con hash SHA-256 de5748aac4a4d4cb48cf050652679e6bc49eda33d9ffaa0d280b578122fab55a.

Su macOS 26 il malware introduce un meccanismo di fallback: se non riesce a recuperare la Chrome Safe Storage key esistente, la sostituisce con un valore fornito dall'attaccante. Secondo Jamf, questo permette di mantenere l'accesso ai dati crittografati del browser, sebbene il brief non chiarisca se la sostituzione abbia effetto retroattivo su dati già presenti o solo su quelli successivi.

Il pannello di amministrazione del C2 si chiama "Amnesia Panel" e presenta un messaggio di errore in russo: l'unico elemento che potrebbe indicare la provenienza linguistica degli operatori, sebbene Jamf non avanzi attribuzioni geografiche o di gruppo.

Perché questa tecnica cambia le difese post-compromissione

La rilevanza di AmnesiaStealer sta nel punto di rottura con il modello operativo degli infostealer tradizionali. Furto di cookie e credenziali richiede all'attaccante di re-inserirsi nel servizio target, spesso da un endpoint diverso, con il rischio di triggerare alert di login anomalo, richieste MFA aggiuntive o controlli anti-fraud basati su device fingerprinting.

Con la sessione headless controllata via CDP, questi controlli diventano inefficaci. Il browser è quello vero, il profilo è quello vero, la geolocalizzazione IP è quella della vittima. L'unico elemento anomalo — l'assenza di display fisico — viene mascherato dalle patch alle API di rilevazione. Le difese che presumono che la compromissione termini con l'esfiltrazione di dati devono essere ricalibrate: qui la compromissione è continua e interattiva.

Per le aziende che gestiscono accesso a console cloud, bancarie o corporate da macOS, l'implicazione è che la segmentazione tra endpoint compromesso e sessione autenticata si assottiglia. Il malware non viola l'autenticazione: la indossa.

Il contesto storico: CDP già abusato, ma non su macOS

L'abuso del Chrome DevTools Protocol da parte di malware non è in sé una novità. Gruppi come Chaos ransomware e msaRAT hanno già utilizzato CDP per instradare traffico C2 attraverso istanze browser legittime, e il malware Chaes ha sfruttato protocolli simili per rubare dati. Tuttavia, tutti questi casi documentati riguardano piattaforme Windows. La combinazione di profilo Chromium clonato con controllo remoto interattivo via CDP su macOS non era stata finora riportata nella letteratura tecnica.

AmnesiaStealer sintetizza elementi noti — ClickFix, infostealer Rust, CDP — in un'architettura che ne moltiplica l'impatto. Come notano i ricercatori di Jamf: "A working collector paired with a working browser-hijack stage, wrapped around a few dated bypasses, is what makes it worth tracking."

Cosa fare adesso

  • Bloccare le campagne ClickFix a livello di awareness: il vettore iniziale richiede l'azione consapevole della vittima nell'incollare comando Base64 nel Terminale; la formazione su questo pattern specifico resta il filtro più efficace.
  • Monitorare l'esecuzione di launchctl per job che impersonano servizi di sistema Apple, verificando la firma del plist e il percorso dell'eseguibile rispetto alle directory attendibili.
  • Rilevare l'avvio di browser Chromium-family in modalità headless su macOS con profilo specificato via --user-data-dir diverso da quelli standard, in particolare sotto /tmp con nomi di directory di 25 caratteri alfanumerici casuali.
  • Esaminare le connessioni WebSocket locali verso porte tipiche del Chrome DevTools Protocol (ws://127.0.0.1 con porte dinamiche) originate da processi browser non associati a sessioni utente visibili.

Domande frequenti

AmnesiaStealer può funzionare su Safari o Firefox?

No. Il modulo stream_module supporta esplicitamente sette browser della famiglia Chromium: Chrome, Brave, Edge, Arc, Opera, Vivaldi e Chromium. Il funzionamento dipende dalla disponibilità del Chrome DevTools Protocol, presente solo in motori Chromium-based.

Il malware richiede privilegi di root?

Il LaunchDaemon di persistenza opera con privilegi root, ma l'infezione iniziale non necessita di escalation: il comando Base64 incollato dalla vittima nel Terminale gira con i privilegi dell'utente corrente. La cattura della password macOS avviene tramite ingegneria sociale, non exploit di elevazione.

Esiste un indicatore di compromissione specifico?

Jamf ha pubblicato l'hash SHA-256 del campione analizzato (de5748aac4a4d4cb48cf050652679e6bc49eda33d9ffaa0d280b578122fab55a) e la chiave di configurazione XOR. La password dell'archivio ZIP dropper è dulin. Tuttavia, il dossier non specifica se questi indicatori siano statici o variabili tra campagne.

Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.

Fonti


Fonti e riferimenti
  1. bleepingcomputer.com
  2. thehackernews.com
  3. jamf.com
  4. news4hackers.com
  5. securityweek.com
  6. scworld.com
  7. nvd.nist.gov
  8. wiz.io