Je veux raconter dans ce blogue ce que j’ai fait à NorthSec 2013, une compétition de piratage tenue à Montréal en avril 2013 (www.nsec.io). L’événement dure trois jours, alors j’y consacrerai plusieurs billets. J’ai voulu commencer par la piste des cartes à puce, que j’ai attaquée le samedi vers 11 h 30.
Après un premier travail d’exploration, nous avons trouvé une page qui nous demandait d’aller chercher une carte à puce à l’accueil. Elle contenait aussi la description sommaire de trois appliquettes Java Card, la procédure alambiquée pour changer le NIP de la carte, un lien pour télécharger les binaires de l’une des appliquettes et un lien vers des instructions supplémentaires pour cette piste.
Ces instructions supplémentaires indiquaient que plusieurs drapeaux (les points de la compétition) étaient à obtenir dans cette piste et énuméraient ce qu’ils représentaient, pour que nous sachions quoi soumettre une fois trouvés. La plupart des autres pistes utilisaient des chaînes de texte contenant le mot « flag » ou un indice évident; ici, c’étaient surtout des chaînes hexadécimales.
Le premier drapeau mentionné était le modèle de la carte. Par expérience avec les cartes à puce, je savais qu’on le trouve habituellement dans l’ATR (answer to reset). Après avoir téléchargé quelques outils pour communiquer avec les cartes, j’ai pu lire l’ATR et trouver le modèle. C’était « J2A080 » et j’ai essayé de le soumettre, sans succès. J’ai ensuite tenté BEAUCOUP de permutations, en ajoutant le fabricant et diverses informations tirées de la fiche technique, toujours sans succès. Au bout d’une trentaine de minutes, j’ai soumis « 4A3241303830 » et ça a fonctionné. C’était mon premier drapeau dans cette piste, et je ne savais pas encore que la plupart des drapeaux étaient des chaînes hexadécimales.
Voilà, j’avais mes premiers points! Ce billet est déjà un peu long, alors je poursuis avec le deuxième drapeau dans le prochain!
