Un générateur de carte bancaire

2.9 (57.37%) 38 votes

Il y a de cela un an et demie, j’ai été amené chez un client à faire un audit de sécurité. Ce client, qui figure au CAC40, voulait être certain que son système d’informations était à l’abri de toute intrusion. Si dans l’ensemble, je n’ai pas trouvé grand chose à redire, une machine a néanmoins attiré mon attention. Ce PC, utilisé par le service achats de cette société, était littéralement barbelé par toutes les mesures de précautions possibles et inimaginables. Il faut tout de même avouer qu’il y avait de quoi: c’est grâce à lui que la société payait une bonne partie de ses fournisseurs. Le payement se faisait via une petite application qui générait pour chaque transaction un numéro de carte bancaire unique, un peu à la manière des e-cartes bleues proposées par la plupart des banques.

Côté sécurité, la machine était blindée de chez blindée: afin de limiter au maximum les fuites, tous les flux de données sortants vers l’extérieur étaient scrupuleusement filtrés voir même oblitérés dans certains cas: pas d’envoi de mail possible, aucun port USB, accès canalisé uniquement aux extranets des fournisseurs avec notamment un filtrage par un IDS du POST HTML, la méthode qui permet de remplir un formulaire et ainsi d’envoyer des informations sur Internet. En définitive, une machine complétement verrouillée et en théorie parfaitement sécurisée.

Au cours d’un déjeuner avec un collègue ERP, nous avons évoqué à plusieurs reprises cette machine ainsi que les précautions extrêmes qui avaient été prises pour la sécuriser. Lui en rigolait car il m’avoua qu’il existait des problèmes de communication entre les achats et la comptabilité, et que régulièrement des deltas existaient entre les deux services, essentiellement à cause de cette machine: visiblement quelques opérations d’achat n’étaient pas répercutées convenablement vers la comptabilité, essentiellement à cause d’un problème récurrent d’interfaçage avec l’ERP. Les comptables étaient souvent obligés de repasser derrière les acheteurs pour les contrôler (en utilisant leur outil de gestion) et au vue du nombre important de transactions effectuées, des tensions avaient commencé à surgir entre les deux services, l’un traitant l’autre d’incompétent. « Au lieu de transformer la machine des achats en forteresse, ils feraient mieux de corriger ce problème  » m’avait dit le collègue.

Les semaines ont passé et mon audit était sur le point de se terminer lorsque j’ai eu une conversation animée avec la DSI et notamment son responsable sécurité sur la machine des achats. Alors que celui-ci clamait haut et fort que cette machine était certainement la plus sécurisée de toute l’entreprise, moi je tempérais de la manière la plus diplomatique possible en lui rétorquant que par expérience un système n’est jamais sûr à cent pour cent. Il l’a très mal pris et a commencé à m’attaquer et aussi à critiquer mon audit et mon professionnalisme. Comme le client a toujours raison, je n’ai pas insisté et rapidement laissé tombé, le laissant à ses arguments qui ne m’ont jamais convaincu.

Je n’ai jamais de problème avec mes détracteurs, je les laisse toujours parler et évite tant que faire se peut la confrontation professionnelle: c’est fatiguant et on perd beaucoup trop de temps pour généralement des queues de cerises. Si je n’ai jamais véritablement souffert de ce type d’attaque, il y a quand même quelques chose qui m’a toujours intéressé dans ce type de situation: le défi intellectuel. Alors, je me suis mis à réfléchir sur les moyens de contourner les dispositifs de sécurité de cette machine. Comme j’y avais accès pour mon audit, j’ai pu en profiter pour mettre en place une tactique qui m’a pris plus de trois semaines d’intenses réflexions.

Tout d’abord, j’ai pu constater avec bonheur que le VBS n’avait pas été désactivé sur la machine. J’exècre ce langage au plus haut point, lui préférant Perl mais il faut bien reconnaitre qu’il est bien utile pour faire des scripts sous Windows. Ensuite, la machine n’est pratiquement jamais éteinte car elle réalise des transferts EDI la nuit.

Je commence par repérer la tâche planifiée qui lance les traitements EDI le soir à 22 heures. Il s’agit d’un script qui appelle plusieurs applications. Dedans, j’y incorpore discrètement un petit programme VBS de ma composition. Mon programme commence par ouvrir l’application e-carte bleue, celle qui génère les numéros de cartes bancaires uniques. Grâce à l’instruction SetCursorPos, je me positionne sur la fenêtre de l’application, et finalement je simule un clic de souris au moyen d’un « mouse_event ». Après grâce à l’outil en ligne de commande ImageMagick, je fais une capture d’écran. Puis je récupère les informations bancaires au moyen d’un logiciel de reconnaissance de caractères, dans mon cas il s’agit de GOCR. Toutes ces opérations sont faites en tâche de fond, discrètement. J’ai pu installer ces logiciels grâce à un répertoire partagé que la machine utilise pour y récupérer quelques fichiers à traiter. Bien évidemment ce répertoire était en lecture seul, toujours dans le but d’éviter toute fuite.

