fiord Advent Calendar 2025 5 日目の内容となります。
ちょっと古い(?)内容になりますが、結局そこまで知られていない印象があるので、注意喚起を目的にこの記事を書いてみます。
Browser-in-the-Browser(BITB) とは?
2022 年に mr.d0x 氏により公開されたフィッシング手法で、下記のような手順を用います。
- 偽サイトやフィッシングを目的としつつ、ユーザーの関心を集めるようなサイトを作成し、ユーザーを誘導する
- サイト上でユーザーにはログインをするような UI を提供し、Signin with Google のような外部サービスを経由して当該サイトへログインを行うよう促す
- 2 を実行したユーザーにはポップアップ画面が表示され、正規サイトへのログインを行ってもらう
この 3 におけるポップアップ画面はブラウザ上で描画された偽のポップアップ画面であり、正規サイトと思われるサイトは Google などのアカウントの認証情報を盗むためのサイトです。
この手法の利点は「ポップアップ画面に表示されるドメインが完璧に正規のドメインであること」です。ポップアップ画面そのものをブラウザ上で描画しているので、アクセス先の URL 情報は改ざんが可能で、正規のドメインを表示しておくことで、ユーザーを騙すことが出来ます。
デモ
mr.d0x 氏がデモ用の Github を作成しています。
これを少しだけ弄って Microsoft へのログインを装った形に変えてみました。
着目して欲しい点は下記の通りです。
- 表示されているポップアップ画面のドメインは login.microsoftonline.com であり、正規の物である
- 動画前半でポップアップウィンドウはブラウザの外に出ることが出来ない
- ユーザー名およびパスワードを入力後、「次へ」を押すことで
alertが発火している(情報漏洩が可能である)
ポップアップウィンドウの作り込みは甘いですが、もう少し実際のポップアップウィンドウに近い形で実装することでより騙しやすい UI になる可能性があります。
対策としては、下記辺りが考えられそうです。
- そもそも変なページにアクセスしないこと(フィッシング全般)
- Chrome ならブラウザの色は自由にプロファイルに変えられて、多分それはブラウザのページから読むことが出来ません。カスタムするといいかも
- MFA を設定する際は SMS を避けて、Authenticator などを利用すると良いと思います
- 個人的な印象ですが、ログイン済みのサービスの場合、基本的にポップアップに対してログインをする場合、パスワードを求められるケースはほとんど無いと思っています
まとめ
あくまで「このような手法がある」という注意喚起を目的としたものであり、悪用はしないようにしてください(この技術を利用したことによる責任は一切負いません)。
正直に申し上げますと、この技術が実際に利用されている!というケースは見たことが無いです。ただし、それでも知っておくに値する概念ではあるなと思っています。
ポップアップウィンドウでは URL すら改ざんされて表示される可能性がある、ということを頭の片隅に置いてくれると嬉しいです。
