TECNOLOGIA E SICUREZZA

ATM attack: analisi di un attacco ad uno sportello Bancomat

Prendendo spunto da un caso reale di Incident Case, proviamo a capire come funziona un ATM attack analizzando le fasi di attacco ad uno sportello Bancomat e le tecniche utilizzate dai criminal hacker

18 Set 2020
D
Vincenzo Digilio

ICT Security Manager & Co-founder of Cyber Division

Esiste ancora un divario abissale tra l’attuale livello di tecnologia e la sicurezza dei rispettivi sistemi tecnologici: uno degli esempi nella nostra quotidianità che marca questo divario fra tecnologia e sicurezza, è rappresentato dagli ATM (Automated Teller Machine) o sportelli Bancomat, molto più esposti ad attacchi informatici di quanto si possa pensare.

Sarà capitato a tutti di prelevare contanti da queste apparecchiature in diverse situazioni e sentirsi sicuri. Ebbene, molti di questi “sportelli automatici” non sono così protetti come potremmo credere ed utilizzano ancora sistemi operativi obsoleti come Windows XP.

Ma andiamo sul pratico e tentiamo di capire come un cyber criminale potrebbe portare a termine un attacco verso questi dispositivi. Come sempre, la parte più importante per la riuscita di un attacco è la sua preparazione e la raccolta di informazioni sul bersaglio.

ATM attack: la fase inziale di OSINT

Il primo passo consiste nell’individuare il bersaglio. Selezionare più bersagli permette di avere una tolleranza maggiore in caso di imprevisti. Utilizzando le Mappe di Google, è possibile localizzare le banche in una data zona e collezionare alcune informazioni, tra cui fasce orarie e numeri di telefono.

WHITEPAPER
Canale ICT: 5 misure di successo automatizzare il business
Sicurezza
Software

L’ATM utilizzato in questo esempio è il modello Wincor2000xe (ampiamente in uso non solo in Italia, ma anche in molti altri Stati).

Tenendo conto di quanto appreso da Google, una successiva ricognizione permetterà di identificare i luoghi in cui sono installati fisicamente i modelli Wincor2000xe, vulnerabili all’attacco.

Inoltre, con un semplice Google-Dork è possibile reperire il manuale tecnico completo, scrivendo nella barra del noto motore di ricerca la stringa: wincor 2000xe filetype:pdf.

ATM attack: la fase di test in laboratorio

La fase successiva di testing in laboratorio permette di preparare sia il software, che gli strumenti necessari.

L’inoculazione all’interno del sistema operativo dell’ATM (nel nostro esempio) prevede l’utilizzo del malware WinPot (maggiori dettagli nelle immagini seguenti).

Il funzionamento del programma è abbastanza intuitivo:

  • i riquadri da 1 a 4 rappresentano le varie “cassette” del bancomat;
  • le cifre sotto i riquadri rappresentano i contanti per ogni “cassetto”;
  • il pulsante SCAN determina quante banconote sono presenti nel dato alloggiamento;
  • il pulsante SPIN serve a svuotare la data “cassetta” dei contanti;
  • il pulsante STOP permette di stoppare l’espulsione, dopo aver svuotato un alloggiamento, e avviare un nuovo “SPIN”.

Il malware dovrà essere inoculato nell’ATM utilizzando una USB stick. Più piccola è, meglio sarà. La grandezza di riferimento è da 1 a 4 GB.

Nell’evenienza remota in cui fosse installato un sistema antivirus, l’attaccante preparerà uno script per riavviare l’ATM (Windows XP) in “safe mode”, che copierà sempre nell’USB drive (vedremo in seguito come disabilitare l’antivirus):

Echo Off

REM Check Windows Version

ver | findstr /i “5.0.” > nul

IF %ERRORLEVEL% EQU 0 goto ver_nt5x

ver | findstr /i “5.1.” > nul

IF %ERRORLEVEL% EQU 0 goto ver_nt5x

ver | findstr /i “5.2.” > nul

IF %ERRORLEVEL% EQU 0 goto ver_nt5x

ver | findstr /i “6.0.” > nul

IF %ERRORLEVEL% EQU 0 goto ver_nt6x

ver | findstr /i “6.1.” > nul

IF %ERRORLEVEL% EQU 0 goto ver_nt6x

goto warn_and_exit

:Run Windows 2000/XP comandi

bootcfg /raw /a /safeboot:network /id 1

REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnce /v “*UndoSB” /t REG_SZ /d “bootcfg /raw /fastdetect /id 1”

SHUTDOWN -r -f -t 07

goto end

:Run Windows Vista/7 comandi

bcdedit /set {current} safeboot network

REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnce /v “*UndoSB” /t REG_SZ /d “bcdedit /deletevalue {current} safeboot”

SHUTDOWN -r -f -t 07

goto end

Echo On

echo Versione OS non trovata.

:end

Una possibile variazione, per manomettere la sicurezza del sistema operativo dell’ATM, prevede di eseguire il boot del sistema direttamente dalla nostra USB.

