Furto di Credenziali dal Keychain macOS: Keychain (T1555.001)

Il Keychain è il sistema di gestione delle credenziali nativo di macOS: conserva password di account, chiavi private, certificati, dati di pagamento e note sicure in database cifrati. Esistono tre tipologie — Login Keychain (credenziali utente), System Keychain (risorse condivise a livello host) e Local Items Keychain (sincronizzato con iCloud) — ognuna con ambito e permessi diversi.

La tecnica T1555.001 rientra nella tattica Credential Access (TA0006), la fase della kill chain in cui l'avversario mira a sottrarre nomi utente e password per muoversi lateralmente o elevare i privilegi. L'impatto è significativo: un singolo dump del Login Keychain può esporre in un colpo solo credenziali Wi-Fi, token di sessione, certificati client e password applicative, trasformando un accesso iniziale in una compromissione a catena di servizi interni ed esterni.

I numeri confermano l'interesse offensivo: 10 software documentati sfruttano questa tecnica — dal post-exploitation framework alla famiglia malware specializzata in infostealing — insieme a 1 gruppo APT noto. La superficie d'attacco è ampia perché la password di default del Login Keychain coincide con quella di login dell'utente: chiunque ottenga la password di sessione possiede già la chiave per decifrare l'intero vault.


Il Keychain di macOS è un bersaglio ideale durante un engagement red team su endpoint Apple: contiene credenziali di rete, certificati e token applicativi in un singolo database cifrato. La buona notizia per chi simula l'attacco è che macOS mette a disposizione un'utility nativa — security — che non richiede alcun payload aggiuntivo.

Approccio nativo con l'utility security

Il comando più diretto è il dump interattivo del Login Keychain. In un terminale con sessione utente attiva:

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

Il flag -d forza la decifratura di ogni elemento, ma macOS presenterà un prompt grafico per ciascuna voce chiedendo la password utente o l'autorizzazione. In un contesto red team dove si è già ottenuta la password dell'utente (ad esempio tramite keylogging o phishing), il prompt non rappresenta un ostacolo reale, ma genera rumore visivo sull'endpoint.

Per cercare una credenziale specifica senza scatenare decine di prompt, è più chirurgico usare:

security find-internet-password -s -w ~/Library/Keychains/login.keychain-db

Questo restituisce solo la password in chiaro per il servizio indicato, utile per estrarre credenziali mirate (ad esempio un portale VPN aziendale).

Post-exploitation con framework

Empire (open source) offre un modulo dedicato che esegue /usr/bin/security dump-keychain -d sull'agente macOS. Il vantaggio è l'automazione: il risultato viene incapsulato nella comunicazione C2 senza interazione manuale.

LaZagne (open source) è un estrattore multi-piattaforma di credenziali. Su macOS, il modulo Keychain tenta di leggere le voci salvate. Si lancia con:

python3 laZagne.py browsers -oJ

Il flag -oJ produce output JSON, comodo per l'analisi post-engagement.

Simulazione dell'approccio API-based

Diversi malware documentati — tra cui LightSpy e Green Lambert — non invocano l'utility security ma chiamano direttamente le Keychain Services API (SecItemCopyMatching, SecKeychainFindInternetPassword). Per simulare questo vettore in laboratorio, è possibile compilare un piccolo programma Swift o Objective-C che invochi le stesse API. Questo approccio bypassa i log legati all'esecuzione di /usr/bin/security e testa la capacità del SOC di rilevare accessi API diretti al Keychain.

Percorsi da verificare durante l'esercizio:

  • ~/Library/Keychains/ — Login Keychain dell'utente corrente
  • /Library/Keychains/ — System Keychain
  • /Network/Library/Keychains/ — Keychain di rete (raro, ma presente in ambienti enterprise)

Ricorda di documentare ogni comando nel report, indicando se il prompt di autorizzazione è stato bypassato grazie a credenziali note o se l'attacco è stato bloccato dalla protezione TCC (Transparency, Consent and Control) di macOS.


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

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.