Dentro ICMacOS: Da un Infostealer a un RAT Persistente
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
ICMacOS, conosciuto anche come Icarus macOS, è un Malware-as-a-Service (MaaS) per macOS recentemente identificato che si è evoluto da un ladro di credenziali a un Trojan di Accesso Remoto (RAT) persistente. Mirato a informazioni di alto valore tra cui credenziali del browser, portafogli di criptovalute e segreti degli sviluppatori come chiavi SSH e configurazioni cloud. Il malware utilizza l’ingegneria sociale basata su ClickFix per la consegna e WebSockets per il comando e controllo in tempo reale.
Indagine
L’Unità di Ricerca sulle Minacce di SOCRadar (STRU) ha identificato ICMacOS attraverso l’analisi della telemetria e il monitoraggio di forum sotterranei. I ricercatori hanno tracciato la catena di infezioni da script dropper Bash iniziali al dispiegamento di binari Mach-O e payload ausiliari basati su Python. L’indagine ha documentato la progressione dalla Versione 1, focalizzata sul furto di dati, alla Versione 2 con funzionalità RAT, mappando l’infrastruttura C2 tramite analisi WebSocket.
Mitigazione
Le organizzazioni dovrebbero applicare controlli rigorosi sull’esecuzione di comandi terminali e monitorare eventuali modifiche sospette ai LaunchAgent. Si raccomanda di rinforzare i sistemi macOS con crittografia del disco e politiche MDM che limitano LaunchAgents non autorizzati. I team di sicurezza dovrebbero anche monitorare connessioni WebSocket in uscita insolite e accessi non autorizzati ai servizi Keychain come potenziali indicatori di compromissione.
Risposta
Quando viene rilevata attività di ICMacOS, isolare l’host macOS interessato dalla rete per fermare l’esfiltrazione di dati e ulteriori comunicazioni C2. Eseguire una revisione forense completa della directory /tmp, dei LaunchAgent e dell’attività utente di Keychain. Ruotare credenziali potenzialmente compromesse, comprese chiavi SSH, token di provider cloud come credenziali AWS e Kubernetes, e password archiviate nel browser.
Flusso di Attacco
Stiamo ancora aggiornando questa parte.
Rilevamenti
Tentativi di Comunicazioni di Ricerca IP Potenziale per Dominio (via dns)
Bootstrap di Launchctl da Percorso Non Standard (via process_creation)
Modifica delle Autorizzazioni dei File nella Cartella Temporanea Sospetta MacOS (via cmdline)
Possibile Tentativo di Sblocco Manuale del Portachiavi (via cmdline)
Possibile Tentativo di Scoperta Password del Browser MacOS (via cmdline)
Tentativo di Esecuzione Sospetta di Curl [MacOS] (via cmdline)
Archivio Creato Nella Cartella Temporanea di MacOS (via file_event)
IOC (HashSha256) da rilevare: All’interno di ICMacOS: Da Infostealer a RAT Persistente
Rilevamento dell’Accesso a Configurazione Remota Maligna e Recupero del Payload [Webserver]
Rileva Uso di AppleScript e Recupero Password da Portachiavi in Infezioni ICMacOS su macOS [Creazione Processi su Windows]
Rilevamento di Attività Nascosta e Aggregazione Dati Non Autorizzata da ICMacOS [Evento File su Linux]
Rilevamento di ICMacOS Stealer tramite Offuscamento Terminale e Enumerazione Processi [Creazione Processi su Linux]
Esecuzione della Simulazione
-
Narrativa dell’Attacco & Comandi: Un avversario ha ottenuto l’accesso iniziale a una workstation macOS e sta distribuendo il ladro ICMacOS. Per evitare il rilevamento da parte dell’utente e ridurre al minimo la finestra per l’osservazione manuale, il malware esegue uno script tramite
zsh. Lo script utilizza primabasename $0per determinare il suo nome file per un’ulteriore offuscazione della sua presenza nel filesystem. Subito dopo aver avviato il suo payload dannoso (simulato da un’enumerazione diprocessi ICMACOS), lo script tenta di chiudere la finestra del terminale dell'utente usandoprocesses), the script attempts to crash the user’s terminal window usingkillall Terminalper forzare l’uscita dell’utente dalla sessione attiva e nascondere la cronologia dei comandi. -
Script di Test di Regressione:
#!/bin/zsh # Script di simulazione per la convalida del rilevamento di ICMacOS Stealer echo "[+] Inizio Simulazione ICMacOS Stealer..." # 1. Attiva selection_basename_killall tramite 'basename $0' echo "[+] Esecuzione del modello di offuscamento: basename $0" /bin/zsh -c "echo $(basename $0)" # 2. Attiva selection_basename_killall tramite 'killall Terminal' echo "[+] Esecuzione del modello di occultamento: killall Terminal" # Nota: Usiamo una subshell per garantire che lo script di simulazione stesso non muoia istantaneamente # se eseguito in un terminale reale, ma per lo scopo della regola, vogliamo che il comando si attivi. /bin/zsh -c "killall Terminal" 2>/dev/null || echo "[!] killall fallito (Terminal non in esecuzione o permesso negato)" # 3. Attiva selection_pgrep tramite 'pgrep ICMACOS' echo "[+] Esecuzione del modello di enumerazione: pgrep ICMACOS" /bin/zsh -c "pgrep ICMACOS" echo "[+] Comandi di simulazione inviati." -
Comandi di Pulizia:
# Nessun file persistente è stato creato dallo script di simulazione. # Se qualche file temporaneo è stato utilizzato, dovrebbe essere rimosso qui. rm -f /tmp/icmacos_sim_test