Pythonベースのマルウェア「NodeStealer」に大規模なアップグレードが確認され、Facebookを標的とした情報窃取型マルウェアが、キーストロークの記録、クリップボードデータの監視、スクリーンショットの取得、そして広範なFacebookプロフィール情報の収集まで可能な、より広範なスパイウェアプラットフォームへと変貌を遂げています。
2026年8月に確認されたこの新たな亜種は、ブラウザおよびローカルデータの窃取範囲も拡大しており、一般的な認証情報の窃取とFacebook特有のデータ持ち出しを分離するために、Telegramを利用した指揮統制(C2)の仕組みを二系統に分割する設計を採用しています。
GetDatabase Tools
NodeStealerは当初、Facebookアカウントの窃取に関連したJavaScriptベースの脅威として登場しました。
2023年、研究者らはPython版を確認しており、これはChrome、Edge、Brave、Opera、Firefoxなどのブラウザから認証情報やセッションクッキーを収集することで、Facebookにとどまらずマルウェアの攻撃範囲を拡大していました。
これまでの拡散活動では、企業ページの管理者を狙うために偽のFacebookメッセージや悪意ある添付ファイルが使われていました。
最新版では、持続的な監視機能が追加されています。pynputというPythonライブラリを使って被害者のキーストロークを記録し、keylog({ip}).txtという名前の一時ファイルに保存します。
バックグラウンドで動作するスレッドが、このファイルを120秒ごとに攻撃者のメインのTelegramボットへ送信し、その後内容を消去します。
このロギング処理は無期限に継続するため、NodeStealerはキーボードから入力されたパスワード、メッセージ、決済情報などのデータを取得できます。
クリップボードの監視により、収集範囲はさらに広がります。マルウェアはpyperclipを使ってコピーされたプレーンテキストを記録し、被害者のパブリックIPアドレスとともに送信します。これにより、攻撃者は取得したデータを特定の侵害済みデバイスと紐付けることができます。
また、pyautoguiを利用して、マルウェア起動時と収集機能終了直前の2回スクリーンショットを撮影します。これにより、アクティブなセッション、財務ダッシュボード、プライベートチャット、ワンタイム認証プロンプトなどが露出する可能性があります。
最も重大な変化は、NodeStealerがFacebookアカウントそのものを狙う攻撃から、それらを管理する個人をプロファイリングする方向へと転換した点です。
従来の亜種は、主に企業情報や広告アカウントの詳細を収集するために、Facebook Graph APIのエンドポイントを2つしか照会していませんでした。
新版では、身元情報、ソーシャルなつながり、コンテンツ、ページの役割、広告活動、コマース情報、連携サービス、ログインデータ、アカウントセキュリティのシグナルにまたがる、20を超えるエンドポイントを呼び出します。
Netskopeの研究者によると、このキャンペーンは主にアジアと北米の組織を標的としており、金融サービス業界が最も大きな影響を受けているとのことです。
NodeStealerスパイウェアマルウェア
このマルウェアは、被害者の氏名、メールアドレス、誕生日、性別、学歴、職歴、所在地、プロフィール画像、友達リスト、フォローしているアカウント、いいね、参加グループ、投稿、イベント、動画、紐付けられたビジネス資産など、個人情報の収集を試みます。
さらに、Facebookページのデータ、広告キャンペーンの詳細、広告アカウントの支出上限、総支出額、アカウントステータス、通貨、事業所在国コード、商品情報、注文情報、連携サービス、ログイン関連情報も狙っています。
GetDatabase Tools
このように収集データが豊富になることで、侵害の価値は実質的に大きく高まる可能性があります。
攻撃者はこれを利用して、ビジネスメール詐欺(BEC)の文面をより巧妙に仕立てたり、経営幹部やブランド管理者になりすましたり、価値の高い広告アカウントを特定したり、認証情報や復旧情報を使い回しているユーザーを狙ってアカウント乗っ取りを試みたりする可能性があります。
NodeStealerは2024年の時点ですでに進化を遂げており、Facebook広告マネージャのデータやブラウザに保存されたクレジットカード情報を標的にしていました。
研究者らは、盗まれたFacebookのクッキーを使ってアクセストークンを取得し、企業や広告アカウントに関連するGraph APIのデータを照会できることを確認していました。今回の新版は、この情報収集モデルを大幅に拡張したものです。
単一のTelegramボットに依存していた従来のNodeStealerのサンプルとは異なり、最新の亜種は2つのボットトークンを保有しています。
メインのボットはブラウザのパスワード、認証情報、クッキーデータベースを含むZIPアーカイブを受け取り、2つ目のボットがFacebook特有の情報を処理します。
この分離により、運用の専門化が可能になるほか、片方のボットが発見・無効化された場合でも耐障害性を高められる可能性があります。
研究者らはまた、CPython 3.12以降のマジックナンバーを使ってコンパイルされた.pycビルドも確認しています。
そのタイムスタンプとソースサイズのヘッダーフィールドはゼロに設定されており、見かけ上のコンパイル時刻が1970年1月1日となっています。これは、通常のバイトコードメタデータに依存する自動解析ワークフローを複雑化させる可能性があります。
Netskopeによると、新たに追加されたコードの一部には、AI支援による開発を示唆する特徴が見られるとのことです。
save_additional_infoという名前のメソッドは、装飾的な絵文字ラベルを伴う、反復的かつ画一的な構造の呼び出しを通じて、拡張されたGraph APIエンドポイントのリストを照会します。
これらの絵文字は従来のNodeStealerのコードには見られなかったものであり、今回追加されたスパイウェア機能が大規模言語モデル(LLM)の支援を受けて作成、あるいは開発を加速された可能性を示唆しています。
防御担当者は、不審なPythonの実行、Telegram Bot APIのトラフィック、ブラウザのSQLiteデータベースへの想定外のアクセス、クリップボード監視用ライブラリ、スクリーンショット取得ツール、そしてヘッダーメタデータに矛盾やヌル値が見られる.pycファイルを監視すべきです。
また組織は、フィッシング耐性のあるMFA(多要素認証)、最小権限アクセス、セッション監視、ソーシャルプラットフォーム経由で受信した信頼できない添付ファイルの制限などを通じて、Facebookビジネスおよび広告マネージャの管理者に対する保護を強化すべきです。
★ 7つの指標ゲート方式によるAI SOC導入フェーズを学ぶ – AI SOC導入プレイブック2026を無料ダウンロード。
翻訳元: https://gbhackers.com/nodestealer-spyware-malware/