Ricevi DeafLetter
Una selezione settimanale di segnali, vulnerabilità e guide. Gli avvisi critici restano facoltativi.
Puoi cancellarti in ogni momento. Privacy policy.
Il 22 settembre 2026, Jamf Threat Labs ha documentato una nuova variante della famiglia di infostealer macOS PamStealer, denominata Wavel. Il salto evolutivo non sta nel catalogo dei dati rubati, ma nell'architettura: il malware trasforma il proprio comando e controllo da semplice endpoint di esfiltrazione a prerequisito crittografico indispensabile per l'esecuzione. Senza la risposta attiva del server, il payload secondario resta blindato.
Questa struttura rende inefficaci le sandbox automatiche e l'analisi statica tradizionale, strumenti su cui si regge gran parte della difesa enterprise su macOS. Il rischio si estende oltre il singolo endpoint: uno dei quattro meccanismi di persistenza si annida nei Git hooks globali, con potenziale di contaminazione a cascata nelle supply chain di sviluppo.
- La variante Wavel impiega uno scambio di chiavi ECDH Curve25519 effimero tramite l'utility pkgunpack per decrittare il payload: senza cooperazione C2, l'analisi statica non può recuperare il second stage
- Il componente stealer finale è riscritto in Swift, abbandonando il Rust delle varianti precedenti (Maccy, Scoppr, Nancy) documentate da luglio-agosto 2026
- Quattro meccanismi ridondanti di persistenza includono un LaunchAgent con ciclo ogni 15 secondi, uno script auto-rigenerante, un hook in ~/.zshrc e Git hooks globali attivati da ogni operazione git checkout o commit
- Kaspersky ha analizzato indipendentemente la famiglia correlata MacSync con pattern tecnicamente sovrapponibili: stessa utility pkgunpack, stesso algoritmo ECDH Curve25519, stessa struttura di persistenza
La catena server-side che oscura il payload
Il dropper iniziale si presenta come file AppleScript compilato (.scpt). All'esecuzione, decodifica una stringa base64 di 24.868 caratteri e la passa a /bin/zsh -s: il processo JXA termina immediatamente, mentre lo shell script prosegue in background. Questa separazione di processi complica il tracciamento forense.
Lo script scarica da wavel.apple03cloudstore[.]com l'utility pkgunpack, un binario Mach-O FAT doppio architettura (arm64/x86_64). Thijs Xhaflaire di Jamf Threat Labs ha documentato che pkgunpack impiega X25519 per lo scambio di chiavi, attraverso una curve25519_donna linkata staticamente, e AES-256-GCM con SHA-256 per la decrittazione simmetrica. Per ogni esecuzione, il malware genera una coppia di chiavi effimera; invia la chiave pubblica al server C2, che risponde con un DEK (Data Encryption Key) wrapped.
"Without the server's cooperation, the payload cannot be recovered statically"
— Thijs Xhaflaire, Jamf Threat Labs
Il formato del DEK wrapped inizia con i magic bytes "SNWK1", seguiti da IV AES-GCM, DEK cifrato e authentication tag. La chiave privata del server completa lo scambio X25519: senza di essa, il DEK non è derivabile neanche in possesso del campione completo. Il payload decifrato è un archivio tar.gz che si espande in "Wavel.app", poi rinominato in "Finder.app" con percorso di installazione che mimetizza un componente di sistema.
Quattro anelli di persistenza con auto-riparazione
La persistenza si articola su quattro livelli ridondanti. Il primo è un LaunchAgent denominato com.apple.finder.agent con esecuzione ogni 15 secondi. Il secondo è uno script di repair in ~/Library/Application Support/System/.repair-run. Il terzo è un hook in ~/.zshrc con marker # sysnotif-repair. Il quarto è l'inserimento di Git hooks globali in ~/Library/Application Support/System/.githooks/, specifici per le operazioni post-checkout e pre-commit.
Il repair script si attiva non solo al riavvio, ma a ogni git checkout o git commit in qualsiasi repository sul sistema compromesso. Questo meccanismo non richiede contatto di rete per il ripristino, rendendo la persistenza resiliente anche in assenza di connettività C2. Il dropper, inoltre, sopprime la notifica macOS per nuovi background login items pausando i processi di sistema prima del launchctl bootstrap.
L'abuso dei Git hooks globali è particolarmente insidioso per gli sviluppatori: le operazioni di version control, rituali quotidiani del workflow software, diventano involontariamente vettore di riattivazione. La fonte non specifica se questa tecnica sia stata precedentemente osservata nel panorama del malware macOS.
Il passaggio da Rust a Swift e il raggio d'azione dello stealer
Il componente di furto dati è riscritto in Swift, segnando una rottura con le varianti precedenti implementate in Rust. Non è documentato se la migrazione sia definitiva o se entrambe le versioni coesistano in campagne parallele.
Le funzionalità di raccolta includono: cattura di password tramite fake crash dialog con validazione PAM; furto di credenziali da browser Chromium e Firefox-based, con estensione a client meno comuni come Arc, Zen e browser regionali o privacy-focused; fingerprinting di sistema; raccolta di file .zsh_history, .zshrc, .bash_history, .gitconfig; elenco dei processi in esecuzione e delle applicazioni installate. Xhaflaire ha notato che "l'inclusione di Arc, Zen e dei browser regionali e privacy-focused estende la lista target oltre quanto tipico negli infostealer macOS commodity".
Cosa fare adesso
- Ispezire i LaunchAgent in
~/Library/LaunchAgentse le vocicom.apple.finder.agentche replicano nomi di sistema ma con percorsi non standard: il binario vero risiede in cartelle nascoste sotto Application Support - Verificare la presenza di directory
.githooksin~/Library/Application Support/System/e di riferimenti asysnotif-repairnei file di shell configuration: questi indicatori sono coerenti con la catena di persistenza documentata da Jamf - Analizzare il traffico verso domini con pattern
*.apple03cloudstore[.]come la presenza di binari Mach-O con comandigenkeyedecryptnelle stringhe: sono segnali di preparazione alla fase di key exchange - Rivedere le policy di esecuzione degli AppleScript compilati (.scpt) in contesti non enterprise: il dropper iniziale sfrutta proprio questo formato per eludere i controlli superficiali
Il confine con MacSync: convergenza tecnica, incertezza di attribuzione
Kaspersky, attraverso la sua piattaforma Securelist, ha analizzato una famiglia denominata MacSync con meccanismi tecnicamente sovrapponibili: stessa utility pkgunpack con comandi genkey/decrypt, stesso algoritmo ECDH Curve25519, stessa struttura di DEK wrapping con SHA-256 e domain separator, persistenza via .zshrc, upload dati in chunk PUT di circa 90 megabyte. Non è tuttavia confermato se PamStealer e MacSync siano la stessa famiglia con nomi diversi, o famiglie distinte che condividono tooling e infrastruttura. La relazione non è esplicitamente chiarita dalle fonti disponibili.
Questa convergenza indipendente solleva interrogativi sul grado di modularità dell'ecosistema di sviluppo dietro queste minacce. Se il tooling pkgunpack è riutilizzabile, la barriera all'ingresso per nuovi operatori si abbassa, ma la sofisticazione crittografica indica investimento deliberato piuttosto che assemblaggio opportunistico.
Perché cambia il paradigma della difesa
L'evoluzione di PamStealer Wavel segnala un ripensamento della logica offensiva su macOS. Gli infostealer per questa piattaforma erano tradizionalmente considerati meno sofisticati dei corrispettivi Windows; la catena di decrittazione server-side con key exchange effimero livella questa percezione. L'analista forense non può più isolare il campione e attendere che riveli il proprio comportamento: il C2 è parte integrante della logica di esecuzione, non mero destinatario dei dati rubati.
La persistenza via Git hooks globali aggiunge una dimensione di rischio collettivo al danno individuale. Un endpoint compromesso in un team di sviluppo non è solo una postazione da sanare, ma un nodo potenziale di propagazione verso repository condivisi. Il dato non dichiarato dalle fonti è l'entità della contaminazione: non è documentato se questa tecnica abbia già generato infezioni secondarie in contesti aziendali.
Fonti
- https://thehackernews.com/2026/09/pamstealer-macos-malware-adds-live-c2.html
- https://securelist.com/macsync-new-version/121383/
- https://www.guardianmssp.com/2026/09/25/pamstealer-macos-malware-adds-live-c2-payload-decryption-and-multi-layer-persistence/
- https://www.jamf.com/blog/pamstealer-wavel-macos-infostealer/
- https://news.cybertechworld.co.in/index.php/2026/09/25/pamstealer-macos-malware-adds-live-c2-payload-decryption-and-multi-layer-persistence/
- https://thehackernews.com/
- https://thehackernews.com/p/upcoming-hacker-news-webinars.html
- https://thehackernews.com/search/label/Threat%20Intelligence
- https://thehackernews.com/search/label/Vulnerability
- https://thehackernews.com/search/label/Cyber%20Attack
Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.
Fonti
Ricevi DeafLetter
Una selezione settimanale di segnali, vulnerabilità e guide. Gli avvisi critici restano facoltativi.
Puoi cancellarti in ogni momento. Privacy policy.