フィルタバイパスといくつかの16進数を使用すると、ハッキングされたクレジットカード番号は引き続きGoogleで使用できます
公開: 2022-03-11クレジットカードハッキングに関する一言
私のことを知っているか、以前の投稿を読んだことがあれば、Toptalに入社する前に私が非常に興味深い会社で働いていたことをご存知でしょう。 この会社では、当社の決済プロバイダーが1日あたり約50万ドルの取引を処理しました。 私の仕事の一部は、プロバイダーをPCI-DSSに準拠させること、つまり、Payment Card Industry – DataSecurityStandardに準拠させることでした。
これは気弱な人の仕事ではなかったと言っても過言ではありません。 この時点で、私はクレジットカード(CC)、クレジットカードのハッキング、およびWebセキュリティ全般にかなり親密です。 結局のところ、私たちの仕事は、ユーザーのデータを保護し、ハッキング、盗難、誤用を防ぐことでした。
スラッシュドットに関するベネットハゼルトンの2007年の記事を見たときの私の驚きを想像することができます:なぜCC番号はまだ見つけやすいのですか? つまり、Haseltonは、最初に「nnnn nnnn」形式でカードの最初の8桁を検索し、後で番号範囲に基づいて構築された高度なクエリを使用して、Googleでクレジットカード番号を見つけることができました。 たとえば、「4060000000000000..4060999999999999」を使用して、CHASE(カードはすべて4060で始まる)から16桁のプライマリアカウント番号(PAN)をすべて検索できます。 ちなみに、発行者ID番号の完全なリストは次のとおりです。
当時、Googleはすぐにベネットが使用していたクエリの種類をフィルタリングし始めたので、私はそれについてあまり考えていませんでした。 あなたがそのような範囲をグーグルにしようとしたとき、グーグルは「あなたは悪い人だ」という線に沿って何かを言ったページを提供するでしょう。
約半年前、旧友と回想しながら、このクレジットカード番号のハッキングが再び頭に浮かびました。 すぐに、私は何か憂慮すべきことを発見しました。 それほど憂慮すべきことではありませんが、確かに憂慮すべきことです。そこで私はGoogleに通知し、待ちました。 何の返答もなかった1か月後、私は彼らに無駄を通知しました。
Haseltonの古いトリックを少し調整するだけで、クレジットカード番号、社会保障番号、その他の機密情報をGoogleで検索できるようになりました。
ベネット
昨日、私の友人(buhera.blog.huと_2501)が、最近のSlashdotの投稿を私の注意を引きました:クレジットカード番号はまだGoogle対応です。
記事の著者であり、2007年に元の記事を書いたベネットハゼルトンは、クレジットカード番号は引き続きGoogleで検索できると主張しています。 番号範囲クエリハックを使用することはできませんが、それでも実行できます。 単純な範囲を使用する代わりに、クエリに特定のフォーマットを適用する必要があります。 「12345678」のようなものです(中央のスペースに注意してください)。 このクエリには多くのヒットがありますが、実際に関心のあるものはほとんどありません。 出場者の中には、電話番号や郵便番号などがあります。 それほど心配する必要はありません。 しかし、ここにクレジットカードのハックのひねりがあります。
方法論
2007年のようにオンラインでクレジットカード番号を取得できるかどうか興味がありました。優れたエンジニアとして、私は通常、最高の精度で完全に実行する必要がある、適切に解釈されたインテリジェントな計画を使用して物事に取り組みます。 その方法を試したことがあれば、それが非常に困難になる可能性があることをご存知かもしれません。その場合、慎重な計画と努力が無駄になります。
ITでは、正確に保証されていない場合でも、過度に知的化する傾向があります。 友人や同僚が、一見ランダムな入力を使用してアプリケーションを完全に破壊するのを見てきました。 彼らの成功率は驚くべきものであり、彼らがそれに費やした努力はゼロに近かった。 その時、ドアを開けるのに、たまにノックしなければならないことを知りました。
クレジットカードのハック
前の段落は、「エリートハッキングスキル」を披露するときに、私を馬鹿に見せないようにする巧妙な偽装の試みでした。 おっと。
まず、範囲クエリベースのアプローチをいくつか試しました。 次に、高度なクエリと、1時間ほどで思いつく可能性のあるほとんどすべてのものを調べました。 それらのどれも重要な結果をもたらさなかった。
そして、私はクレイジーなアイデアを思いつきました。
フィルタリングエンジンと実際のバックエンドの間に不一致があった場合はどうなりますか? 私がGoogleから受け取ったメッセージ(「あなたは悪い人です」)がバックエンド自体からではなく、Googleが私のようなクエリを検閲するために実装した指定のフィルタリングエンジンからのものだった場合はどうなりますか?
アーキテクチャの観点からは非常に理にかなっています。 そして、そのようなバグはかなり一般的です。ITSEC、特にIDS / IPSソリューションだけでなく、一般的なソフトウェアでも常に見られます。 データを処理し、データが許容可能/悪意がないと判断した場合にのみバックエンドにデータを提供するフィルタリング手順があります。 ただし、バックエンドとフィルタリングサーバーがまったく同じ方法で入力を解析することはほとんどありません。 したがって、一見有効な入力がフィルターを通過し、バックエンドで大混乱を引き起こし、フィルターを効果的にバイパスする可能性があります。
通常、さまざまなエンコーディングで入力を提供することにより、このタイプの動作をトリガーできます。 例:10進数(0〜9)を使用する代わりに、16進数、8進数、または2進数に変換してみませんか? さて、何を推測します…

