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 !