SOC Prime Bias:

13 2月 2026 13:56

マルウェアエコシステムにおけるWSL

Author Photo
Ruslan Mikhalov SOC Primeの脅威リサーチ責任者 linkedin icon フォローする
マルウェアエコシステムにおけるWSL
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

この記事は、悪意のあるJavaScriptがホスト上でWindows Subsystem for Linux (WSL)を検出し、Windowsユーザー情報とディレクトリを列挙する方法を説明しています。サンプル—ottercookie-socketScript-module-3.js—はCryxos infostealerファミリーに帰属されています。環境変数とファイルシステムのプローブを使用して、コードはWSLのマーカーを探し、WSLマウントポイントを通じて公開されたWindowsデータ(例:/mnt/c/Users下のユーザーパス)をマッピングします。この記述では、WSLがロシェル機能として悪用されることを示しています。

調査

分析は、WSL固有のアーティファクトを探し、ログインしたWindowsユーザー名を取得する機能、is_wsl()とget_wu()に注目しています。WSLが存在する場合、マルウェアはスキャン対象に/mntを追加することで収集範囲を広げ、マウントされたパスを通じてホストドライブを走査し、ユーザーディレクトリを列挙します。サンプルのSHA256ハッシュは公開されていませんが、ハンティングと相関のためにファイル名が提供されています。

緩和措置

本番環境エンドポイントでの異常なWSLの使用を監視し、wsl$シェアを介した不審な活動や、非予期のマウントされたホストボリュームへのアクセスを含めて監視します。WSLが不要な場合は無効化または制限し、WSL環境変数をクエリするスクリプトや/proc/versionを読み取るスクリプトを検出します。また、JavaScriptランタイムがcmd.exeをスパウンさせてホストプロファイリング中に%USERNAME%をエコーする状況も監視します。

対策

検出された場合、エンドポイントを隔離し、WSLマウントとアクセスされたファイルのフォレンジック証拠を保存し、完全なマルウェアスキャンを実行します。ottercookie-socketScript-module-3.jsと関連するペイロードを削除し、WSL設定が強化または無効化されていることを確認します。

"graph TB %% クラス定義 classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef data fill:#ccffcc %% アクション: WSL環境の確認 action_check_wsl["<b>アクション</b> – WSL環境の確認<br/><b>手法</b> – T1497.002: 仮想化/サンドボックス回避: ユーザー活動に基づく確認<br/><b>説明</b>: アドバサリはユーザー活動に基づいて仮想化またはサンドボックスのアーティファクトの有無を確認し、分析を回避します。"] class action_check_wsl action %% 手法ノード T1497.002 (必要に応じて、アクションテキスト内に表示) %% アクション: Windowsユーザー名の取得 action_retrieve_username["<b>アクション</b> – cmd.exeおよび/mnt/c/Usersを通じてWindowsユーザー名の取得<br/><b>手法</b> – T1056.004: 入力キャプチャ: クレデンシャルAPIフック<br/><b>説明</b>: アドバサリはWindows関連APIをフックすることでクレデンシャル入力を取得します。"] class action_retrieve_username action %% アクション: ブラウザデータパスの特定 action_locate_browser["<b>アクション</b> – ブラウザデータパスの特定<br/><b>手法</b> – T1555.003: パスワードストアからのクレデンシャル: ウェブブラウザからのクレデンシャル<br/><b>説明</b>: アドバサリは保存されたウェブクレデンシャルへのアクセスのため、一般的なブラウザディレクトリを検索します。"] class action_locate_browser action %% アクション: 優先ディレクトリに/mntマウントポイントを追加 action_add_mount["<b>アクション</b> – 優先ディレクトリに/mntマウントポイントを追加<br/><b>手法</b> – T1564.004: アーティファクトの隠蔽: NTFSファイル属性<br/><b>説明</b>: アドバサリはNTFS属性を利用してマウントポイントを隠し、悪意のある場所を優先します。"] class action_add_mount action %% アクション: マウントされたWindowsドライブからファイルを収集 action_collect_files["<b>アクション</b> – マウントされたWindowsドライブからファイルを収集<br/><b>手法</b> – T1025: リムーバルメディアからのデータ; T1091: リムーバルメディアを通じた複製<br/><b>説明</b>: アドバサリはリムーバブルメディアを通じたデータ収集と悪意のあるファイルの複製を行います。"] class action_collect_files action %% アクション: ブラウザストアからクレデンシャルを収集 action_harvest_credentials["<b>アクション</b> – ブラウザストアからクレデンシャルを収集<br/><b>手法</b> – T1555.003: パスワードストアからのクレデンシャル: ウェブブラウザからのクレデンシャル<br/><b>説明</b>: 保存されたパスワード、クッキーおよびセッショントークンをブラウザから抽出します。"] class action_harvest_credentials action %% アクション: 収集されたデータによる潜在的横移動 action_lateral_movement["<b>アクション</b> – 収集されたデータによる潜在的横移動<br/><b>説明</b>: 収集されたクレデンシャルとファイルを使用してネットワーク内を横移動します。"] class action_lateral_movement action %% 接続 action_check_wsl –>|leads_to| action_retrieve_username action_retrieve_username –>|leads_to| action_locate_browser action_check_wsl –>|enables| action_add_mount action_add_mount –>|enables| action_collect_files action_locate_browser –>|enables| action_harvest_credentials action_collect_files –>|enables| action_lateral_movement action_harvest_credentials –>|supports| action_lateral_movement "

攻撃フロー

シミュレーション実行

前提条件: テレメトリとベースラインの事前チェックが合格している必要があります。

根拠: このセクションは、検出ルールをトリガーするために設計された攻撃者手法(TTP)の正確な実行を詳細に示します。コマンドと記述は、識別されたTTPを直接反映し、検出ロジックによって予想される正確なテレメトリを生成することを目的とします。

  • 攻撃のシナリオ&コマンド:

    攻撃者は標的マシンに初期侵入を果たし、ログインユーザー名を列挙してペイロードを個別化しようとしています。アドバサリはネイティブなWindowsコマンドシェルを利用し echo %USERNAME% コマンドを実行し、環境変数を現在のユーザー名に展開します。この活動は、 cmd.exe のプロセス生成イベントを生成し、コマンドライン echo %USERNAME%が検出ルールのシグネチャに一致します。

  • 回帰テストスクリプト:

    # cmd.exeを使用してCryxosトロイの木馬がユーザー名を取得するシミュレーション
    $cmd = "cmd.exe"
    $args = "/c echo %USERNAME%"
    Write-Host "実行中: $cmd $args"
    Start-Process -FilePath $cmd -ArgumentList $args -NoNewWindow -Wait
  • クリーンアップコマンド:

    # 持続的なアーティファクトは残りません; すべての残っているcmd.exeインスタンスが終了されていることを確認します
    Get-Process -Name cmd -ErrorAction SilentlyContinue | Stop-Process -Force