Mit einer Filterumgehung und einigen Hexadezimalzahlen sind gehackte Kreditkartennummern immer noch Google-fähig
Veröffentlicht: 2022-03-11Ein Wort zum Kreditkarten-Hacking
Wenn Sie mich kennen oder meinen vorherigen Beitrag gelesen haben, wissen Sie, dass ich für ein sehr interessantes Unternehmen gearbeitet habe, bevor ich zu Toptal kam. Bei diesem Unternehmen verarbeitete unser Zahlungsanbieter Transaktionen in der Nähe von 500.000 US-Dollar pro Tag. Ein Teil meiner Aufgabe war es, unseren Anbieter PCI-DSS-konform zu machen – das heißt, konform mit dem Payment Card Industry – Data Security Standard.
Man kann mit Sicherheit sagen, dass dies kein Job für schwache Nerven war. An diesem Punkt bin ich ziemlich vertraut mit Kreditkarten (CCs), Kreditkarten-Hacking und Web-Sicherheit im Allgemeinen. Schließlich war es unsere Aufgabe, die Daten unserer Benutzer zu schützen, um zu verhindern, dass sie gehackt, gestohlen oder missbraucht werden.
Sie können sich meine Überraschung vorstellen, als ich Bennett Haseltons Artikel von 2007 auf Slashdot sah: Warum sind CC-Nummern immer noch so leicht zu finden?. Kurz gesagt, Haselton war in der Lage, Kreditkartennummern über Google zu finden, indem es zunächst nach den ersten acht Ziffern einer Karte im „nnnn nnnn“-Format suchte und später einige erweiterte Abfragen verwendete, die auf Nummernkreisen basierten. Beispielsweise könnte er „4060000000000000..4060999999999999“ verwenden, um alle 16-stelligen Primary Account Numbers (PANs) von CHASE zu finden (deren Karten alle mit 4060 beginnen). Übrigens: Hier ist eine vollständige Liste der Aussteller-ID-Nummern.
Damals habe ich mir nicht viel dabei gedacht, da Google sofort damit begann, die Arten von Suchanfragen zu filtern, die Bennett verwendete. Wenn Sie versuchten, einen solchen Bereich zu googeln, lieferte Google eine Seite mit der Aufschrift „Du bist ein schlechter Mensch“.
Vor ungefähr sechs Monaten, als ich mit einem alten Freund in Erinnerungen schwelgte, kam mir wieder dieser Kreditkartennummern-Hack in den Sinn. Kurz darauf entdeckte ich etwas Beunruhigendes. Nicht sehr alarmierend, aber sicherlich alarmierend – also benachrichtigte ich Google und wartete. Nach einem Monat ohne Antwort habe ich sie erneut vergeblich benachrichtigt.
Mit einer kleinen Änderung an Haseltons altem Trick konnte ich Kreditkartennummern, Sozialversicherungsnummern und alle anderen sensiblen Informationen von Interesse googeln.
Bennett
Gestern haben mich einige Freunde (buhera.blog.hu und _2501) auf einen neueren Slashdot-Beitrag aufmerksam gemacht: Credit Card Numbers Still Google-able.
Der Autor des Artikels, wiederum Bennett Haselton, der den ursprünglichen Artikel bereits 2007 geschrieben hat, behauptet, dass Kreditkartennummern immer noch gegoogelt werden können. Sie können den Number Range Query Hack nicht verwenden, aber es ist immer noch möglich. Anstatt einfache Bereiche zu verwenden, müssen Sie eine bestimmte Formatierung auf Ihre Abfrage anwenden. Etwa so: „1234 5678“ (beachten Sie das Leerzeichen in der Mitte). Für diese Abfrage gibt es viele Treffer, aber nur wenige sind von wirklichem Interesse. Unter den Kandidaten sind Telefonnummern, Postleitzahlen und dergleichen. Nicht extrem alarmierend. Aber hier kommt der Kreditkarten-Hack-Twist.
Die Methodik
Ich war neugierig, ob es immer noch möglich war, Kreditkartennummern online zu erhalten, wie wir es 2007 konnten. Als guter Ingenieur gehe ich normalerweise mit einem richtig konstruierten und intelligenten Plan an die Sache heran, der perfekt und mit höchster Präzision ausgeführt werden muss. Wenn Sie diese Methode ausprobiert haben, wissen Sie vielleicht, dass sie sehr fehlschlagen kann – in diesem Fall sind Ihre sorgfältige Planung und Ihr Aufwand umsonst.
In der IT neigen wir zur Überintellektualisierung, auch wenn dies nicht gerade gerechtfertigt ist. Ich habe gesehen, wie meine Freunde und Kollegen Anwendungen mit scheinbar zufälligen Eingaben vollständig zerstört haben. Ihre Erfolgsquote war überwältigend und der Aufwand, den sie darin steckten, ging gegen Null. Da habe ich gelernt, dass man manchmal einfach anklopfen muss, um eine Tür zu öffnen.
Der Kreditkarten-Hack
Der vorherige Absatz war ein geschickt getarnter Versuch, mich weniger wie einen Idioten aussehen zu lassen, wenn ich meine „Elite-Hacking-Fähigkeiten“ zeige. Hoppla.
Zunächst habe ich mehrere Range-Query-basierte Ansätze ausprobiert. Dann habe ich mir erweiterte Abfragen und so ziemlich alles angesehen, was Ihnen in etwa einer Stunde einfallen könnte. Keiner von ihnen erbrachte signifikante Ergebnisse.
Und dann hatte ich eine verrückte Idee.
Was wäre, wenn es eine Diskrepanz zwischen der Filter-Engine und dem eigentlichen Back-End gäbe? Was wäre, wenn die Nachricht, die ich von Google erhielt („Du bist ein schlechter Mensch“), nicht vom Back-End selbst stammte, sondern von einer bestimmten Filter-Engine, die Google implementiert hatte, um Suchanfragen wie meine zu zensieren?
Aus architektonischer Sicht würde es sehr viel Sinn machen. Und solche Fehler sind ziemlich häufig – wir sehen sie ständig in ITSEC, insbesondere in IDS/IPS-Lösungen, aber auch in gängiger Software. Es gibt ein Filterverfahren, das Daten verarbeitet und nur dann an das Back-End weitergibt, wenn es der Meinung ist, dass die Daten akzeptabel/nicht bösartig sind. Das Back-End und der Filterserver analysieren die Eingabe jedoch fast nie auf genau die gleiche Weise. Somit kann eine scheinbar gültige Eingabe durch den Filter gehen und Chaos im Back-End anrichten, indem der Filter effektiv umgangen wird.

