Mit einem Filter-Bypass und etwas Hexadezimal, gehackte Kreditkartennummern sind immer noch, immer noch google-able

A Word on Credit Card Hacking

Wenn Sie mich kennen oder meinen letzten Beitrag gelesen haben, wissen Sie, dass ich für eine sehr interessante Firma gearbeitet habe, bevor ich zu Toptal kam. Bei diesem Unternehmen verarbeitete unser Zahlungsanbieter Transaktionen in der Größenordnung von 500.000 Dollar pro Tag. Ein Teil meiner Aufgabe bestand darin, unseren Anbieter PCI-DSS-konform zu machen, d. h. konform mit dem Payment Card Industry – Data Security Standard.

Man kann mit Sicherheit sagen, dass dies kein Job für schwache Nerven war. Zu diesem Zeitpunkt bin ich mit Kreditkarten, Kreditkarten-Hacking und Internetsicherheit im Allgemeinen ziemlich vertraut. Schließlich war es unsere Aufgabe, die Daten unserer Nutzer zu schützen und zu verhindern, dass sie gehackt, gestohlen oder missbraucht werden.

Sie können sich meine Überraschung vorstellen, als ich den Artikel von Bennett Haselton aus dem Jahr 2007 auf Slashdot las: Why Are CC Numbers Still So Easy to Find? Kurz gesagt, Haselton war in der Lage, Kreditkartennummern über Google zu finden, indem er zunächst nach den ersten acht Ziffern einer Karte im Format „nnnnn nnnn“ suchte und später einige fortgeschrittene Abfragen verwendete, die auf Zahlenbereichen basierten. Zum Beispiel könnte er „4060000000000000..40609999999999“ verwenden, um alle 16-stelligen primären Kontonummern (PANs) von CHASE zu finden (deren Karten alle mit 4060 beginnen). Übrigens: Hier ist eine vollständige Liste der Emittenten-ID-Nummern.

Damals habe ich mir nicht viel dabei gedacht, denn Google begann sofort, die von Bennett verwendeten Abfragetypen zu filtern. Wenn man versuchte, einen solchen Bereich zu googeln, zeigte Google eine Seite an, auf der etwas in der Art von „Sie sind ein schlechter Mensch“ stand.

Vor etwa sechs Monaten, als ich mit einem alten Freund in Erinnerungen schwelgte, kam mir dieser Kreditkartennummern-Hack wieder in den Sinn. Wenig später entdeckte ich etwas Alarmierendes. Nicht besonders alarmierend, aber auf jeden Fall alarmierend – also habe ich Google informiert und gewartet. Nachdem ich einen Monat lang keine Antwort erhalten hatte, benachrichtigte ich Google erneut – ohne Erfolg.

Mit einer kleinen Abwandlung von Haseltons altem Trick konnte ich Kreditkartennummern, Sozialversicherungsnummern und andere sensible Informationen von Interesse googeln.

So benachrichtigte ich Google und wartete. Nachdem ich einen Monat lang keine Antwort erhalten hatte, meldete ich mich erneut – ohne Erfolg. Mit einer kleinen Abwandlung von Haseltons altem Trick war ich in der Lage, Kreditkartennummern, Sozialversicherungsnummern und andere sensible Informationen zu googeln.

Bennett

Gestern machten mich einige Freunde von mir (buhera.blog.hu und _2501) auf einen neueren Slashdot-Beitrag aufmerksam: Credit Card Numbers Still Google-able.

Der Autor des Artikels, wiederum Bennett Haselton, der den ursprünglichen Artikel im Jahr 2007 schrieb, behauptet, dass Kreditkartennummern immer noch gegoogelt werden können. Man kann den Hack der Zahlenbereichsabfrage nicht verwenden, aber es ist trotzdem möglich. Anstatt einfache Bereiche zu verwenden, müssen Sie Ihre Abfrage mit einer speziellen Formatierung versehen. Etwa so: „1234 5678“ (beachten Sie das Leerzeichen in der Mitte). Für diese Abfrage gibt es viele Treffer, aber nur sehr wenige sind tatsächlich von Interesse. Unter den Teilnehmern befinden sich Telefonnummern, Postleitzahlen und dergleichen. Das ist nicht besonders alarmierend. Aber hier kommt der Kreditkarten-Hack ins Spiel.

Die Methodik

Ich war neugierig, ob es immer noch möglich ist, Kreditkartennummern online zu bekommen, so wie es 2007 möglich war. Wie jeder gute Ingenieur gehe ich normalerweise mit einem gut durchdachten und intelligenten Plan an die Sache heran, der perfekt und mit äußerster Präzision ausgeführt werden muss. Wenn Sie diese Methode schon einmal ausprobiert haben, wissen Sie vielleicht, dass sie sehr schnell scheitern kann – in diesem Fall ist Ihre sorgfältige Planung und Mühe umsonst gewesen.

In der IT neigen wir dazu, übermäßig zu intellektualisieren, selbst wenn das nicht unbedingt gerechtfertigt ist. Ich habe gesehen, wie meine Freunde und Kollegen Anwendungen mit scheinbar zufälligen Eingaben komplett zerstört haben. Ihre Erfolgsquote war atemberaubend, und der Aufwand, den sie dafür betrieben, ging gegen Null. Da habe ich gelernt, dass man manchmal einfach anklopfen muss, um eine Tür zu öffnen.

Der Kreditkarten-Hack

Der vorige Absatz war ein geschickt getarnter Versuch, mich weniger als Idiot dastehen zu lassen, wenn ich meine „Elite-Hacking-Fähigkeiten“ vorführe. Ups.