これを検索すると、Googleはあなたが悪い人だと教えてくれます:「4060000000000000..4060999999999999」
これを検索すると、Googleは喜んで「0xe6c8c69c9c000..0xe6d753e6ecfff」を義務付けます。
あなたがする必要がある唯一のことは、クレジットカード番号を10進数から16進数に変換することです。 それでおしまい。
結果は次のとおりです…
- 機密情報が満載の巨大なCSVファイル。
- 欠陥のあるeコマースログファイル。
- ハッカーサイト(さらにはFacebook)で共有される機密情報。
本当に怖いものです。
このバグがセキュリティ研究に影響を与えることはないと思いますが、それはあります。 グーグルはこのブーブーを作り、私に返事を書くことさえ怠った。 まあ、それは起こります。 しかし、私はビッグGのセキュリティ担当者をうらやましく思っていません。 彼らは注意すべきことがたくさんあるに違いありません。 このクレジットカード番号のハッキングについてここに投稿している理由は次のとおりです。
- 影響は比較的少ないです。
- 興味があり、やる気のある人なら誰でも、これを理解しているでしょう。
- Haseltonの言葉を引用すると、大手企業が責任を負わず、これらのエクスプロイトに対処していない場合、「正しいことは、問題に光を当て、できるだけ早く修正するように主張することです」。
このトリックは、電話番号、SSN、TFNなどを検索するために使用できます。 そして、ベネットが書いたように、これらの番号は、銀行に電話してカードをキャンセルするだけのクレジットカードよりもはるかに変更が困難です。
サンプルクエリ
警告:自分のクレジットカード番号を完全にグーグルで検索しないでください。
4060で始まるCCPANを探します:4060000000000000..4060999999999999? 0xe6c8c69c9c000..0xe6d753e6ecfff
プロバイダー「Telenor」からのいくつかのハンガリーの電話番号? 問題ありません:36200000000..36209999999? 0x86db02a00..0x86e48c07f
SSNを探します。 ありがたいことに、これらは多くの意味のある結果を返しません:100000000..999999999? 0x5f5e100..0x3b9ac9ff
たくさんあります。
非常に憂慮すべきことを見つけた場合、またはクレジットカードのハッキングに興味がある場合は、コメントに残すか、電子メール([email protected])またはTwitter(@synsecblog)で私に連絡してください。 このような場合、警察に通報することは通常無駄ですが、試してみる価値があるかもしれません。 特定の販売者またはカードプロバイダーは通常、問題に対処することに熱心です。
ここからどこへ行くか
まあ、グーグルは明らかにこれを修正しなければならない、おそらくビザやマスターカードのような大手プレーヤーの助けを借りて。 実際、Haseltonは、上記の2つの記事で多くの興味深い提案を提供しています。
しかし、あなたがしなければならないこと(そして私がこの投稿を書いた理由)は、その言葉を広めることです。 クレジットカード詐欺は大きな産業であり、単純な認識で被害者になるのを防ぐことができます。 さらに、eコマースサイトをお持ちの場合、またはクレジットカードの処理を処理する場合は、安全であることを確認してください。 PCI-DSSは優れたガイドラインですが、完璧にはほど遠いです。 さらに、「site:mysite.com」の高度なクエリを使用してサイトをグーグルで検索し、機密性の高い番号を探すことをお勧めします。 何かを見つける可能性は非常に低いですが、見つけた場合は、すぐに対処する必要があります。
また、少しフレンドリーなアドバイス:クレジットカード情報を誰にも教えてはいけません。 私のアドバイスは、可能な限りPayPalまたは同様のサービスを使用することです。 詳細については、次のリンクを確認してください。
- Visaのクレジットカードの安全に関するヒント
- シティのクレジットカードの安全に関するヒント
そして、いくつかの一般的なヒント:要求しなかったものをダウンロードしたり、スパムメールを開いたりしないでください。また、銀行がパスワードを要求することは決してないことを忘れないでください。
ちなみに、これらのクレジットカードのハッキング手法に騙されたり、インターネット上でクレジットカード情報を提供したりするほど愚かな人はいないと思われる場合は、@NeedADebitCardをご覧ください。
安全な人でいてください!