Webバージョンを使用したWhatsappアカウントのハイジャック

すべてのユーザーにエンドツーエンドの暗号化などの変更が導入されたことにより、Whatsappはセキュリティを無視したアプリケーションから多くの人が尊重するアプリケーションに成長しました。



Whatsappアカウントは電話番号に基づいています。 つまり、電話番号はユーザー名であり、認証にも使用されます。



これはプライバシーの面では最適なソリューションではありませんが、多くの場合、フィッシング攻撃で入力する可能性のある別のパスワードを覚えていないユーザーを救います。



ログインプロセスの概要:



画像



アプリケーションを初めて起動するとき、ユーザーは電話番号を入力する必要があります。 確認コードは、SMSまたは通話の形式で番号に送信されます。 その後、コードがアプリケーションに入力され、認証トークンがデバイスに保存されます。



ユーザーが新しいデバイスを使用する場合、このデバイスに対してプロセスを繰り返す必要があり、古いデバイスは認証解除されます。



Whatsappは古いメッセージをサーバーに保存しないため、以前のメッセージは新しいデバイスに転送されません。



もちろん、プロセスは実際にはより複雑ですが、この単純化はこの記事の目的に適しています。



利便性がセキュリティに取って代わります。 この代償は、電話番号へのアクセスを取得するために使用できる新しい攻撃に対する脆弱性です。 また、番号へのフルアクセスが可能で、アカウントに簡単にアクセスできるため、モバイルオペレーターへの信頼も必要です。



攻撃者によって



「低予算」攻撃者の観点から、これを回避することは困難です。 次の2つの回避策しかありません。



1)被害者の電話にアクセスする。 前述のように、これはネットワーク上のさまざまな攻撃またはモバイルプロバイダーによって取得できます。 電話番号へのアクセスを取得できたとしても、メッセージ履歴へのアクセスは許可されず、被害者はこれに気づきます。電話が認証解除されるためです。



2)電話自体を保護し、データセクションにアクセスします。 高価です。



新しいプレーヤーに会う



2015年、whatsappはWhatsapp Webを立ち上げました。これは、コンピューターからメッセージを送受信できるサイトです。 これを使用するには、ブラウザが電話に「接続」されている必要がありますが、電話はこのすべての「先頭」にあります。 プロセスの概要:



画像



Whatsappのウェブページに表示されているQRコードをスキャンすることで、ブラウザーは電話を使用して認証されます。 電話機がネットワークに接続されている限り、ユーザーはブラウザでwhatsappを使用できます。



この手順は、攻撃者に機会を提供します。 秘Theは、スキャンしたQRコードを使用することです。これにより、将来の通信や過去の通信を含め、アカウントに完全にアクセスできます。 ビンゴ!



攻撃の説明



簡単です。攻撃者は、ユーザーに「悪意のある」QRコードをスキャンさせるだけで、攻撃者のブラウザを認証できます。 これにより、彼はwhatsauppのアカウントに完全にアクセスできます。



次の図は、この仕組みを示しています。



画像



これを行うには、whatsappは登録ページに静的なQRコードを表示せず、数秒ごとに異なるQRコードを生成する必要があります。 これにより、攻撃者がコードをコピーして新しいページに投稿することを防ぎます。



デモ



セレンを使用してQRコードを取得し、express.js + socket.ioを使用してページに表示するこのツール。 被害者が自分の電話を使用してこのコードをスキャンすると、document.cookieとlocalStorageブラウザーのセレンが攻撃者のマシン上のファイルに保存されます。

取得したデータは、任意のブラウザを使用して被害者のアカウントにログインするために使用できます。



githubのコード



All Articles