北朝鮮ハッカー集団、キーロギング攻撃に「BeaverTail-OtterCookie」コンボを展開

概要

Cisco Talosの研究者たちは、北朝鮮のハッカー集団であるLazarusのサブグループ「Famous Chollima」が、巧妙なキーロギング攻撃を展開していることを明らかにしました。彼らは、JavaScriptベースのツールである「BeaverTail」と「OtterCookie」を組み合わせて使用し、ステルス性の高いキーロギング、スクリーンショット撮影、およびデータ窃取を行っています。この一連の活動は、より広範な「Contagious Interview」作戦の一部であり、以前は別個だったツールセット間の境界線を曖昧にし、認証情報窃取や監視のための新しいモジュールを導入しています。

攻撃の詳細と手口

最近の事例では、スリランカの組織が標的となりました。ユーザーが偽の求人を受け入れ、Web3ベースのチェスプラットフォームと謳われたトロイの木馬化したNode.jsプロジェクト「ChessFi」をインストールしたことで感染が発生しました。正規の開発環境の代わりに、npmの依存関係には悪意のあるパッケージ「node-nvm-ssh」が含まれており、これがポストインストールスクリプトの連鎖をトリガーし、最終的に高度に難読化されたペイロードを実行しました。このペイロードは、BeaverTailのブラウザプロファイル列挙機能とPythonベースのスティールウェアダウンローダーを、OtterCookieのJavaScriptベースモジュール(新しいキーロギング機能を含む)と融合させていました。

OtterCookieのキーロギングおよびスクリーンショットモジュール

Talosは、これまで文書化されていなかったOtterCookieモジュールを発見しました。このモジュールは、キーストロークのログ記録と定期的なスクリーンショット撮影を同時に行います。Node.jsパッケージの「node-global-key-listener」(キーストロークイベント用)、「screenshot-desktop」(画像キャプチャ用)、および「sharp」(フォーマット変換用)を使用し、キーストロークを一時フォルダ内の「1.tmp」に、スクリーンショットを「2.jpeg」に書き込みます。キーストロークは毎秒ディスクにフラッシュされ、スクリーンショットは4秒ごとに撮影されます。一部の亜種では、クリップボード監視機能も統合されており、コピーされたテキストも収集されます。盗まれたデータと画像は、TCPポート1478の「/upload」エンドポイントを介してOtterCookieのC2サーバーにアップロードされ、目立った警告を発することなくリアルタイム監視を可能にします。C2サーバーとの通信には「socket.io-client」パッケージが使用されます。

その他のOtterCookie機能とツールの進化

さらに分析を進めると、OtterCookieには以下の機能があることが判明しました。

  • リモートシェルモジュール: ホストプラットフォームを検出し、仮想環境を検証し、システム情報を収集し、ポート1418でsocket.io-clientを介したWebSocketベースのコマンドループを維持します。
  • ファイルアップロードモジュール: ドライブを走査し、システムフォルダを除外して、ドキュメント、スクリプト、ウォレットファイルを窃取します。
  • 隠された暗号通貨拡張機能スティールウェア: ChromeおよびBraveプロファイルを標的とします。

また、研究者たちは「Onboarding Helper」を装った悪意のあるVS Code拡張機能も発見しました。これはOtterCookieのコードを埋め込み、開発者のエディタ環境内で直接感染させるものです。BeaverTailは2023年半ばにPythonベースのInvisibleFerretスティールウェアモジュールの軽量ダウンローダーとして初めて確認され、その後、Obfuscator.ioによるコード難読化、ベース64エンコードされたC2 URLスキームのシャッフル、さらにはQtコンパイルされたC++バリアントへと進化しました。一方、OtterCookieの初期ローダーはHTTPレスポンスクッキーを使用してJavaScriptコードをフェッチし、5つのバージョンを経て進化しました。2025年8月に観測されたバージョン5では、クリップボード窃取、ファイル窃取、サンドボックス回避、そしてキーロギングとスクリーンショット撮影のモジュールが追加されています。最近のChessFi攻撃では、BeaverTailのブラウザ拡張機能の標的化とPythonダウンローダー機能がOtterCookieのJavaScriptモジュールとシームレスに融合し、Windowsホストでの完全なPythonランタイムが不要になりました。

対策

組織は、これらの複合的な脅威から身を守るために、以下の対策を講じるべきです。

  • アプリケーションのホワイトリスト化を徹底する。
  • 予期せぬnpm依存関係を監視する。
  • JavaScriptとPythonの両方の実行可能ファイルを検査するエンドポイント保護ソリューションを活用する。

ローダーコードは小さく見落とされやすいため、誤検知のリスクもあり、VirusTotalでのOtterCookieローダーの検出はあまり成功していません。Cisco Secure Endpointは悪意のあるスクリプトの実行をブロックでき、Secure EmailおよびSecure Firewallアプライアンスはフィッシング詐欺やC2トラフィックの配信を防止できます。さらに、Stealthwatchなどのネットワーク分析ツールは、既知のBeaverTailおよびOtterCookieのC2ポート(1224、1244、1418、1478)への異常な接続を警告できます。開発環境の定期的な監査と厳格なコードレビュープロセスは、トロイの木馬化されたオープンソースプロジェクトによるリスクをさらに軽減するでしょう。


元記事: https://gbhackers.com/beavertail-ottercookie/