C’est à ce niveau que je suis confronté à une difficulté majeure: comment envoyer automatiquement ces informations à l’extérieur de l’entreprise, sachant que je n’ai accès ni au mail, ni au FTP, ni même à ce fameux POST qui m’aurait bien aidé ? Je dois bien avouer qu’il n’y a pas beaucoup de solution à ce problème, d’autant plus que la machine ne peut accéder qu’à certains sites, essentiellement ceux des fournisseurs. En parlant de ceux-là, justement j’ai découvert quelque chose d’intéressant.  Plusieurs d’entre eux utilisent le fameux logiciel de statistiques Awstats. C’est ce que j’ai découvert en examinant le cache Google qui a fortuitement indexé plusieurs pages des statistiques web des fournisseurs.

C’est là que j’ai découvert la solution à mon problème:  je vais utiliser mon User-Agent pour transporter les codes bancaires. Prenez par exemple ce User-Agent Firefox:

Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1.8)                Gecko/20100202 Firefox/3.5.8 (Build 01425)

Que je transforme en:
Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (Build 4970549792752184-0510-174)

Vous notez la différence ? En fait, j’incorpore le code bancaire directement dans le User-Agent; dans ce cas, on pourrait presque parler de stéganographie. Pour terminer, j’utilise le logiciel Wget et son option « -U » muni du User-Agent qui va chercher anodinement la page d’accueil du fournisseur. Finalement, depuis chez moi, je récupère les pages de statistiques web que j’examine avec un dernier script qui met les codes bancaires dans un simple fichier CSV. Et voilà comment j’ai pu récupérer plusieurs milliers de codes en à peine trois mois.

Bien entendu, je n’ai pas dévoilé cette astuce à mon client et gardé toute cette tactique pour moi. J’étais content: j’avais pu me prouver à moi même que j’avais entièrement raison lorsque j’expliquais au client qu’il n’existe aucun système fiable à cent pour cent. L’audit s’est finalement terminé après que mes relations se soient beaucoup dégradées avec cette société. Ils n’ont pas été très satisfaits de mes conclusions, et je pense que cela vient du responsable sécurité qui a tout fait pour discréditer mes travaux. Ils n’ont jamais voulu payé la prestation qui se monte à plusieurs centaines de millier d’Euros. Nous sommes désormais en contentieux avec eux, et je pense que cela va durer encore des années.

Je ne suis pas quelqu’un de revanchard, mais quelque part j’ai quand même l’impression d’avoir été bien floué. Alors est-ce une folie passagère ou tout simplement un mauvais coup de colère, j’ai décidé de mettre tous ces codes bancaires en ligne, de sorte que d’une façon ou d’une autre ils payent chèrement ma prestation. Il y a exactement 8734 codes bancaires, il s’agit juste de l’extraction d’une base MySql; en aucun cas, je n’ai déplombé le secret des cartes bancaires.

Vu le foutoir qui règne toujours entre leur service achat et comptabilité, qu’ils gèrent des milliers de commandes par mois, qu’ils ne sont absolument pas au courant de ma petite bidouille ainsi que la grande improbabilité qu’ils lisent Pagasa, franchement n’hésitez pas à vous servir de ces codes. Attention, je vous rappelle qu’un code ne sert qu’une seule fois.

Bons achats à tous.

Apple iPhone 8 Plus
Samsung Galaxy S8 4G
Apple iPad Wi-Fi, 32 Go

70 commentaires sur “Un générateur de carte bancaire

  1. Bonjour, pouvez vous me faire parvenir un code de carte bancaire valide je vous en très reconnaissant. Cordialement

  2. Ce truc ne fonctionne mas j’en ai essayé plusieurs
    Arrêter avec vos arnaque de merde!!!!!!

  3. C’est bidon ! Ça ne marche pas !!! J’ai essayé avec plusieurs numeros de cartes et à chaque fois, ça dit que la carte n’est pas valide !!!

  4. je desire avoir un numero de carte pour des des achat en ligne mais n me demande le nom de la carte

  5. Bonjour,
    Pouvez vous s il vous plait me faire parvenir un code de carte bleu je vous en serais tres reconnaissant. Merci de votre comprehension.

    Cordialement, Nevermore

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

CommentLuv badge