L’attaccante avrà bisogno di un’immagine .iso del sistema operativo e gli basterà utilizzare un programma simile a “Rufus” per la creazione della sua USB.

Sarà inoltre necessario cambiare la sequenza di boot nel BIOS. Qualora risulti protetto da password, nel 30% dei casi sarà facilmente compromissibile con un semplice “guessing-attack”.

Qualora la password del BIOS fosse più complessa, data l’obsolescenza di tali macchine, sarà possibile generare un codice di errore inserendo più volte password sbagliate. A questo punto, con un cellulare, basterà inserire in un motore di ricerca le cifre decimali dell’errore per ottenere una lista di “BIOS Recovery Password”.

Una volta eseguito il boot dall’USB drive, sarà possibile avere completo accesso all’hard disk dell’ATM. Il passo successivo sarà aggiungere il programma nella “White-List” dei software attendibili, disabilitare i software di sicurezza (come abbiamo visto) e manomettere le chiavi di registro relative all’UAC (User Account Control) utilizzando un qualsiasi software di “registry editor” per modificare il valore DWORD a 0 del seguente registro:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem

Come avviene l’hacking dell’ATM

Ipotizziamo che, in accordo con la documentazione reperita durante la fase di OSINT, l’USB entry si trovi sulla parte superiore dell’ATM. In questo caso l’attaccante dovrà staccare il “piatto” di plastica per scoprire le porte USB ed il pulsante di reset (seguono due esempi).

Nel modello 1500xe, ad esempio, (sempre in accordo con la documentazione) l’ingresso per l’USB si trova in alto a destra del display (figura seguente) e per raggiungerlo gli attaccanti utilizzano solitamente un “cordone” lungo tra i 20 e i 25 centimetri che presenta due elettrodi, la cui estremità termina con un USB. La parte finale del “cordone” non sarà rigida in modo da far perno sullo slot USB per inserirlo.

Prima di connettere il device USB contenente il malware, bisognerà collegare un USB splitter all’ATM ed utilizzarlo per “mirrorare” le porte in modo da poter connettere una semplice tastiera USB.

Il primo passo dell’attaccante sarà quello di resettare l’ATM (schiacciando l’apposito pulsante, vedere figura precedente) ed attendere. Windows rileverà automaticamente i nuovi driver della tastiera e installerà in maniera automatica la nostra periferica di input.

Adesso è il turno dell’USB con il malware.

Lo scopo è eseguirlo, premendo la combinazione di tasti Ctrl+Esc (oppure Win+R) e digitando poi explorer.exe nella barra di testo che appare. Si aprirà la finestra di navigazione del file system, quindi l’attaccante potrà selezionare l’USB device e lanciare il malware con un semplice doppio clic.

Se l’operazione non avrà successo, il nostro attaccante chiuderà tutti i programmi utilizzando la combinazione di tasti Ctrl+Alt+Del che gli permetterà di accedere al Task Manager. Successivamente, tenterà ancora una volta l’avvio del malware.

Nell’ipotesi in cui fosse presente un antivirus, verrà utilizzato lo script visto prima (durante la fase due, di preparazione), per riavviare il sistema operativo in modalità “safe”. Ancora, con la combinazione di tasti Win+r verrà avviato il “Run” e, digitando il comando msconfig, l’attaccante avrà modo di vedere tutti i servizi in running sulla macchina.

A questo punto, i servizi relativi all’antivirus verranno disabilitati (rimuovendo la spunta). Un ulteriore step prevede di entrare nella folder di installazione dell’antivirus e rinominare l’eseguibile. Fatto ciò, sarà sufficiente riavviare il sistema operativo dell’ATM e lanciare il malware con le modalità viste prima.

Esistono anche tecniche di Social Engineering basate su “Skimmer”, cioè dei card reader fasulli che vengono sovrapposti a quelli originali degli ATM, in modo da registrare tutti i dati della carta di credito mediante lettura della banda magnetica.

Conclusioni

Come è possibile quindi, colmare questo gap fra tecnologia e sicurezza?

Bisognerebbe iniziare introducendo il tema nelle scuole, per sensibilizzare le nuove generazioni alla tematica della cyber security.

Le aziende, inoltre, dovrebbero investire particolarmente sulla formazione dei dipendenti e stanziare un piano economico per aggiornare tutti software e i dispositivi ormai obsoleti (vedi ATM con sistemi operativi vecchi di 20 anni) e via dicendo.

Inoltre, la sicurezza è un processo che comincia già nel momento in cui si sviluppa un qualsiasi software. È per questo che anche i programmatori devono essere adeguatamente formati su queste tematiche.

Pertanto, sino a quando la cyber security verrà vista come un prodotto, e non come un processo da interiorizzare ad ogni grado della società, sarà sempre una battaglia “anacronistica” dove due civiltà si affronteranno ad armi impari.

WEBINAR
26 Maggio 2022 - 12:00
Sicurezza IT e identità digitali: come essere pronti ai nuovi trend in azienda
Dematerializzazione
Marketing
@RIPRODUZIONE RISERVATA

Articolo 1 di 2