Avec un contournement de filtre et un peu d’hexadécimal, les numéros de carte de crédit piratés sont encore, toujours, Google-able
Un mot sur le piratage de carte de crédit
Si vous me connaissez, ou si vous avez lu mon précédent billet, vous savez que j’ai travaillé pour une entreprise très intéressante avant de rejoindre Toptal. Dans cette entreprise, notre fournisseur de paiement traitait des transactions de l’ordre de 500 000 dollars par jour. Une partie de mon travail consistait à rendre notre fournisseur conforme à la norme PCI-DSS – c’est-à-dire conforme à la norme de sécurité des données de l’industrie des cartes de paiement.
On peut dire que ce n’était pas un travail pour les âmes sensibles. À ce stade, je suis assez intime avec les cartes de crédit (CC), le piratage des cartes de crédit et la sécurité du Web en général. Après tout, notre travail consistait à protéger les données de nos utilisateurs, à empêcher qu’elles soient piratées, volées ou utilisées à mauvais escient.
Vous pouvez imaginer ma surprise lorsque j’ai vu l’article de Bennett Haselton publié en 2007 sur Slashdot : Why Are CC Numbers Still So Easy to Find ? En bref, Haselton a pu trouver des numéros de cartes de crédit par le biais de Google, d’abord en recherchant les huit premiers chiffres d’une carte au format « nnnn nnnn », puis en utilisant certaines requêtes avancées construites sur des plages de chiffres. Par exemple, il peut utiliser « 4060000000000000..4060999999999999 » pour trouver tous les numéros de compte primaire (PAN) à 16 chiffres de CHASE (dont les cartes commencent toutes par 4060). Au fait : voici une liste complète des numéros d’identification des émetteurs.
À l’époque, je n’en ai pas fait grand cas, car Google a immédiatement commencé à filtrer les types de requêtes que Bennett utilisait. Lorsque vous essayiez de rechercher une plage de ce type, Google vous servait une page qui disait quelque chose du genre « Vous êtes une mauvaise personne ».
Il y a environ six mois, alors que je me souvenais avec un vieil ami, ce piratage de numéros de cartes de crédit m’est revenu à l’esprit. Peu après, j’ai découvert quelque chose d’alarmant. Pas terriblement alarmant, mais certainement alarmant – j’ai donc notifié Google et j’ai attendu. Après un mois sans réponse, je les ai notifiés à nouveau, sans résultat.
Avec une petite modification de l’ancienne astuce de Haselton, j’ai pu rechercher sur Google les numéros de carte de crédit, les numéros de sécurité sociale et toute autre information sensible d’intérêt.
Bennett
Hier, certains de mes amis (buhera.blog.hu et _2501) ont porté à mon attention un post plus récent de Slashdot : Credit Card Numbers Still Google-able.
L’auteur de l’article, encore Bennett Haselton, qui a écrit l’article original en 2007, affirme que les numéros de cartes de crédit peuvent toujours être Googlés. Vous ne pouvez pas utiliser le hack de la requête par plage de numéros, mais c’est tout de même possible. Au lieu d’utiliser de simples plages, vous devez appliquer un formatage spécifique à votre requête. Quelque chose comme : « 1234 5678 » (remarquez l’espace au milieu). Cette requête donne lieu à de nombreux résultats, mais très peu sont réellement intéressants. Parmi les concurrents, on trouve des numéros de téléphone, des codes postaux, etc. Pas extrêmement alarmant. Mais voici le twist du piratage des cartes de crédit.
La méthodologie
J’étais curieux de savoir s’il était encore possible d’obtenir des numéros de cartes de crédit en ligne comme on pouvait le faire en 2007. Comme tout bon ingénieur, j’aborde généralement les choses à l’aide d’un plan bien construit et intelligent qui doit être parfaitement exécuté avec la plus grande précision. Si vous avez essayé cette méthode, vous savez peut-être qu’elle peut échouer très fort – auquel cas votre planification et vos efforts minutieux ne servent à rien.
En informatique, nous avons tendance à sur-intellectualiser, même quand ce n’est pas exactement justifié. J’ai vu mes amis et collègues casser complètement des applications en utilisant des entrées apparemment aléatoires. Leur taux de réussite était stupéfiant et l’effort qu’ils y consacraient était proche de zéro. C’est à ce moment-là que j’ai appris que pour ouvrir une porte, il suffit parfois de frapper.
Le piratage de la carte de crédit
Le paragraphe précédent était une tentative habilement déguisée pour me faire passer pour moins idiot lorsque je montre mes » compétences d’élite en piratage « . Oups.
D’abord, j’ai essayé plusieurs approches basées sur les requêtes de plage. Ensuite, j’ai examiné les requêtes avancées et à peu près tout ce que vous pourriez trouver en une heure ou deux. Aucune d’entre elles n’a donné de résultats significatifs.
Et puis j’ai eu une idée folle.
Et s’il y avait un décalage entre le moteur de filtrage et le back-end réel ? Et si le message que j’ai reçu de Google (« Vous êtes une mauvaise personne ») ne provenait pas du back-end lui-même, mais plutôt d’un moteur de filtrage désigné que Google avait mis en place pour censurer les requêtes comme la mienne ?
Cela aurait beaucoup de sens d’un point de vue architectural. Et les bugs de ce genre sont assez courants – nous les voyons tout le temps en ITSEC, en particulier dans les solutions IDS/IPS, mais aussi dans les logiciels courants. Il existe une procédure de filtrage qui traite les données et ne les transmet au back-end que si elle les juge acceptables ou non malveillantes. Cependant, le back-end et le serveur de filtrage n’analysent presque jamais l’entrée de la même manière. Ainsi, une entrée apparemment valide peut traverser le filtre et faire des ravages sur le back-end, en contournant effectivement le filtre.
Vous pouvez généralement déclencher ce type de comportement en fournissant votre entrée dans différents encodages. Par exemple : au lieu d’utiliser des nombres décimaux (0-9), que diriez-vous de les convertir en hexadécimal ou octal ou binaire ? Eh bien, devinez quoi…
Recherchez ceci et Google vous dira que vous êtes une mauvaise personne : « 4060000000000000..4060999999999999 »
Recherchez ceci et Google sera heureux de vous rendre service : « 0xe6c8c69c9c000..0xe6d753e6ecfff ».
La seule chose que vous devez faire est de convertir les numéros de carte de crédit de décimal en hexadécimal. C’est tout.
Les résultats incluent…
- Des fichiers CSV volumineux remplis d’informations potentiellement sensibles.
- Des fichiers journaux de commerce électronique défectueux.
- Des informations sensibles partagées sur des sites pirates (et même Facebook).
C’est vraiment un truc effrayant.
Je sais que ce bug n’inspirera aucune recherche en sécurité, mais voilà. Google a fait ce boo-boo et a négligé de me répondre. Eh bien, ça arrive. Je n’envie pas les gens de la sécurité du grand G, cependant. Ils doivent avoir beaucoup de choses à surveiller. Je publie ce piratage de numéro de carte de crédit ici parce que :
- C’est un impact relativement faible.
- Toute personne intéressée et motivée l’aura déjà compris.
- Pour citer Haselton, si les grands acteurs ne prennent pas leurs responsabilités et n’agissent pas sur ces exploits, alors « la bonne chose à faire est de mettre en lumière le problème et d’insister pour qu’ils le corrigent dès que possible ».
Cette astuce peut être utilisée pour rechercher des numéros de téléphone, des SSN, des TFN, et plus encore. Et, comme l’a écrit Bennett, ces numéros sont beaucoup plus difficiles à modifier que votre carte de crédit, pour laquelle vous pouvez simplement appeler votre banque et annuler la carte.
Exemples de requêtes
Attention : ne cherchez PAS sur Google votre propre numéro de carte de crédit en entier !
Recherchez tout CC PAN commençant par 4060:4060000000000000..4060999999999999 ? 0xe6c8c69c9c000..0xe6d753e6ecfff
Des numéros de téléphone hongrois de l’opérateur ‘Telenor’ ? Pas de problème:36200000000..36209999999 ? 0x86db02a00..0x86e48c07f
Recherchez des SSN. Heureusement, ceux-ci ne renvoient pas beaucoup de résultats significatifs :100000000..999999999 ? 0x5f5e100..0x3b9ac9ff
Il y en a beaucoup, beaucoup plus.
Si vous trouvez quelque chose de très alarmant, ou si vous êtes curieux au sujet du piratage des cartes de crédit, veuillez le laisser dans les commentaires ou me contacter par courriel à ou sur Twitter à @synsecblog. Il est généralement inutile d’appeler la police dans ces cas-là, mais cela peut valoir la peine d’essayer. Le commerçant donné ou le fournisseur de la carte est généralement plus désireux d’aborder le problème.
Où aller d’ici
Bien, Google doit évidemment corriger cela, peut-être avec l’aide des grands acteurs comme Visa et Mastercard. En fait, Haselton fournit un certain nombre de suggestions intéressantes dans les deux articles liés ci-dessus.
Ce que vous devez faire, cependant (et la raison pour laquelle j’ai écrit ce post), c’est passer le mot. La fraude à la carte de crédit est une industrie importante, et une simple sensibilisation peut vous éviter de devenir une victime. En outre, si vous avez un site de commerce électronique ou si vous traitez des cartes de crédit, assurez-vous que votre site est sécurisé. La norme PCI-DSS est une bonne ligne directrice, mais elle est loin d’être parfaite. De plus, c’est toujours une bonne idée de chercher sur Google votre site avec la requête avancée « site:mysite.com », à la recherche de numéros sensibles. Il y a très, très peu de chances que vous trouviez quelque chose – mais si c’est le cas, vous devez agir immédiatement.
Aussi, un petit conseil d’ami : Vous ne devriez jamais donner les informations de votre carte de crédit à qui que ce soit. Je vous conseille d’utiliser PayPal ou un service similaire dans la mesure du possible. Vous pouvez consulter ces liens pour plus d’informations :
- Conseils de sécurité pour les cartes de crédit de Visa
- Conseils de sécurité pour les cartes de crédit de Citi
Et quelques conseils généraux : ne téléchargez pas des choses que vous n’avez pas demandées, n’ouvrez pas les courriels de pourriels et rappelez-vous que votre banque ne vous demandera jamais votre mot de passe.
A propos : Si vous pensez qu’il n’y a personne d’assez stupide pour tomber dans ces techniques de piratage de cartes de crédit ou donner les informations de sa carte de crédit sur Internet, jetez un coup d’œil à @NeedADebitCard.
Restez en sécurité les gens !
.