
背景
背景
ブロックチェーンの世界は「暗い森の法則」に従っており、いつでも未知の外部からの攻撃に見舞われる可能性がある世界では、私たち一般ユーザーは悪事を行うわけではありませんが、ハッカーが悪を行う方法を理解することが非常に必要です。
以前にリリースされた SlowMist セキュリティ チームBlockchain Dark Forest セルフヘルプ マニュアルNFT プロジェクト パーティーの Discord を攻撃する多くの方法について言及しましたが、読者が関連するフィッシング手法をより明確に理解できるように、この記事ではフィッシング手法の 1 つである悪意のあるブックマークを通じてプロジェクトを盗む方法を公開します。当事者の Discord アカウントのトークンは、偽の情報を公開してユーザーをフィッシング Web サイトに誘導し、ユーザーのデジタル資産を盗むために使用されます。
釣り事件
画像の説明
出典: https://twitter.com/SerpentAU/status/1503232270219431941
画像の説明
出典: https://twitter.com/sentinelwtf/status/1496293768542429187
この解釈で言及されているブックマークはブラウザのブックマークです。このブックマークの内容は JavaScript の悪意のあるコードである可能性があります。Discord ユーザーがクリックすると、そのユーザーがいる Discord ドメインで悪意のある JavaScript コードが実行され、 Discord トークンが盗まれ、攻撃者はプロジェクト パーティの Discord トークンを取得し、プロジェクト パーティの Discord アカウントの関連権限を直接かつ自動的に引き継ぐことができます。
背景知識
この事件を理解するには、読者が特定の背景知識を持っている必要があります。今日のブラウザには独自のブックマーク マネージャーがあり、便利ですが、攻撃者に悪用されやすいものでもあります。悪意のあるフィッシング ページを慎重に作成することで、お気に入りのブックマークに JavaScript コードを挿入することができ、被害者がそのブックマークをクリックすると、現在のブラウザ タブのドメインでコードが実行されます。
上の写真を例にとると、被害者は discord.com の公式 Web サイトを開き、このページにある悪意のあるブックマーク「Hello, World!」をクリックしてポップアップ ステートメントを実行しました。 discord.com を表示します。
ここにはドメインの概念があり、ブラウザには同一オリジン ポリシーなどの保護ポリシーがあり、論理的には discord.com に属さない操作は discord.com ドメイン内のページに応答すべきではありませんが、ブックマークはこの制限を回避します。
ブックマークのこのような小さな機能がセキュリティ問題を暗示することは予見可能です。ブックマークを追加する通常の方法では、ブックマーク URL が明確に表示されます。
セキュリティ意識が低い読者であれば、URL 情報に明らかな問題があることが直接わかるはずです。
もちろん、コレクションをブックマーク バーからページにドラッグ アンド ドロップするように誘導する、適切に構造化された構造である場合はどうなるでしょうか? Twitter リンク内のデモ ビデオでは、「これをブックマークにドラッグしてください」というような誘導的なページが構築されていることがわかります。
つまり、リンクをドラッグすることでブックマークバーにリンクを追加できるのですが、フィッシングスクリプトが現実的である限り、セキュリティ意識が不十分なユーザーも簡単に勧誘されてしまいます。
ドラッグ アンド ドロップでブックマーク バーに追加するには、a タグを作成するだけで済みます。サンプル コードは次のとおりです。
ブックマークレットは、クリックすると開発者ツール コンソールのコードと同様に実行でき、CSP (コンテンツ セキュリティ ポリシー) ポリシーをバイパスします。
読者は疑問に思うかもしれませんが、「javascript:()」のようなリンクがブラウザのブックマーク バーに追加されたとき、ブラウザは何のリマインダーも表示しないのですか?
著者はここで Google ブラウザと Firefox ブラウザを比較しています。
Google Chrome を使用すると、編集のリマインダーなしで通常の URL リンクをドラッグ アンド ドロップして追加できます。
Google Chrome を使用して、ドラッグ アンド ドロップで悪意のあるリンクを追加しても、編集のリマインダーは表示されません。
Firefox ブラウザを使用している場合、通常のリンクを追加するとリマインダーは表示されません。
Firefox ブラウザを使用して悪意のあるリンクを追加すると、編集者に保存を確認するよう促すウィンドウが表示されます。
ブックマークの追加という点ではFirefoxブラウザの方が処理安全性が高いことが分かります。
シナリオデモ
デモではGoogle Chromeを使用しており、Web上のDiscordにログインしていることを前提として、被害者がフィッシングページの誘導により悪意のあるブックマークを追加したものと想定し、トークンなどの個人情報が攻撃者のアドレスに送信されます。攻撃者が設定した Discord Webhook 経由のチャネル。
以下は、被害者がフィッシングされたブックマークをクリックした例です。
以下は、トークンやその他の個人情報を取得し、Discord サーバーの Webhook を通じて受信するために攻撃者が作成した JavaScript コードのデモンストレーションです。
著者は、疑問を引き起こす可能性のあるいくつかの攻撃の詳細を追加しています。
1. 被害者はなぜワンクリックでそれを入手したのでしょうか?
予備知識として、ブックマークは JavaScript スクリプトに挿入できることがわかっており、これを使用すると、Discord にパッケージ化されている webpackChunkdiscord_app フロントエンド パッケージを介して情報を取得するなど、ほとんどすべてのことができます。作者は詳細な攻撃コードを提供しません。
2. 攻撃者はなぜ受信に Discord Webhook を選択するのでしょうか?
Discord Webhook の形式は
「https://discord.com/api/webhooks/xxxxxx」は直接 Discord のメイン ドメイン名であり、同一オリジン ポリシーなどの問題を回避しています。読者はテスト用に新しい Discord Webhook を作成できます。
3. トークンを取得したら何ができますか?
要約する
要約する
攻撃は常に発生しています。悪意のある攻撃を受けたユーザーは、直ちに次の措置を講じて修復することをお勧めします。
Discord アカウントのパスワードをすぐにリセットしてください。
パスワードをリセットした後、再度Discordアカウントにログインしてトークンを更新し、攻撃者が取得したトークンを無効化します。
元の Webhook が侵害されているため、元の Webhook リンクを削除して置き換えます。
セキュリティ意識を向上させ、追加された悪意のあるブックマークをチェックして削除します。
ユーザーとして、追加やコードには悪意がある可能性があることを認識することが重要です。また、Web 上には非常にフレンドリーで柔軟に見える拡張機能がたくさんあります。ブックマークではネットワークリクエストを防ぐことはできませんが、ユーザーが手動で実行をトリガーする時点では、依然として疑う心を維持する必要があります。