脅威アクターがnpmのパッケージ配信エコシステムを悪用し、信頼されたミラードメイン上で本物そっくりの偽Cloudflare認証ページをホストしていることが分かりました。開発者向けインフラをフィッシング配信の経路として利用する手口です。
OX Securityによると、同一のHTMLコードを含む悪意あるnpmパッケージ24個を確認したとのことです。これらは偽のCAPTCHAページを表示し、訪問者を攻撃者が管理するインフラへリダイレクトするよう作り込まれていました。
このキャンペーンは、開発者に汚染された依存パッケージをインストールさせて侵害する手口には依存していません。代わりに、npmパッケージは悪意あるHTMLファイルを保管する使い捨てのコンテナとして機能します。
パッケージが一度公開されると、公開ミラーやCDNは予測可能なURLを通じてその個別のファイル内容を外部に公開してしまいます。これにより攻撃者は、ユーザーやセキュリティツールが正規のパッケージ配信元とみなすようなドメインから、完全にレンダリングされたフィッシングページを配信できてしまうのです。
SecurityProducts & Services
この点がこの手口の注目すべきところです。npmがソフトウェアサプライチェーンの感染経路としてよりも、信頼されたフロントエンドのホスティングプラットフォームとして悪用されているのです。
研究者らは合計24個のパッケージを確認しており、その中にはndmxchdjxn2、@worrisome/reutil、mn2adskhweox、mbxcnsuwgs1、skxcmwuncbg2、mobiwaefhxc3などが含まれます。研究結果が公開された時点で、少なくとも複数のパッケージが依然として公開されたままでした。
代表例となるURL、unpkg[.]com/[email protected]/index.htmlが、この悪用手口を如実に示しています。訪問者が該当のファイルパスに直接アクセスすると、圧縮されたnpmアーカイブではなく、unpkgミラーから配信されるアクティブなHTMLページが表示されるのです。
このページはCloudflareのCAPTCHAまたは人間確認画面になりすましており、正規のコンテンツ配信ドメインから配信されるフィッシングフローに信憑性を与えています。
悪意あるパッケージには、偽の認証ページのロジックと難読化されたJavaScriptを含む単一のHTMLファイルが収められています。ページを開くとCloudflareを模したおとりが表示され、その後スクリプトがリモートインフラと通信し、被害者を別の場所へリダイレクトします。
このキャンペーンの初期の波では、コードはlogin[.]microsofte[.]liveという、Microsoftを装ったタイポスクワッティングドメインと通信していました。
OX Securityによると、このドメインはその後ブロックされたとのことです。以降のサンプルでは、正規のキーバリューストレージサービスであるapi.keyval[.]orgを利用するように変化し、暗号化された値を取得してブラウザ上で復号し、その結果得られたURLへ誘導する仕組みに移行しました。

このアーキテクチャの変更により、攻撃者は柔軟性を得ています。ホストされているHTMLファイル自体は変更せずとも、リモートの値によって被害者の誘導先を変えられるためです。
OX Securityの調査によると、これらのnpmパッケージは削除されるまでに概ね週50件から300件のダウンロードを集めていたとのことです。
偽Cloudflare ClickFixページ
分析時点では、このリダイレクトは正規のChatGPTのウェブサイトへ誘導されていました。しかし同じ仕組みは、npmパッケージを再公開することなく、認証情報を窃取するページやマルウェア配布サイト、ClickFix型のおとりへユーザーを誘導するように再設定できてしまいます。
ClickFix攻撃は、偽のCAPTCHAやブラウザ修復、認証確認のプロンプトを利用して被害者自身にコマンドを実行させる手口です。
典型的な流れでは、ユーザーにWin+RでWindowsの「ファイル名を指定して実行」ダイアログを開かせ、Ctrl+Vでクリップボードの内容を貼り付けさせた上でEnterキーを押させます。貼り付けられたコマンドはPowerShellや他のインタープリターを起動し、マルウェアを取得することができます。
Malwareanalysis tools
今回のnpmミラーを悪用したキャンペーンでは、現時点の構成において実際にClickFixのペイロードを配信する様子は確認されていません。とはいえ、偽のCloudflareインターフェースと攻撃者が管理するリダイレクトの連鎖は、こうした攻撃のためのすぐに使える足場を提供してしまっています。

この手法はまた、攻撃者側のインフラ負担も軽減します。専用のフィッシングホストを登録・維持する必要がなく、公開されたパッケージを通じてレンダリングされるHTMLファイルへ被害者をリンクさせるだけで済むためです。
この手口は、単純なドメインベースの信頼判断を根底から揺るがすものです。unpkg.com、あるいは他のパッケージミラー上でホストされているURLは、CDNリソースとしては技術的に正規のものでありながら、公開されたパッケージに埋め込まれた攻撃者提供のコンテンツを表示してしまう可能性があるのです。
セキュリティチームは、通常のパッケージ取得と無関係なnpmミラードメインへの直接的なHTMLリクエストを、潜在的に不審なものとして扱うべきです。
関連するミラーには、unpkg、Yarn関連のサービス、npmmirror、Tencentがホストするミラー、および同様のパッケージコンテンツ配信エンドポイントが含まれます。
プロキシ、DNS、セキュアウェブゲートウェイのテレメトリを確認し、パッケージバージョンのパス配下で「.html」で終わるリクエスト、特にビルドシステムや開発者ツールではなくブラウザから発信されたリクエストがないかを精査すべきです。
URLレピュテーションおよびフィッシング検出のパイプラインについても、それ以外の点では信頼できるnpmミラードメイン配下でホストされている悪意あるコンテンツを考慮に入れる必要があります。
組織はユーザーに対し、本物のCloudflare認証チェックでは「ファイル名を指定して実行」やターミナル、PowerShellを開いたり、コマンドを貼り付けたりする必要は決してないことを周知すべきです。
訪問者に「確認」のためブラウザから離れるよう求めるCAPTCHAは、いかなるものであれ悪意あるものとして扱うべきです。
★ どのセキュリティツールを削減すべきか? 1ページでスコアリング – 「継承されたセキュリティスタック」ガイドをダウンロード
翻訳元: https://gbhackers.com/fake-cloudflare-clickfix-pages/