Analyse de l'ATM Tranax 1700 Auteur : Anonyme Zine : Rafale #13 En 2008, Attrition.org publiait une série de manuels opérateurs d'ATM (Automated Teller Machine) appelé en France GAB (Guichet Automatique Bancaire), qui sont actuellement toujours disponibles à cette url : http://attrition.org/misc/ee/atm_manuals/ Parmi ceux-ci on pouvait trouver le manuel du "Mini-Bank 1500" de la société Tranax. Rafale, dans ce numéro, va analyser avec vous et en exclusivité la génération suivante : le Tranax 1700. Nous n'allons pas ici vous fournir un manuel opérateur brut comme l'a fait attrition, mais plutôt quelques informations qui nous ont semblé être intéressantes. Le but de ce texte ne va donc pas être de donner les vulnérabilités directes de cet ATM, mais bien de montrer les endroits qui POURRAIENT être faillibles, ainsi que d'aider à son utilisation. Le manuel sur lequel est basé cet article date de 2008. Pour commencer, voici une photo : ainsi qu'un petit schéma du Tranax 1700 : Et la légende qui l'accompagne : 1 - Ecran LCD & clavier client 2 - Fente du lecteur de carte 3 - Fente de l'imprimante 4 - Plateau cash 5 - Face 6 - Serrure de la face 7 - Cache de sécurité 8 - Serrure du cache de sécurité 9 - Porte de sécurité 10 - Serrure à combinaison 11 - Poignée de la porte de sécurité 12 - Unité de distribution de cash 13 - Imprimante 14 - Tableau de contrôle principal 15 - Ear Phone Jack 16 - Alimentation 17 - Speaker 18 - Tableau ADA 19 - Lecteur de carte Et tant qu'on y est voici une photo de la face commentée : Le clavier EPP (Encrypted Pin Pad) est composé des touches suivantes : - Un clavier alphanumérique de 10 touches - Une flèche à droit (+) - Une flèche à gauche (-) - CANCEL - CLEAR - ENTER - Une touche vide (BLANK) Les "touches fonctions" seront numérotées dans ce texte comme dans le manuel officiel : Lors de l'allumage de l'ATM, si on garde la touche <6> enfoncée, on videra la NVRAM. Si c'est la touche <4> qui est enfoncée, on pourra télécharger via un portable et avec un câble spécial fourni par Tranax des données sur l'ATM, comme de nouvelles interfaces graphiques. Je suppose que la plupart d'entre vous savent se servir d'un GAB pour retirer de l'argent de votre compte, nous allons donc voir autre chose... c'est-à-dire comment fonctionne le menu admin. Pour y accèder, il vous taper la suite de touches suivantes : ENTER CLEAR CANCEL 1 2 3 Une fois cela fait, un mot de passe vous sera demandé : Si la suite de touches n'a pas fait apparaître le menu admin, il existe une autre solution moins confortable : éteignez le GAB, puis ouvrez la porte de sécurité ou enlevez le papier de l'imprimante et rallumez le GAB. Cela devrait automatiquement ouvrir le menu. Attention cependant que la suite des 6 touches ne peut être entrée que au moment où l'écran demande d'entrer la carte de banque ou quand une erreur est affichée. Il y a 3 types de mot de passe différents : - Le mot de passe opérateur, qui va permettre d'accèder à la structure la plus basique du menu. - Le mot de passe "Service", qui va vous permettre d'accèder au même menu que le passe opérateur, ainsi qu'aux menus de diagnostiques. - Le mot de passe "Master", qui permet d'accèder à tous les menus. A noter que ce mot de passe est obligtoirement changé à l'installation, sinon il affichera une erreur (F0016). Et qui dit trois mots de passe dit trois fois plus de chances de découvrir l'un d'eux. Chaque mot de passe doit faire 6 chiffres, ni plus ni moins... et chaque mot de passe doit être différent des autres. Une fois un des mots de passe entré, le menu avec ses différentes options est affiché. Avant de vous donner toute la structure du menu devant vos yeux ébahis, voyons comment se servir des touches du clavier correctement si vous avez à entrer des données ! Le tout est basé sur le tableau ci-dessous : La touche [BLANK] permet de changer le mode d'alphabétique à numérique ou aux symboles. Le champ sélectionné sera "éclairé" sur l'écran. En mode alphabétique, le clavier fonctionne comme un clavier de GSM; il faut appuyer par exemple deux fois sur la touche "1" pour afficher un "Q". En mode numérique, la touche 1 correspond bien à la touche 1, la touche 2 à la touche 2, etc... Une fois que le caractère désiré est sélectionné, il faut appuyer sur <ENTER> pour le valider. Les deux flèches permettent de promener le curseur dans le champ en cours d'utilisation. La touche <F2> permet deu vider l'écran de tout caractère inséré et de revenir à la position initiale. La touche <F8> permet d'ignorer les changements et de quitter, et enfin la touche <F7> permet de souver les changements et également de quitter. Pour ce qui est de caractères alphanumériques, ils sont notés directement sur le clavier, inutile donc d'avoir un pense-bête avec soit pour ceux-ci :) Une fois cela assimilé, et l'accès au menu obtenu, voici la structure totale de l'OS du GAB, en mode Master (donc toutes options confondues) : - Settlement - Day Total - Cassette Total - Trial Day Total - Trial Cassette Total - Add Cassette #1 - Journal - Print Journal - PRINT - CONDENSED PRINT - Last X Print - Clear Tran. Sequence No - View Journal - Clear Journal - Report - Error Code - S/W Version - Print All Setup - Error Sum - Statistics - Diagnostics - Initialize - Receipt Printer - Cash Dispender - Modem - Card Scan - Key Matrix - Sensor - Aging - Customer Setup - Change Message - Welcome Message - Receipt Header - Bin List - Bin List 1 - Enter Index - Edit Bin List - Bin List 2 - Enter Index - Edit Bin List - Optional Function - Pre Dialing - Select Receipt - Surcharge Mode - En/Disable - Amount - Percent - Use - Surcharge Owner - Advertisement - Change Processor - System Setup - Set Clock - Speaker Volume - ISO #1, #2, #3 En/Disable - ISO #1 - ISO #2 - ISO #3 - Language En/Disable - English - Spanish - French - Change Password - Operator Password - Master Password - Service Password - Modem Setup - Dial Mode - Speaker Out - Modem Speed - Initial String - Device Setup - Serial Number - Host Setup - Key Management - Key Mode - Master Key Index - Check Master Key - Edit Master Key - Change Password - Telephone Number - Terminal Number - Health Check Message - Connect Timer 60 second - Remote Monitor - RMS En/Disable - RMS Status Send En/Disable - Password - Remote Phone #1 - RMS Ring Count = 3 - Modem Speed - Routing ID - Trial Day Total - Transaction Setup - Dispense Limit - Denomination - First CST Denomination - Fast Cash - LB0 $10 - LB1 $20 - LB2 $30 - RB0 $40 - RB1 $50 - RB2 $60 - Currency Low Check Nombreuses de ces fonctions n'ont pas besoin d'être détaillées, vous pouvez par exemple : - Changer le message de bienvenue (Customer Setup > Change Message > Welcome Message) - Changer la dépense limite autorisée (Transaction Setup > Dispense Limit) - Imprimer des données via le "Journal", comme les erreurs, les transactions,... - Afficher différents rapports (via Report) ou diagnostiques (via Diagnostics) sur la machine - Afficher le nombre de billets restants dans la machine, ceux dépensés, ceux rejetés,... (via Settlement > Cassette Total) Et bien d'autres choses encore ! :) Mais certaines fonctions méritent tout de même quelques commentaires ;) Commençont par le sous-menu "Bin List" dans le menu "Customer Setup". Comme souvent dans les ATMs, à chaque transaction est retiré au client un petit pourcentage ou une somme fixe. Ceci est appelé ici la "surcharge". La Bin List est en fait une liste de numéros de cartes qui ne devront pas subir la surchage programmée. Celle-ci est configurable dans Customer Setup > Surcharge Mode. Attention, "Surcharge Owner" est juste ce qui sera affiché en bas du reçu lors d'une transaction :) Ce n'est pas le compte où les surcharges seront versées ! Dans le System Setup, on peut voir une fonction "Change Password", permettant de changer les 3 mots de passe disponibles. Le mot de passe "Operator" peut être changé avec les 3 accès. Le mot de passe "Service" peut être changé avec l'accès Service et l'accès "Master", et le mot de passe "Master" ne peut être changé que par l'accès "Master". Comme dit plus haut, les 3 mots de passe doivent être différents, et obligatoirement de 6 caractères. Pour changer un mot de passe, il faut obligatoirement connaître un mot de passe de son niveau au supérieur. Voyons à présent le "Modem Setup"... oui, le Tranax 1700 est équipé d'un modem, et même d'un 56k (wow !) ;) Evidemment, ce n'est pas pour surfer sur le net, mais qui dit modem dit ligne téléphonique (l'ATM doit être relié à celle-ci via un classique RJ-11)... on pourrait s'amuser à voir ce qui est possible au niveau phreaking physique, mais on va plutôt se concentrer sur le Tranax lui-même. Donc, ce modem va surtout servir à discuter avec le processeur externe ou à faire du "Remote Monitoring", que nous allons voir après. Voici sa configuration par défaut : DIAL MODE : DTFM (mais peut être PULSE) Vitesse du modem (en bauds) : 2400 Speaker : OFF Initial String : AT&F&Q6+MS=V22B Le speaker sert juste à vérifier que le modem fonctionne bien, et l' "Initial String" est la ligne que le modem utilise pour lancer la communication. Explorons maintenant un peu le menu "Host Setup". Et commençons par la partie "Key Management". Comme on l'a vu, le clavier est appelé un "clavier EPP", pour "Encrypted Pin Pad". Cela signifie en fait que les communications sont cryptées entre le clavier et le CPU. Le cryptage généralement utilisé dans le Tranax 1700 est le TDES (Triple - Data Encryption Standard), mais il y a possibilité d'utilisé également le DES, avec simple ou double clef, le "MAC", ... Les master keys seront alors enregistrées directement dans le clavier lui-même. Pour plus de sécurité, normalement personne ne doit connaître la clef entière, et elle est donc encodée en deux parties. Pour entrer dans le "Key Management", il va vous falloir entrer deux mots de passe qui sont par défaut tous les deux 000000. Encore une fois, quels qu'ils soient, il seront toujours d'une longueur de 6 chiffres. Si vous faites une erreur dans l'encodage d'un des mots de passe, vous devrez attendre 30 secondes avant de pouvoir en réintroduire un. La partie "Key Mode" permet de choisir quel type de cryptage est utilisé (TDES, DES, MAC, ...). La partie "Master Key Index" permet de spécifier l'index utilisé. La partie "Check Master Key" permet de voir quelle partie de la clef a déjà été entrée, et quel index est utilisé par le processeur. 16 clefs différentes peuvent être utilisées, il y a donc 16 indexs. Si une index est utilisé avec une clef complète, on y verra le checksum associé. La partie "Edit Master Key" porte bien son nom, et comme dit plus haut, elle permet d'entrer la clef en deux parties, et donc à deux moments différents par deux personnes différentes, de façon à ce que celle-ci reste secrète. Attention néanmoins que si vous changez une masterkey (qui sait), il y a un risque que toutes les master keys précédentes soient supprimées. Pour le plaisir des yeux (hum) voici un exemple de master key TDES donné par Tranax : Pour en savoir plus, je vous invite à vous renseigner sur internet sur le fonctionnement de ce cryptage. La partie Telephone Number permet d'entrer le numéro de téléphone à appeler (si par exemple l'ATM est hors de service). Si la ligne passe par un PBX et qu'il faut entrer un numéro avant d'appeler l'extérieur, il est conseillé d'utiliser les virgules pour marquer des pauses. Par exemple si pour appeler le numéro [NUMERODETELEPHONE] il faut d'abord entrer un 0, alors le numéro à entrer sera : 0,,[NUMERODETELEPHONE] Plus loins dans le menu, on peut voir la partie "Remote Monitor". Aaaah ça c'est le genre de technologie qui donne envie :) Le principe, comme le dit son nom, est de permettre à l'ATM d'être géré à distance ! Hélàs nous n'avons pas ici beaucoup d'informations sur le protocol utilisé, le port, ... Si quelqu'un a plus d'infos ou est déjà tombé sur unATM en scannant, qu'il n'hésite pas à nous envoyer le moindre élément ! Qui sait, peut-être est-ce là un futur article de Rafale :) Le software utilisé pour ce faire, insallé sur un simple PC (128M RAM, 2GB HDD, un modem), se nomme TranRMS pour Tranax Remote Monitoring System. Il permet de récupérer des rapports, des statistiques, de programmer un ou plusieurs ATMs à effectuer une tâche à une certaine heure, mais aussi de redémarrer l'ATM et bien d'autres choses encore. Voyons les options disponibles directement sur l'ATM; - RMS En/Disable; Permet simplement de dire à l'ATM si il doit ou non répondre aux transmissions TranRMS. - RMS Status Send En/Disable; Si cette option est enabled, à chaque erreur ou problème, un message sera envoyé à un numéro de téléphone qui correspond à un ordinateur branché à un modem et faisant tourner TranRMS. - Password; Evidemment, quand un ordinateur doit se connecter à un Tranax 1700 via TranRMS, il doit envoyer un mot de passe de 6 chiffres. Cette partie du menu permet de changer ce mot de passe. - Remote Phone #1; Le numéro de téléphone de l'ordinateur dont on parlait deux options plus haut. Si il ne réponds pas, il y a un deuxième numéro de téléphone encodable. - RMS Ring Count = 3; Indique le nombre de sonneries après lesquelles l'ATM va "décrocher". - Modem Speed; Permet de configurer la vitesse des communications en fonction de la vitesse du modem de l'ordinateur faisant tourner TranRMS. Dans le menu "Transaction Setup", on peut voir le sous-menu "Denomination" qui contient la partie "FIRST CST DENOMINATION". Celle-ci permet de définir quel type de billet se trouve dans la cassette. Donc si la cassette contient des billets de 10$, mais que la valeur donnée dans "FIRST CST DENOMINATION" est 1$, si la somme demandée à l'ATM est 20$, il donnera au client 200$, et décomptera bien 20$. Comme cette option est extrêmement sensible, à chaque changement de cette valeur, les master keys seront supprimées. Il s'agit donc d'en avoir de remplacement ! On a fait maintenant en gros le tour de l'interafce administrateur. Voyons maintenant la partie matériel. Plusieurs serrures tubulaires auront besoin d'être ouvertes si vous avez besoin de les ouvrir ;) Les voici : Commençons, voulez-vus, pr la façon dont la porte de face (sous le clavier) doit être ouverte. Il s'agit d'abord d'insérer la clef adéquate et de la tourner dans le sens des aiguilles d'une montre comme l'image ci-dessous le montre : Une fois ouvert, ça donne ça : Evidemment, ça n'allait pas être aussi facile :) On voit donc ici une ouverture à combinaison, que voilà en plus grand sur cette image : Comme on peut le voir, il y a 100 chiffres au total, en comptant le 0. On peut y voir également deux petites lignes blanches en haut. Celle de gauche permet de changer le code, celle de droite d'ouvrir la porte. Pour change le code, il faut bien sûr connaître le code d'ouverture. Certaines instructions sont données à l'installateur pour la définition d'un nouveau code qui sont intéressantes à connaître si on doit retrouver le code ou vérifier la validité d'un code sans pour autant tester directement sur le matériel : 1 - Ne pas utiliser entre 0 et 20 pour le dernier chiffre 2 - Ne pas utiliser des chiffres finissant par 0 ou 5 3 - Ne pas utiliser des séries croissantes ou décroissantes Parmis les 100 chiffres, on peut donc déjà en éliminer 20 par tour, tous ceux finissant par 0 et 5... On peut également en éliminer automatiquement 15 de plus pour le dernier tour; les 20 premiers moins les 0, 5, 10, 15 et 20 qui sont déjà éliminés. Dans l'absolu, au lieu d'avoir 1 000 000 de possibilités de combinaisons, on en a donc : Chiffre 1 : 80 Chiffre 2 : 80 Chiffre 3 : 65 Ce qui nous fait 416 000 (y'en a un peu plus, je vous le met ?), ce qui réduit tout de même de moitié rien que grâce à deux des trois règles fixées ! C'est pas beau ça ? Si maintenant on applique la dernière règle et qu'on connait au moins un chiffre sur les trois et deux changements de sens, ça devient carrément facile :p Bon j'exagère un peu mais tout de même... Certaines versions utilisent une serrure éléctronique LaGard "LG BASIC" dont le code par défaut est le classique 1-2-3-4-5-6. Bien que ce code soit très certainement changé, il sera toujours de 6 chiffres. Elle utilise une batterie propre à elle, mais rien ne sert de l'enlever; cela mettra automatiquement le coffre en position fermée. Si la combinaison entrée est bonne, vous entendrez un double-bip. Sinon, vous entendrez un triple-bip (enfin trois bips consécutifs quoi). Si vous entrez 4 mauvais code consécutifs, la serrure éléctronque va se bloquer pendant 5 minutes. Après ce temps, elle se rebloquera epndant 5 minutes après chaques 2 essais ratés consécutifs... Si votre but est de revenir plusieurs fois ouvrir le coffre de façon discrète, le mieux est d'ajouter un utilisateur. Pour cela, entrez le code manager en maintenant la dernière touche enfoncée jusqu'au double-bip. Appuyez ensuite sur 1 puis entrez deux fois la nouvelle combinaison de 6 chiffres que vous souhaitez utiliser. Par la suite, il vous suffira d'entrer cette combinaison pour entrer dans le coffre, même si le code manager est changé. Bref, une fois la combinaison entrée, la poignée doit être tournée dans le sens contraire des aiguilles d'une montre pour ouvrir la porte (pensez donc à prendre une montre avec vous ! :p). Derrière cette porte se trouve la boîte à pognon :) Il existe deux types de boîte à pognon : une fixée à la machine (TCDU) et une qui peut se retirer (MCDU). Le modèle standard pour la Tranax 1700 est le TCDU. Pour le modèle TCDU, il faut dans un premier temps tirer le contenu coulissant vers vous : Ouvrez ensuite la serrure dans la boîte noire : Tirez enfin la boîte vers le haut et là tadaaaaam : ... c'est la boîte à pognon ! Alors je vous entends déjà demander ce que c'est que cette boîte noire. Et bien c'est la "reject bin" ou, en français "la poubelle à billets pas beaux" : c'est là que la société jette via l'ATM les pauvres billets malformés. Pour l'ouvrir on ouvre la serrure comme vu juste avant puis on tire sur le ptit truc qui dépasse : Et ça s'ouvre pour nous dévoiler les moches billets : Evidemment pour la photo les gens de TRanax n'ont pas mis des billets trop honteux... rha quel manque de sincérité ! Attaquons-nous maintenant à la technique MCDU. 1 - Tirez la boîte à poignée vers vous : 2 - Ouvrez-la : 3 - Palpez fébrilement le bel argent : Pour ouvrir la "reject bin" dans le cas d'un système MCDU, voici comment procéder : 1 - Attraper le côté avec vigueur : 2 - Puis tirez simplement vers vous : 3 - Salez, poivrez. Hé oui dans ce cas là pas besoin de clefs ! Maintenant que vous avez appris toutes les façons d'accèder au beau pognon, un bon conseil : BRULEZ LE ! L'argent, c'est une vraie saloperie. Nourrissez-vous plutôt d'amour :p Pour ouvrir la partie supérieure de l'ATM, c'est plus simple; insérez la clef dans la serrure se trouvant au niveau du "toit" de l'appareil : Puis tirez le tout vers vous : C'est là que vous trouverez entre autre le rouleau de papier de l'imprimante. Si vous le retirez, cela provoquera une erreur. Mais si vous redémarrez l'ATM après voir retiré le papier, cela mettra automatiquement l'ATM sur le menu opérateur (utile si celui-ci n'est pas accessible via la combinaison vue au début du texte). Et voilà ! Vous en savez désormais plus sur les ATMs, et sur le Tranax 1700 en particulier, du moins j'ose l'espèrer ! Nous vous déconseillons d'utiliser ces informations à des fins criminelles, ceux qui gèrent l'argent étant généralement un mélange entre une maladie infectueuse et un tic. Sur ce, à un de ces jours !