Sneaky 2FA Phishing Kit を分析:Browser-in-the-Browser の手法で 2FA をバイパス

Sneaky 2FA Phishing Kit Adds BitB Pop-ups Designed to Mimic the Browser Address Bar

2025/11/19 TheHackerNews — Sneaky 2FA として知られる PhaaS (Phishing-as-a-Service) キットに関与するマルウェア作成者が、Browser-in-the-Browser (BitB) 機能を武器化して組み込んでいるようだ。こうしたサービスの継続的な進化が浮き彫りにするのは、スキルの低い脅威アクターが大規模な攻撃を容易に仕掛けられる現状である。Push Security は、「被害者の Microsoft アカウントの認証情報を盗むことを目的としたフィッシング攻撃で、この手法が使用されていることを確認した」と、The Hacker News に共有されたレポートの中で述べている。

Browser-in-the-Browser (BitB) は、2022年3月にセキュリティ研究者の mr.d0x により初めて文書化されたものだ。HTML と CSS コードの組み合わせを悪用して、正規のサービスのログインページを装う偽のブラウザ・ウィンドウを作成し、認証情報を容易に窃取する方法が詳細に説明されている。

Push Security は、「BitB は、ブラウザ認証の一般的な機能であるポップアップ・ログイン・フォームを模倣することで、疑わしいフィッシング URL を隠蔽するように設計されている。BitB のフィッシング・ページは、ポップアップ・ウィンドウのデザインを模倣しているが、悪意のサーバにリンクする iframe を取り込んでいる」と述べている。

この欺瞞を完全なものにするために、そのポップアップ・ブラウザ・ウィンドウには正規の Microsoft ログイン URL が表示されている。そのため、被害者は正規のページで認証情報を入力していると思い込むが、実際にはフィッシング・ページに騙されることになる。

Push Security が観測した攻撃チェーンでは、疑わしい URL “previewdoc[.]us” にアクセスしたユーザーに対して Cloudflare Turnstile チェックが提示されていた。そこでユーザーがボット保護チェックを通過した後に、攻撃は次の段階に進み、PDF ドキュメントを表示するための “Sign in with Microsoft” ボタンのあるページが表示される。

このボタンをクリックすると、BitB 技術を介して Microsoft のログイン・フォームを装うフィッシング・ページがエンベッド・ブラウザに読み込まれ、最終的に入力された情報とセッションの詳細が攻撃者に渡される。続いて、それを悪用する攻撃者により被害者のアカウントが乗っ取られる。

このフィッシング・ページは、CAPTCHA や Cloudflare Turnstile などのボット対策技術を用いることで、セキュリティ・ツールによるアクセスを防止している。

それに加えて、条件付き読み込み技術を活用する攻撃者は、意図したターゲットのみがアクセスできるようにし、残りのユーザーに対しては、フィルタリングおよび安全なサイトへのリダイレクトで対処している。

今年の初めに Sekoia が指摘した巧妙な 2FA 攻撃は、一般的な難読化の実装や、ブラウザ開発者ツールの無効化などの、分析から逃れるための手法を採用するものだった。さらに、そのフィッシング・ドメインは、検出を最小限に抑えるために迅速にローテーションされていた。

Push Security は、「PhaaS エコシステムの専門化が進む状況において、この攻撃者はフィッシング手法を絶えず革新している。ID ベースの攻撃が、依然として侵害の主な手口となっているが、フィッシング攻撃のインフラを改良/強化しようとしている」と述べている。

WebAuthn プロセス操作による Passkeys ログインのバイパス

悪意のブラウザ・エクステンションを用いて Passkeys 登録とログインを偽装し、ユーザーのデバイスや生体認証情報をバイパスして、エンタープライズ・アプリにアクセスする攻撃が生じるかもしれないという調査結果を受けて、今回の侵害情報は公開された。

Passkeys Pwned Attack と呼ばれる攻撃の手法は、デバイスとサービスの間がブラウザを介した間接的な通信になっている点と、不正なスクリプトやエクステンションにより仲介役となるブラウザを操作できるという点を悪用し、認証プロセスを乗っ取るものだ。

Passkeys を用いて Web サイトで登録/認証を行う場合に、その Web サイトはブラウザを介した通信を行うために、”navigator.credentials.create()” や “navigator.credentials.get()” などの WebAuthn API を呼び出す。したがって、このフローを操作する攻撃では、JavaScript インジェクションが用いられる。

SquareX は、「悪意のエクステンションは、プロセスが認証システムに到達する前に呼び出しを傍受し、攻撃者が管理する独自の鍵ペア (秘密鍵/公開鍵) を生成する。続いて、このエクステンションは、攻撃者が管理する秘密鍵をローカルに保存するため、被害者のデバイスで認証チャレンジに署名する際に、新しい鍵を生成することなく再利用できるようになる」と述べている。

さらに、秘密鍵のコピーは攻撃者にも送信されるため、悪意のデバイス上からエンタープライズ・アプリにアクセスできるようになる。上記の認証プロセスのときと同様に、ログインフェーズでは “navigator.credentials.get()” の呼び出しがエクステンションにより傍受され、登録時に生成された攻撃者の秘密鍵によるチャレンジへの署名が可能になる。

それに加えて、脅威アクターたちは、ダウングレード攻撃と呼ばれる手法により、Passkeys などのフィッシング耐性のある認証方法を回避する方法も発見している。この攻撃を用いる、Tycoon などの中間者攻撃 (AitM) フィッシング・キットは、Passkeys による許可の代わりに、フィッシングされやすい安全性の低いオプションを選択するよう、被害者を誘導するという。

つまり、フィッシング耐性のあるログイン方法が存在しても、安全性の低いバックアップ方法が残存する場合には、アカウントは依然として脆弱な状態に置かれてしまう。