Furto Credenziali da securityd: Securityd Memory (T1555.002)

La tecnica identificata come T1555.002 descrive l'estrazione di credenziali dalla memoria del processo securityd, il demone di sistema macOS che gestisce cifratura, autorizzazione e l'accesso al portachiavi (keychain) dell'utente. Si colloca nella tattica Credential Access (TA0006), la fase della kill chain in cui l'attaccante non cerca più di entrare ma di raccogliere account e password per muoversi lateralmente o consolidare la persistenza.

Un avversario con privilegi root può leggere lo spazio di memoria di securityd alla ricerca della sequenza corretta di chiavi necessaria a decifrare il portachiavi di logon dell'utente. Il meccanismo sfrutta il fatto che Apple, per non chiedere ripetutamente la password, deriva la master key dalla password di logon tramite PBKDF2 e la mantiene residente in memoria. Una volta individuata quella chiave, iterare sugli altri valori per sbloccare le password finali è banale.

L'impatto è ampio: dal keychain sbloccato emergono in chiaro password di utenti, reti WiFi, account di posta, browser, certificati e note sicure. La vulnerabilità era particolarmente grave nelle versioni di OS X precedenti a El Capitan (10.11), dove il caching consentiva la lettura diretta. I dati MITRE associano a questa tecnica 1 software (Keydnap, S0276) e nessun gruppo o campagna formalmente documentati, segnale di un vettore di nicchia ma tecnicamente insidioso.

Sul piano offensivo, questa tecnica è puramente post-exploitation: presuppone di aver già ottenuto privilegi root su un host macOS. Il presupposto operativo è quindi la disponibilità di una escalation preliminare, dopo la quale l'obiettivo diventa la memoria del demone securityd.

Il riferimento storico è il progetto keychaindump (open source, disponibile su GitHub nella repo di juuso), lo stesso utilizzato dal malware Keydnap (S0276) citato nei dati MITRE. Il tool individua il PID di securityd, ne mappa le regioni di memoria e cerca le chiavi master derivate via PBKDF2 per poi decifrare i file .keychain dell'utente. La logica: recuperata la master key, si itera sugli altri valori per sbloccare le password in chiaro.

Una catena tipica in laboratorio prevede prima l'identificazione del processo:

ps -ax | grep securityd

e poi l'esecuzione del binario compilato di keychaindump con privilegi elevati, passando come argomento il PID individuato. L'accesso alla memoria di un altro processo su macOS richiede il diritto task_for_pid, protetto da SIP (System Integrity Protection) e dalle policy TCC nelle versioni moderne: per questo il vettore funziona in modo lineare solo su sistemi datati (pre-El Capitan) o con SIP disabilitato in ambiente di test.

Per esercizi red team lab-safe, alternative documentate e supportate sono più affidabili del vecchio keychaindump. La utility nativa security consente di interrogare il keychain con credenziali note:

security dump-keychain -d ~/Library/Keychains/login.keychain-db

che richiede l'inserimento interattivo della password e simula l'obiettivo finale (estrazione password in chiaro) senza toccare la memoria del demone. Per la parte di ricognizione post-exploit, framework come Empire (open source) e Mythic (open source) includono moduli macOS per l'interazione con il keychain, utili a modellare la catena in un range controllato.

Raccomandazioni di laboratorio: operare su una VM macOS dedicata con snapshot, disabilitare SIP solo nell'ambiente isolato (csrutil disable dalla Recovery), e documentare che su Big Sur, Monterey e successivi il caching sfruttabile non è più presente. Il valore dell'esercizio non è tanto compromettere sistemi aggiornati, quanto dimostrare l'importanza del contesto privilegi/versione OS nella superficie d'attacco alle credenziali cached.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.