Alors aujourd'hui sur CB on va parler... De CB.
Je préviens d'avance, il y aura un peu de redite avec mon commentaire sous la box de Balladeur (https://choualbox.com/iCf3S).
Le gif, plus disponible maintenant, montrait un homme faisant payer un autre homme à son insu via le sans-contact & un TPE.
Je vais essayer de vous expliquer du mieux que je peux ce que j'ai appris avec mes collègues (coucou si vous me lisez, vous êtes les meilleurs !).
Déjà, comment fonctionne le NFC ?
Sur votre carte bleue, et sur à peu près toutes (?) les cartes faisant du NFC vous avez une puce et une antenne. Le lecteur NFC, va envoyer un champ magnétique à la carte pour la "réveiller" (lui donner la puissance nécessaire quoi).
Une fois la carte réveillée, elle est prête à envoyer des données. Le lecteur va donc faire des requêtes à la carte afin de lire des segments de données de la dite carte.
Bon, est qu'est-ce qu'il y a comme données sur la carte ?
On y trouve un peu de tout :
- Le nom du propriétaire
- Le numéro à 12 chiffres
- La date d'expiration
- Le type de carte (Master Card, Visa, ...)
- Le nombre d'essais de code pin restant avant de bloquer la carte
- Les derniers achats effectués avec la carte
- D'autre truc dont je me souviens pas
Du coup, il suffit d'un TPE pour faire payer n'importe qui ?
Alors, si je ne dis pas de connerie ça n'est pas aussi simple. Une entreprise/association doit s'enregistrer auprès de la banque pour que des virements puissent se faire. Donc non n'importe qui ne pourra pas le faire mais ceux qui ont une entreprise ou une association le peuvent... Est-ce qu'ils sont vraiment prêts à risquer des amendes + de la prison pour faire un paiement de maxi 30€ ? Je pense pas.
Bon, alors je suis tranquille ?
Eh bah... Non.
Jusque là j'ai surtout parlé des TPE mais c'est pas les seuls lecteurs NFC. On peut facilement acheter sur internet des lecteurs comme l'Hydra avec HydraNFC ou un Proxmark (ce ne sont pas les seuls).
Mais bien sûr la partie hardware ne suffit pas, sinon ça serait magique. On a besoin de logiciels pour pouvoir communiquer avec le lecteur qui lui va communiquer avec la carte. Les TPE ont tout ça déjà intégrés mais pas les autre.
Par contre, on trouve très facilement sur internet des programmes libres de droit. Typiquement pour le HydraNFC, il existe un github avec tout un programme en python qui permet d'envoyer les requêtes APDU.
Mais qu'est-ce qu'il se passe s'il récupérent mes données ?
Techniquement juste avec ce qu'on a, on ne peut rien faire... Mais, pour commander sur internet il ne nous manque qu'un truc : le CVV (le petit cryptogramme de 3 ou 4 chiffres derrières la carte). Le CVV a la particularité de ne pas du tout apparaître dans les parties éléctroniques de la carte. C'est le fabriquant de la carte qui l'imprime dessus à l'encre, comme ça vous pouvez l'effacer.
Par contre, ce CVV on peut le "trouver" avec une attaque dite par force brute (Brute Force en anglais). On va tout simplement tester toutes les combinaisons possibles (un peu ce que vous faites avec le cadenas dont vous avez oublié le code).
Et, petite particularité... Pour des "très petites sommes" (Je crois que c'est inférieur à 5€), votre banque ne va pas vérifier le CVV. Le paiement passera donc (découvert en voulant faire des test avec un porte-clef à 3€).
Du coup c'est de la merde, je suis vulnérable de partout !
Alors oui... Et non.
Sur les cartes il y a principalement 3 normes :
- ISO15693 surtout utilisée aux états-unis
- ISO14443A utilisée un peu partout (surtout en Europe)
- ISO14443B utilisée majoritairement (uniquement ?) par la France
Eh oui, en France on est... Différent mais pour le meilleur !
En effet, déjà on n'a plus accès aux derniers achats. Mais aussi, les requêtes sont différentes et non documentées. C'est à dire que là où pour les autre normes vous aviez juste à faire une requête sur internet, pour les cartes Française vous n'avez que 2 solutions : bosser dans les banques ou écouter (plus ou moins illégalement) les échanges entre un TPE et la carte.
On est donc toujours vulnérables mais avec un peu moins de facilité. Mais retenez que dans tous les cas c'est la merde.
Comment je peux me proteger ?
La meilleure protection est de demander une carte sans NFC à votre banque.
Attention, certaine fois vous aurez une carte avec le NFC mais sur laquelle on aura juste désactivé les paiements, les données pourront quand même être volées.
Sinon, si vous voulez garder le NFC utilisez un étui ou un portefeuille fait pour. En général les étuis sont fournis par les banques et les entreprises de sécu et le portefeuille se trouve sur internet.
Ah mais j'oubliais, il n'y a pas que le sans contact sur la carte, vous avez aussi une bande magnétique !
Mais c'est vraiment utilisé ça ?
Aux états-unis c'est utilisé partout.
En France c'est plus rare, si je ne me trompe pas c'est utilisé pour les péages d'autoroute entre autre.
Du coup ya quoi comme données dessus ?
Globalement la même chose que pour le NFC, mais surtout ce qui nous intéresse :
- Le numéro de carte
- Le nom du propriétaire
- La date d'expiration
tout ce qu'il faut pour mener une attaque à base de paiement sur internet (comme pour le NFC).
Mais c'est facile à lire ?
Je vais pas vous faire toute l'explication sur le fonctionnement, parce que ça risque d'être un peu long à base de polarité et tout... Pour ceux qui veulent savoir et qui comprennent l'anglais, regardez ça : http://phrack.org/issues/37/6.html
Mais globalement pour le lire, il suffit d'un double jack, d'une tête de lecture magnétique (venant d'un vieux lecteur cassette par exemple) et de quelques connaissances en programmation.
Ou de 20€ puisqu'on trouve des lecteurs qui fonctionnent très bien sur le net.
Donc, vous êtes totalement exposés...
Comment je peux m'en protéger ?
Vous pouvez démagnétiser votre bande, avec un super-aimant... Mais je ne le conseille pas, ça peut être dangereux pour votre puce, et vous ne pourrez plus vous servir de la bande.
La seule réelle solution est de faire attention à votre carte. Evitez le plus possible de la donner aux caissiers, regardez sur les distributeurs s'il n'y a pas de "skimmer" (des dispositifs ajoutés par dessus l'entrée de la carte)... Faites attention quoi.
Voilà, je pense avoir bien résumé la chose, si vous avez des questions, n'hésitez pas.
EDIT : Box à propos des skimmers https://choualbox.com/xHgOz
très interressant merci à toi !
Est ce que tu sais si ce genre d'attaque est "fréquente" ?
Intéressant comme explications sur le fonctionnement.
Pour ce qui est du piratage des cartes sur internet, c'est lié à quelle procédé ? Récup du nom et n° de carte par un soft discret ? Et forçage du CVV comme pour les TPE ?
Exact, mais ça ne veut pas dire que le site en question protège les données qu'il stocke, te concernant, ça se trouve il fait de la merde derrière.
C'est juste les échanges entre toi et leur serveurs qui sont chiffrés