La dimostrazione pubblica del ricercatori Barnaby Jack alla Black Hat 2010 rese evidente quanto i bancomat (ATM) fossero esposti a manipolazioni dirette: una macchina trasformata in pochi secondi in un erogatore incontrollato di contante. Da episodio di ricerca, il fenomeno del cosiddetto jackpotting si è progressivamente consolidato fino a diventare un’attività criminale strutturata. Tanto che i vertici FBI parlano di un’accelerazione significativa: nel 2025 sono stati registrati oltre 700 attacchi ai distributori automatici di contante, con perdite superiori ai 20 milioni di dollari.
La diffusione globale degli ATM, molti dei quali basati su piattaforme legacy e software finanziari standardizzati, offre un terreno favorevole a operazioni che uniscono accesso fisico e compromissione logica.
Dal proof-of-concept alle operazioni criminali organizzate
Il salto qualitativo rispetto alle prime dimostrazioni risiede nella scalabilità delle tecniche. FBI spiega che criminali specializzati operano con kit di attacco replicabili e con procedure standardizzate per forzare l’apertura degli sportelli e installare codice malevolo.
L’uso di chiavi universali per pannelli frontali e di strumenti per accedere ai vani interni consente di raggiungere rapidamente componenti critici come il disco di sistema o le porte USB di servizio.
Una volta ottenuto l’accesso, viene introdotto software progettato per prendere il controllo del dispositivo e attivare l’erogazione di banconote senza autorizzazione bancaria. Il bancomat è “indotto” a fornire contante senza toglierlo dalla disponibilità di alcun conto corrente ma prelevandolo dalla disponibilità fisica della macchina.
Architettura degli ATM e superficie di attacco
Molti sportelli automatici in esercizio si basano su versioni di Windows Embedded, come Windows XP Embedded o Windows 7 Embedded, configurate per gestire applicazioni finanziarie proprietarie.
Nell’analisi dell’FBI, si fa presente che il dialogo tra software e componenti hardware avviene tramite lo standard XFS (eXtensions for Financial Services), un layer middleware che consente di comandare lettore di carte, tastiera per l’inserimento del PIN e modulo di erogazione contanti.
Il layer XFS rappresenta il vero punto critico. Il malware agisce con l’invocazione diretta delle API XFS, l’iniezione nei processi del vendor (middleware), con l’hooking delle librerie XFS e la sostituzione di componenti middleware. L’obiettivo è emettere comandi autoesplicativi come:
WFS_CMD_CDM_DISPENSEWFS_CMD_CDM_OPEN_SHUTTERWFS_CMD_CDM_CLOSE_SHUTTER
La presenza di questa interfaccia “unificata” facilita lo sviluppo di applicazioni legittime ma, se non adeguatamente protetta, offre anche un punto di ingresso per software malevolo capace di inviare comandi diretti ai moduli hardware.
Il funzionamento del malware Ploutus
Tra le famiglie di codice dannoso più utilizzate per depredare i bancomat, spicca Ploutus. Le varianti più diffuse, come Ploutus-D, si installano sul sistema operativo dell’ATM sfruttando porte di manutenzione o dispositivi rimovibili e acquisiscono privilegi elevati.
Una volta attivo, il malware interagisce con le librerie XFS per inviare sequenze di comandi al dispenser di contante, simulando richieste valide e bypassando i controlli di autorizzazione del sistema di core banking. Il risultato è un’erogazione rapida e continua di banconote che non viene contabilizzata sui conti dei clienti.
Il documento firmato FBI riporta diversi eseguibili ricorrenti nei sistemi bancomat compromessi:
| File | Funzione probabile |
|---|---|
| Newage.exe | Loader principale jackpotting |
| NCRApp.exe | Mascheramento come software vendor |
| WinMonitor.exe | Monitoraggio stato ATM |
| WinMonitorCheck.exe | Watchdog/trigger |
| sdelete.exe | Cancellazione tracce |
| Anydesk1.exe | Accesso remoto |
Persistenza e privilege escalation
Gli attaccanti utilizzano tecniche standard Windows adattate al contesto ATM. Ad esempio, si servono delle chiavi HKLM\Software\Microsoft\Windows\CurrentVersion\Run e HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit per assicurarsi l’esecuzione dei componenti malevoli al riavvio del bancomat. Creano inoltre servizi di sistema con l’account SYSTEM in modo da conservare i privilegi più elevati possibile.
I servizi Windows sono spesso camuffati con nomi generici o plausibili – ad esempio “ATM Service”, “Dispenser Service” o denominazioni simili che fanno riferimento a componenti del vendor – e puntano a eseguibili collocati in directory non standard o scrivibili dagli utenti, come C:\Users\Public oppure percorsi temporanei.
Il report FBI evidenzia inoltre come gli attori criminali adottino tecniche di evasione e anti-forensics, ad esempio cancellando i log di sicurezza (evento 1102) dal Registro eventi di Windows (eventvwr.msc) o sovrascrivendo file temporanei tramite utility come sdelete.exe. L’obiettivo è rendere più difficile la ricostruzione dell’attacco.
Tecniche di accesso e persistenza
Gli attaccanti combinano spesso intrusioni fisiche e logiche. Dopo aver aperto il cabinet, collegano tastiere o dispositivi seriali per inserire codici di attivazione, oppure sostituiscono il disco con una copia già compromessa.
In altri casi utilizzano interfacce di rete locali per distribuire il malware a più terminali della stessa rete bancaria. Per mantenere la persistenza, Ploutus può modificare servizi di sistema e chiavi di avvio automatico, garantendo il controllo anche dopo riavvii programmati.
Poiché il codice agisce a livello del terminale e non sui sistemi centrali, le anomalie non sempre sono rilevate in tempo reale. I sistemi antifrode delle banche monitorano principalmente le transazioni sui conti correnti, mentre nel jackpotting il flusso di contante è generato direttamente dal dispositivo.
Esecuzione del codice malevolo sugli ATM: meccanismi reali
Dal punto di vista strettamente tecnico, l’esecuzione del malware su un ATM avviene attraverso una combinazione di accesso al sistema Windows Embedded, introduzione di un payload e attivazione manuale o automatica del codice. Nella maggior parte degli scenari osservati, soprattutto negli USA, l’attaccante ottiene accesso al computer interno del bancomat, collega un dispositivo esterno – tipicamente una chiavetta USB che si presenta come tastiera – e carica il binario malevolo nel file system.
In molti attacchi, infatti, l’interazione con il malware può avvenire attraverso periferiche HID collegate via USB, come tastiere o dispositivi BadUSB in grado di simulare input automatici e lanciare comandi. Questi strumenti possono eseguire sequenze di tasti, attivare l’interfaccia del malware e avviare il processo di rilascio del contante.
Una volta presente sul disco, il malware può essere eseguito manualmente tramite interfaccia di manutenzione o shell di sistema, oppure configurato per l’avvio automatico tramite chiavi di registro o servizi Windows con privilegi elevati, come spiegato in precedenza.
La possibilità di collegare tastiere, mouse o storage esterni rappresenta uno dei vettori più immediati per l’esecuzione del codice malevolo. Il blocco selettivo delle periferiche HID, l’uso di whitelist hardware e il monitoraggio delle connessioni USB sono quindi contromisure fondamentali.
Cosa succede in Italia?
In Italia, dove l’accesso fisico diretto al frontale dell’ATM è molto più limitato grazie a installazioni “through-the-wall”, casseforti certificate e accesso dal lato filiale della banca (almeno nella maggior parte delle installazioni), l’esecuzione del malware segue dinamiche più complesse ma non impossibili (come conferma un recente comunicato dei Carabinieri relativo a manomissioni di bancomat).
Gli scenari più realistici includono accesso tramite personale di manutenzione infedele, utilizzo di credenziali tecniche, interventi su ATM stand-alone o compromissioni della supply chain software. In questi casi il payload può essere introdotto durante attività apparentemente legittime e poi eseguito tramite persistenza o attivazione remota, sfruttando l’interfaccia XFS per il controllo del dispenser.