
Il malware macOS PamStealer utilizza lo scambio di chiavi in tempo reale per eludere Static A
I ricercatori di Jamf Threat Labs segnalano che PamStealer ora richiede la decrittazione lato server tramite scambio di chiavi X25519, rendendo impossibile l'analisi statica senza un C2 attivo…
I ricercatori di sicurezza informatica di Jamf Threat Labs hanno identificato un'evoluzione significativa nella famiglia di malware PamStealer che prende di mira i sistemi macOS. L'ultima variante introduce un meccanismo sofisticato di distribuzione e decrittazione che cambia radicalmente il modo in cui gli analisti possono studiare la minaccia. In precedenza, l'analisi statica del payload era possibile perché il materiale crittografico era incorporato direttamente negli script dannosi. In questa nuova versione, il payload principale non può essere recuperato o decrittato senza la cooperazione attiva del server di comando e controllo (C2) dell'attaccante.
La catena di infezione inizia con un'esca ingannevole. Le vittime vengono indirizzate a un sito web falso chiamato "wavel.app", che pubblicizza un servizio di portafoglio di criptovaluta inesistente chiamato Wavel. Ciò rappresenta un cambiamento rispetto alle campagne precedenti che impersonavano gestori di appunti legittimi come Maccy, Scoppr e Nancy Clipboard. Quando gli utenti cliccano sul pulsante di download su questo sito fraudolento, ricevono un file immagine disco denominato Wavel.dmg. All'interno di questo archivio c'è un file AppleScript compilato progettato per indurre gli utenti a eseguire codice.
Aprendo il file si avvia l'Editor di Script integrato di Apple, che mostra istruzioni che invitano l'utente ad attivare l'esecuzione. Questo passaggio avvia un dropper JavaScript for Automation (JXA). Tuttavia, a differenza delle iterazioni precedenti in cui lo script JXA eseguiva autonomamente complesse attività di decrittazione, la versione attuale utilizza JXA semplicemente come vettore. Lo script decodifica una stringa base64 e inoltra il risultato a /bin/zsh. Il processo JXA termina immediatamente, lasciando un dropper zsh in esecuzione in background per continuare l'infezione.
Questo script zsh orchestra la vera innovazione tecnica: la decrittazione in tempo reale del payload. Scarica un'utilità creata appositamente chiamata "pkgunpack" da un server ospitato su wavel.apple03cloudstore[.]com. Lo script esegue quindi uno scambio di chiavi X25519 con il server dell'attaccante. Poiché la chiave di crittografia dei dati (DEK) necessaria per decifrare il bundle del payload viene generata durante questo scambio in tempo reale e conservata dal server, il payload crittografato rimane illeggibile offline. Inoltre, ogni esecuzione genera una nuova coppia di chiavi effimere, il che significa che qualsiasi chiave catturata non può essere riutilizzata per decrittare payload futuri. Questa progettazione rende il payload crittografato di fatto inutile per l'analisi statica senza accesso a una sessione C2 attiva.
Oltre alla decrittazione, il malware stabilisce solidi meccanismi di persistenza per garantire la sopravvivenza a riavvii e controlli di sistema. Installa quattro metodi ridondanti: un LaunchAgent, un hook di shell aggiunto a ~/.zshrc e uno script di riparazione memorizzato in ~/Library/Application Support/System/.githooks/. La configurazione degli hook Git viene modificata in modo che qualsiasi azione git checkout o commit attivi silenziosamente lo script di riparazione, ripristinando il payload se viene rimosso. Inoltre, il malware sopprime le notifiche di macOS che altrimenti avviserebbero gli utenti di nuovi elementi di accesso in background.
La fase finale coinvolge un componente stealer scritto in Swift, segnando un allontanamento dall'implementazione in Rust vista nei predecessori. Questo componente cattura le password di sistema tramite un falso dialogo di crash che convalida l'input utilizzando un approccio basato su PAM. Enumera gli elementi del portachiavi, ruba le credenziali da un'ampia gamma di browser basati su Chromium e Firefox, tra cui Google Chrome, Microsoft Edge, Mozilla Firefox, Brave, Vivaldi, Opera, Arc, Zen, Waterfox, LibreWolf, Yandex Browser e Cốc Cốc. Rileva anche le impronte digitali del sistema, raccoglie metadati, raccoglie file incentrati sull'utente come .zsh_history e .gitconfig ed elenca i processi in esecuzione.
Thijs Xhaflaire, il ricercatore di sicurezza che ha analizzato questi artefatti, ha osservato che l'inclusione di browser meno comuni come Arc e Zen estende l'elenco degli obiettivi oltre i tipici stealer commerciali. Ha sottolineato che questa variante riflette un investimento deliberato nell'infrastruttura di distribuzione, spostando il controllo operativo all'operatore del server legando la decrittazione alla disponibilità del server. Per i proprietari di siti web e i team IT, questo evidenzia l'importanza di monitorare connessioni di rete insolite verso domini sconosciuti e di garantire che gli aggiornamenti software e le patch di sicurezza siano applicati tempestivamente per mitigare tali minacce avanzate.
AEU Hosting fornisce hosting WordPress gestito e sicuro end-to-end, aiutando i proprietari di siti a mantenere un ambiente sicuro contro varie minacce digitali, mantenendo l'infrastruttura aggiornata e protetta.
Come Proteggerti
- Scarica software solo da siti web ufficiali degli sviluppatori o da app store fidati, evitando link da risultati di ricerca o post sui social media.
- Controlla attentamente l'URL prima di scaricare; cerca errori di ortografia o nomi di dominio sconosciuti come 'wavel.app' invece di siti di marchi noti.
- Non aprire immagini disco (file .dmg) da fonti non verificate, poiché potrebbero contenere script nascosti che vengono eseguiti automaticamente all'apertura.
- Abilita Gatekeeper di macOS e altre funzionalità di sicurezza integrate per bloccare le applicazioni da sviluppatori non identificati.
- Aggiorna regolarmente il sistema operativo e i browser per correggere le vulnerabilità che il malware potrebbe sfruttare.
I Termini Spiegati
- Command-and-Control (C2) Un server utilizzato dagli attaccanti per gestire e comunicare da remoto con i computer infetti.
- X25519 Un metodo crittografico utilizzato per scambiare in modo sicuro chiavi di crittografia tra due parti su una connessione non sicura.
- Ephemeral Key Una chiave di crittografia generata per una singola sessione e scartata subito dopo l'uso, impedendone il riutilizzo da parte degli attaccanti.
- LaunchAgent Una funzionalità di macOS che consente ai programmi di essere eseguiti automaticamente all'accesso dell'utente, spesso abusata dal malware per la persistenza.
- JXA JavaScript for Automation, uno strumento in macOS che consente agli script di controllare le applicazioni, sfruttato dal malware per eseguire codice.
- Base64 Uno schema di codifica che converte dati binari in formato testo, spesso usato dal malware per nascondere il codice da semplici rilevamenti.