Prompt Fasulli per Credenziali: GUI Input Capture (T1056.002)

La tecnica T1056.002 – GUI Input Capture descrive l'abuso di finestre di dialogo che imitano componenti legittimi del sistema operativo per indurre l'utente a digitare le proprie credenziali. L'attaccante sfrutta la familiarità visiva dei prompt di autenticazione — la richiesta UAC di Windows, il dialog Authorization Required di macOS, il pop-up di credenziali di Outlook — per trasformare un'azione automatica dell'utente in un canale di furto silenzioso.

Sul piano tattico la tecnica opera su due fronti di MITRE ATT&CK: TA0006 (Credential Access), perché il risultato immediato è l'acquisizione di username e password validi, e TA0009 (Collection), poiché le credenziali intercettate vengono aggregate come dato di interesse prima dell'esfiltrazione. Si colloca nella fase post-exploitation della kill chain, tipicamente dopo un accesso iniziale che ha già consegnato un minimo di esecuzione codice sul sistema.

I dati MITRE censiscono 2 gruppi APT, 11 famiglie malware o tool e 1 mitigazione direttamente associate. La distribuzione dei software è particolarmente rilevante su macOS, dove almeno sei famiglie (Calisto, Keydnap, iKitten, Proton, Dok, Bundlore, XCSSET, Cuckoo Stealer) hanno fatto del fake prompt un pilastro operativo, sfruttando la percezione di sicurezza dell'ecosistema Apple e l'abitudine degli utenti ad autorizzare richieste apparentemente di sistema.

Per un red team, GUI Input Capture è un tassello classico di una catena post-compromise che parte da un dropper e culmina con credenziali chiare in mano. La chiave è realismo visivo e coerenza contestuale: il prompt deve apparire quando l'utente si aspetterebbe una richiesta di autenticazione.

Su Windows l'approccio più pulito è PowerShell con la classe System.Management.Automation.Host.PSCredential, invocata tramite Get-Credential. Un one-liner realistico per un lab controllato è:

$cred = $host.ui.PromptForCredential("Windows Security","Please enter your credentials to continue.","$env:USERDOMAIN$env:USERNAME","")

L'oggetto restituito espone la password in chiaro tramite $cred.GetNetworkCredential().Password. Il framework SILENTTRINITY (open source) include il modulo credphisher.py che automatizza la stessa logica dal C2, ed è il riferimento operativo mappato in MITRE come S0692. In alternativa, Nishang (open source) offre Invoke-CredentialsPhish.ps1 con template già pronti che replicano il layout nativo.

Su macOS la strada storica è AppleScript, sfruttata da praticamente tutte le famiglie censite. La sintassi minima è:

osascript -e 'display dialog "macOS needs to access System Settings" default answer "" with hidden answer with icon caution'

Questo è esattamente il pattern osservato in Cuckoo Stealer (S1153) e XCSSET (S0658). Per un ingaggio più raffinato si può ricorrere a Objective-C con NSAlert e NSSecureTextField, oppure al framework Mythic (open source) con l'agent Apfell, che integra prompt cosmeticamente identici a quelli di sistema.

Su Linux desktop il vettore è zenity o kdialog, entrambi preinstallati in molte distribuzioni:

zenity --password --title="Authentication Required" --text="Enter password for sudo"

L'output viene catturato via pipe. Il timing è essenziale: correlare l'invocazione con eventi come l'apertura di un browser o di un client mail (tecniche di supporto Application Window Discovery e Browser Information Discovery) aumenta drasticamente il success rate.

A livello di catena, l'attaccante realistico integra il capture in un loader firmato (o pseudo-firmato con certificati self-signed), aggancia il trigger a un evento naturale — l'installazione di un aggiornamento fittizio, l'apertura di Outlook come fatto da RedCurl — e invia il bottino su canale C2 cifrato. In laboratorio, testate contro utenti con formazione differenziata per misurare la baseline di click-through.

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.