概要:Beamgleaキャンペーンの脅威
Socketの脅威調査チームは、テクノロジーおよびエネルギー企業を標的とした大規模なフィッシングキャンペーン「Beamglea」を発見しました。このキャンペーンでは、175の悪意あるnpmパッケージが悪用され、これまでに26,000回以上ダウンロードされています。これらのパッケージは、被害者を認証情報窃取ページにリダイレクトするためのホスティングインフラとしてのみ機能します。
巧妙な攻撃の手口
攻撃者は、インストール時にコードを実行するのではなく、npmの公開レジストリとunpkg.comのCDNを悪用してリダイレクトスクリプトをホストします。redirect-[a-z0-9]{6}
というパターンでランダムに命名されたパッケージを公開した後、脅威アクターはunpkg.comがHTTPS経由でアセットを自動的に提供することに依存します。被害者は、購入注文書やプロジェクト文書を装ったHTMLルアーをフィッシングメール経由で受け取ります。これらのHTMLファイルには、以下のような<script>
タグが埋め込まれています。
<script src="https://unpkg.com/redirect-xs13nr@1.0.0/beamglea.js"></script>
不注意な受信者がHTMLファイルを開くと、JavaScriptペイロードが実行されます。このスクリプトは、被害者のメールアドレスをURLフラグメントとして追加し、リダイレクト先のURLを生成します。これにより、標準のサーバーログにはこのデータが記録されず、フィッシングページの正当性を高めるためにクライアント側でメールアドレスが抽出され、ログインフォームに事前入力されます。
自動化されたフィッシングインフラ
分析により、パッケージの生成と公開を効率化するために、Pythonで書かれPyInstallerでコンパイルされた完全に自動化されたツールが使用されていることが明らかになりました。このツールの核となるロジックは、テンプレートベースのアプローチを採用しており、被害者固有のデータをJavaScriptテンプレートに注入し、一意の名前のパッケージを公開し、対応するHTMLルアーを生成します。175のパッケージ全体で630以上のHTMLファイルが特定され、それぞれにキャンペーン識別子としてnb830r6x
というメタタグが埋め込まれていました。脅威アクターは、cfn.jackpotmastersdanske.com
やmusicboxcr.com
を含む7つのフィッシングドメインを登録しています。
防御策の推奨事項
Beamgleaキャンペーンは、攻撃者が正当なインフラを最小限のコストと高い回復力で武器化する方法を示しています。防御側は、これらのIOC(侵害指標)の検出をアクティブな侵害として扱うべきです。推奨される対策は以下の通りです。
- パスワードのリセット:侵害された可能性のあるアカウント、特にMFAが有効になっていないOffice 365アカウント(
o365_1_nom
)については、直ちにパスワードのリセットを強制し、多要素認証を有効にする。 - メールゲートウェイの強化:スタンドアロンのHTMLファイルの正当な使用は最小限であるため、メールゲートウェイはHTML添付ファイルを隔離または削除する。
- ネットワーク監視:
redirect-*/beamglea.js
パターンに一致するunpkg.comへのリクエストや、7つの悪意あるドメインへのクエリをネットワーク監視でフラグ付けする。 - エンドポイント検出ルール:ローカルHTMLファイルがunpkg.comスクリプトをロードする際にアラートを発するよう、エンドポイント検出ルールを設定する。
- ブラウザ履歴分析:URLにメールフラグメントを含むナビゲーションを特定するために、ブラウザ履歴を分析する。
- npmレジストリの制限:内部アセットに対する公開npmレジストリの使用を制限するか、信頼できるパッケージの許可リストを実装する。
- Webコンテンツフィルター:開発者のワークフローとのバランスを取りながら、未知のCDN参照をブロックするようWebコンテンツフィルターを設定する。
この攻撃手法は進化し続けるため、組織は警戒を怠らず、検出ルールと脅威インテリジェンスを継続的に更新して、オープンソースインフラを大規模に悪用する攻撃者に対抗する必要があります。