Story Highlights
- SUCEFUL vise les DAB et menace non plus les banques mais les clients
- Il peut :
- Lire les données de toutes les cartes de crédit/retrait
- Lire les données contenues dans la puce
- Contrôler le malware par l’intermédiaire du clavier du DAB
- Retenir ou Ejecter la carte sur commande : permet d’utiliser la carte de crédit physique
- Inhiber les capteurs du DAB afin d’éviter toute détection
Un Malware multitâche qui en veut à votre carte bancaire : des fonctions effrayantes …
Vous introduisez votre carte bancaire dans un distributeur de billets, et là, elle est avalée …
Plusieurs raisons possibles à cela :
1- Vous avez mis beaucoup trop de temps à entrer votre code
2- Une erreur de connexion avec le réseau de votre banque s’est produite
3 – Le distributeur est infecté par un malware et votre carte sera rejetée ultérieurement à la demande des auteurs de cette arnaque.
Un malware venu du froid
Les experts de FireEye ont découvert un malware qui répond au doux nom prometteur de Backdoor.ATM.Suceful qui infecte les Distributeurs Automatiques de Billets (DAB), et qui contrairement à ses prédécesseurs, est doté de « Features » inquiétants.
Si les malwares visant les DAB ne sont pas nouveaux, celui-ci est hors du commun car il vise les détenteurs de cartes.
Plautus, Padpin(2013), Tyupkin et ses variantes (2014), le code préféré des pirates, avaient écumé les DAB, en les infectant. Ces DAB crachaient leurs contenus de billets, générant pour l’industrie bancaire des pertes se chiffrant en millions de dollars.
Suceful , tout droit venu d’un upload sur VirusTotal issu de Russie, et apparu le 25 Août 2015, ne vise pas l’argent contenu dans les DAB, mais les détenteurs de cartes de crédit. Ses capacités relèvent du JAMAIS VU !
La Next Gen des malwares
- Lire les données de toutes les cartes de crédit/retrait
- Lire les données contenues dans la puce
- Contrôler le malware par l’intermédiaire du clavier du DAB
- Retenir ou Ejecter la carte sur commande : permet d’utiliser la carte de crédit physique
- Inhiber les capteurs du DAB afin d’éviter toute détection
Son seul point commun avec Plautus et Padpin, est son interaction avec la plateforme intergicielle (ou middleware) XFS, qui est le port standard adopté par les principaux fabricants de DAB.
XFS est l’interface entre une application (dans ce cas, le malware SUCEFUL) et les appareils périphériques. Tout comme le langage Java, dont le mantra est « Ecrit une fois, Exécuté partout », XFS manager permet de faire tourner le malware d’une façon transparente. Ses cibles ? Les fabricants de DAB Diebold et NCR.
Distributeur, ouvre-toi !
Chaque fabricant implémente XFS Manager et les contrôles de sécurité adéquats à sa façon, mais le modèle par défaut du gestionnaire de fichiers XFS fourni par l’architecture WOSA/XFS permet aux pirates de générer leur propre interface avec le DAB.
Les fonctionnalités des interfaces du Service Provider XFS SPI sont adaptées à chaque matériel.
En cliquant sur différents boutons de l’interface, les pirates peuvent vérifier que leur malware fonctionne correctement : SUCEFUL s’affiche alors.
Etape 1 : Etablir une connexion avec XFS manager
Avant toute interaction avec les appareils périphériques, il convient d’établir une connexion avec XFS Manager via WFSStartup API.
Etape 2 : Ouverture de sessions avec les appareils périphériques
L’étape suivante consiste à ouvrir des sessions avec les appareils périphériques, via les Service Providers par XFS Manager, en appelant WFSOpen ou WFSAsyncOpen API : le premier paramètre est le nom du périphérique logique.
- Une session est donc ouverte avec Diebold Card Reader, dont le nom logique est DBD_MotoCardRdr .
Rien d’alarmant pour SUCEFUL
Le Module des capteurs et des indicateurs (Sensors and Indicators Unit : SIU) a pour fonction de faire fonctionner des catégories de ports (les indicateurs) dont :
- les capteurs de portes : la cabine de retrait, le coffre, et les portes de protection
- les détecteurs d’alarme : falsification, manipulation frauduleuse, sismique, chaleur
- les détecteurs de proximité
Etape 3 : Initialisation d’une session avec le clavier NIP, dont le nom logique est PinPad1
En lisant les informations issues du clavier, les pirates peuvent alors interagir avec le malware.
Etape 4 : Interagir avec les périphériques
Une fois la session ouverte, les APIs WFSExecute ou WFSAsuncExecute peuvent être utilisées pour effectuer des opérations spécifiques comme :
- Lire les données électroniques stockées sur la carte bancaire, tant les informations contenues sur la piste magnétique que sur la puce, dès qu’une carte bancaire est introduite, via la commande « WFS_CMD_IDC_READ_RAW_DATA ».
Les pistes 1 et 2 contiennent les informations comme le nom du détenteur de la carte, le numéro de compte, la date d’expiration, le code PIN encrypté, etc …
- Retenir la carte via la commande WFS_CMD_IDC_RETAIN_CARD ,
- Rejeter la carte via la commande via la commande WFS_CMD_IDC_EJECT_CARD
Cela signifie que les pirates peuvent retenir la carte juste le temps qui leur est nécessaire pour voler les données, et garder la carte physique en leur possession, selon leur bon vouloir.
- Interagir avec le Malware par le biais du clavier : capturer les touches pressées par le biais de l’interaction initiée préalablement (Etape 3) avec le clavier, via la commande WFS_CMD_PIN_GET_DATA.
- Interprète la capture : dès que la saisie est lue, une boucle s’exécute afin d’identifier les touches frappées sur le clavier. Dans les lignes de codes présentées ci-dessus, les touches 0 et 1 sont en cours de vérification.En clair, il capture votre code confidentiel.
- Inhiber les capteurs et indicateurs d’alarmes
Les connexions (indicateurs) sortantes sont inhibées avant d’empêcher un quelconque déclenchement d’alarme, et les capteurs qui peuvent être contrôlés sont :
- Allumer/ Eteindre l’alarme sonore
- Allumer/ Eteindre la lumière qui éclaire les visages
- Allumer / Eteindre les indicateurs audio
- Allumer/Eteindre le chauffage interne de l’appareil
Ces contrôles sont effectués par la commande WFS_CMD_SIU_SET_PORTS.
La commande the WFS_CMD_SIU_SET_AUXILIARY règle les indicateurs de fonctions auxiliaires telles que le volume (WFS_SIU_VOLUME), la valeur de la vérification à distance de l’état (WF_SIU_REMOTE_STATUS_MONITOR), la valeur de l’alarme sonore (WFS_SIU_AUDIBLE_ALARM)…
Bien que cette technique ne soit pas novatrice, il est intéressant de comprendre la raison d’une telle injection dans un DAB. SUCEFUL détourne l’interface WFSAsyncExecute API, ce qui lui permet de contrôler et de surveiller toutes les commandes émises par les périphériques, via le remplacement des 6 premiers bytes du point d’entrée de l’API avec une commande push classique <malware_func>, afin de rediriger l’exécution tout en patchant la RVA dans le répertoire qui pointe vers le point d’entrée de WFSAsyncExecute
SUCEFUL est un malware sophistiqué et particulièrement dangereux, qui vise les DAB de marques différentes, et qui ne menace plus l’industrie bancaire mais les clients !
Pour voir l’infographie , cliquer sur l’icône