Sie können diese Art von Verhalten normalerweise auslösen, indem Sie Ihre Eingabe in verschiedenen Codierungen bereitstellen. Zum Beispiel: Anstatt Dezimalzahlen (0-9) zu verwenden, wie wäre es, sie in Hexadezimal-, Oktal- oder Binärzahlen umzuwandeln? Rate mal…
Suchen Sie danach und Google sagt Ihnen, dass Sie ein schlechter Mensch sind: „4060000000000000..4060999999999999“
Suchen Sie danach und Google hilft Ihnen gerne weiter: „0xe6c8c69c9c000..0xe6d753e6ecfff“.
Das einzige, was Sie tun müssen, ist, Kreditkartennummern von Dezimal in Hexadezimal umzuwandeln. Das ist es.
Zu den Ergebnissen gehören…
- Riesige CSV-Dateien mit potenziell sensiblen Informationen.
- Fehlerhafte E-Commerce-Protokolldateien.
- Sensible Informationen, die auf Hackerseiten (und sogar Facebook) geteilt werden.
Es ist wirklich gruseliges Zeug.
Ich weiß, dass dieser Fehler keine Sicherheitsforschung anregen wird, aber da haben Sie ihn. Google hat dieses Boo-Boo gemacht und es versäumt, mir überhaupt zurückzuschreiben. Nun, es passiert. Ich beneide die Sicherheitsleute im Big G jedoch nicht. Sie müssen eine Menge Dinge haben, auf die sie achten müssen. Ich poste hier über diesen Hack der Kreditkartennummer, weil:
- Es ist relativ geringe Auswirkungen.
- Jeder, der interessiert und motiviert ist, wird dies inzwischen herausgefunden haben.
- Um Haselton zu zitieren, wenn die Big Player nicht die Verantwortung übernehmen und auf diese Exploits reagieren, dann „ist es das Richtige, das Problem zu beleuchten und darauf zu bestehen, dass sie es so schnell wie möglich beheben“.
Dieser Trick kann verwendet werden, um Telefonnummern, SSNs, TFNs und mehr nachzuschlagen. Und wie Bennett schrieb, sind diese Nummern viel schwieriger zu ändern als Ihre Kreditkarte, für die Sie einfach Ihre Bank anrufen und die Karte kündigen können.
Beispielabfragen
ACHTUNG: Die eigene Kreditkartennummer NICHT vollständig googeln!
Suchen Sie nach CC PAN beginnend mit 4060: 4060000000000000..4060999999999999 ? 0xe6c8c69c9c000..0xe6d753e6ecfff
Einige ungarische Telefonnummern vom Anbieter 'Telenor'? Kein Problem: 36200000000..36209999999 ? 0x86db02a00..0x86e48c07f
Suchen Sie nach SSNs. Glücklicherweise liefern diese nicht viele aussagekräftige Ergebnisse: 100000000..999999999 ? 0x5f5e100..0x3b9ac9ff
Es gibt noch viele, viele mehr.
Wenn Sie etwas sehr Besorgniserregendes finden oder neugierig auf Kreditkarten-Hacking sind, hinterlassen Sie es bitte in den Kommentaren oder kontaktieren Sie mich per E-Mail unter [email protected] oder auf Twitter unter @synsecblog. Die Polizei zu rufen ist in diesen Fällen meist zwecklos, aber es könnte einen Versuch wert sein. Der jeweilige Händler oder Kartenanbieter ist in der Regel eher daran interessiert, das Problem zu lösen.
Wohin von hier aus
Nun, Google muss das offensichtlich beheben, möglicherweise mit Hilfe der großen Player wie Visa und Mastercard. Tatsächlich liefert Haselton in den beiden oben verlinkten Artikeln eine Reihe interessanter Vorschläge.
Was Sie jedoch tun müssen (und warum ich diesen Beitrag geschrieben habe), ist die Nachricht zu verbreiten. Kreditkartenbetrug ist eine große Industrie, und ein einfaches Bewusstsein kann Sie davor bewahren, Opfer zu werden. Wenn Sie eine E-Commerce-Website haben oder eine Kreditkartenverarbeitung durchführen, stellen Sie außerdem bitte sicher, dass Sie sicher sind. PCI-DSS ist eine gute Richtlinie, aber bei weitem nicht perfekt. Außerdem ist es immer eine gute Idee, Ihre Website mit der erweiterten Abfrage „site:mysite.com“ zu googeln und nach sensiblen Zahlen zu suchen. Es besteht eine sehr, sehr geringe Chance, dass Sie etwas finden – aber wenn Sie es finden, müssen Sie sofort handeln.
Außerdem ein kleiner freundlicher Rat: Sie sollten niemals Ihre Kreditkarteninformationen an Dritte weitergeben. Mein Rat wäre, wann immer möglich PayPal oder einen ähnlichen Dienst zu verwenden. Unter diesen Links finden Sie weitere Informationen:
- Sicherheitstipps für Kreditkarten von Visa
- Sicherheitstipps für Kreditkarten von Citi
Und ein paar allgemeine Tipps: Laden Sie keine Dinge herunter, um die Sie nicht gebeten haben, öffnen Sie keine Spam-E-Mails und denken Sie daran, dass Ihre Bank niemals nach Ihrem Passwort fragen wird.
Übrigens: Wenn Sie der Meinung sind, dass niemand so dumm ist, auf diese Kreditkarten-Hacking-Techniken hereinzufallen oder seine Kreditkarteninformationen im Internet preiszugeben, schauen Sie sich @NeedADebitCard an.
Bleibt gesund Leute!