Zunächst habe ich mehrere auf Bereichsabfragen basierende Ansätze ausprobiert. Dann habe ich mir erweiterte Abfragen angesehen und so ziemlich alles, was man sich in einer Stunde oder so ausdenken kann. Keiner von ihnen brachte 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 („Sie sind ein schlechter Mensch“), nicht vom Back-End selbst stammte, sondern von einer speziellen Filter-Engine, die Google implementiert hatte, um Abfragen wie meine zu zensieren?

Aus architektonischer Sicht würde das sehr viel Sinn machen. Und solche Fehler sind ziemlich häufig – wir sehen sie im ITSEC-Bereich ständig, insbesondere in IDS/IPS-Lösungen, aber auch in gewöhnlicher Software. Es gibt ein Filterverfahren, das Daten verarbeitet und sie nur dann an das Back-End weitergibt, wenn es die Daten für akzeptabel/nicht bösartig hält. Das Back-End und der Filterserver analysieren die Eingaben jedoch fast nie auf genau dieselbe Weise. So kann eine scheinbar gültige Eingabe den Filter passieren und auf dem Back-End Schaden anrichten, indem sie den Filter effektiv umgeht.

Normalerweise können Sie diese Art von Verhalten auslösen, indem Sie Ihre Eingabe in verschiedenen Kodierungen bereitstellen. Zum Beispiel: Wie wäre es, wenn Sie statt der Dezimalzahlen (0-9) diese in Hexadezimal, Oktal oder Binär umwandeln? Nun, raten Sie mal…

Suchen Sie danach und Google wird Ihnen sagen, dass Sie ein schlechter Mensch sind: „4060000000000000..4060999999999999“

Suchen Sie hiernach und Google wird Ihnen gerne helfen: „0xe6c8c69c9c000..0xe6d753e6ecfff“.

Das Einzige, was Sie tun müssen, ist, Kreditkartennummern von dezimal in hexadezimal umzuwandeln. Das ist alles.

Das Ergebnis sind unter anderem…

  • Große CSV-Dateien mit potenziell sensiblen Informationen.

  • Fehlerhafte E-Commerce-Protokolldateien.

  • Sensible Informationen, die auf Hacker-Seiten (und sogar Facebook) geteilt werden.

Das ist wirklich beängstigend.

Ich weiß, dass dieser Fehler keine Sicherheitsforschung inspirieren wird, aber da haben Sie es. Google hat diesen Fehler gemacht und es versäumt, mir zurückzuschreiben. Nun, das kommt vor. Aber ich beneide die Sicherheitsleute beim großen G nicht. Sie müssen auf eine Menge Dinge aufpassen. Ich schreibe hier über diesen Kreditkartennummern-Hack, weil:

  1. Er relativ geringe Auswirkungen hat.
  2. Jeder, der interessiert und motiviert ist, wird das schon herausgefunden haben.
  3. Um Haselton zu zitieren: „Wenn die großen Unternehmen keine Verantwortung übernehmen und nicht gegen diese Schwachstellen vorgehen, 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, Sozialversicherungsnummern, TFNs und vieles mehr auszuspähen. Und, wie Bennett schrieb, sind diese Nummern viel schwerer zu ändern als Ihre Kreditkarte, bei der Sie einfach Ihre Bank anrufen und die Karte kündigen können.

Beispielabfragen

WARNUNG: Googeln Sie Ihre eigene Kreditkartennummer NICHT vollständig!

Suchen Sie nach einer beliebigen CC PAN, die mit 4060 beginnt: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 Beunruhigendes finden, oder wenn Sie neugierig auf Kreditkarten-Hacking sind, hinterlassen Sie es bitte in den Kommentaren oder kontaktieren Sie mich per E-Mail oder auf Twitter unter @synsecblog. Die Polizei einzuschalten ist in diesen Fällen meist aussichtslos, aber einen Versuch ist es vielleicht wert. Der betreffende Händler oder der Kartenanbieter ist in der Regel eher bereit, sich mit dem Problem zu befassen.

Where to Go From Here

Nun, Google muss das Problem natürlich lösen, möglicherweise mit Hilfe der großen Unternehmen wie Visa und Mastercard. Haselton macht 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 ein großes Geschäft, und ein einfaches Bewusstsein kann Sie davor bewahren, ein Opfer zu werden. Wenn Sie eine E-Commerce-Website betreiben oder mit der Verarbeitung von Kreditkarten zu tun haben, sollten Sie sich außerdem vergewissern, dass Sie sicher sind. PCI-DSS ist ein guter Leitfaden, 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 Nummern zu suchen. Die Chance, dass Sie etwas finden, ist sehr, sehr gering – aber wenn Sie etwas finden, müssen Sie sofort handeln.

Auch ein kleiner freundlicher Rat: Sie sollten niemals Ihre Kreditkarteninformationen an jemanden weitergeben. Mein Rat wäre, wann immer möglich PayPal oder einen ähnlichen Dienst zu benutzen. Weitere Informationen finden Sie unter folgenden Links:

  • Sicherheitstipps für Kreditkarten von Visa
  • Sicherheitstipps für Kreditkarten von Citi

Und noch ein paar allgemeine Tipps: Laden Sie keine Dinge herunter, die Sie nicht bestellt haben, öffnen Sie keine Spam-E-Mails, und denken Sie daran, dass Ihre Bank Sie niemals nach Ihrem Passwort fragen wird.

Also: Wenn du denkst, dass niemand dumm genug ist, um auf diese Kreditkarten-Hacking-Techniken hereinzufallen oder seine Kreditkartendaten im Internet preiszugeben, dann sieh dir @NeedADebitCard an.

Bleibt sicher, Leute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.