SOC Prime Bias: 重大

17 Jul 2026 09:01 UTC

SharpViewStateKingとステルスインプラントフレームワークの解剖

Author Photo
SOC Prime Team linkedin icon フォローする
SharpViewStateKingとステルスインプラントフレームワークの解剖
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

カナダのサイバーセキュリティセンターは、SharpViewStateKingをASP.NET環境を密かに標的にするために構築されたモジュラーインプラントフレームワークとして特定しました。このフレームワークは、ViewStateパラメータの不正利用により、プラグインを完全にメモリ内で実行し、実質的なステートレス動作を可能にして、従来のファイルベースの検出を回避します。その暗号化されたHTTPおよびHTTPSトラフィックは、正当なWeb通信に溶け込むのに役立ちます。

調査

調査は、公開されているMicrosoft IISサーバーでウェブシェルが発見された後に始まりました。エンドポイントのテレメトリとプロセスメモリの調査により、インプラントがファイルアップロード、リモートコマンド実行、ホスト偵察などのアクションを実行するために動的に生成されたC#プラグインを使用していることが示されました。研究者はAssemblylineプラットフォームを使用してC#バイトコードをデコンパイルし、フレームワークの内部ロジックを露出させました。

緩和策

防御者は、影響を受ける可能性のあるホストを再構築し、ASP.NETアプリケーションに関連する暗号化および検証キーを交換するべきです。報告書で言及されているSharePointに影響を与えるものを含む関連する脆弱性の修正も重要です。IISにより起動された子プロセスのモニタリング w3wp.exe ワーカープロセスにより、インプラントに関連した不正な活動を発見するのに役立ちます。

対応策

SharpViewStateKingの活動が確認された場合、組織は、ツールの展開やSoftEther VPNの使用など、新しいアカウントの作成を含む横方向の移動の兆候をEDRおよびNDRのテレメトリで確認する必要があります。侵害されたシステムに関連付けられたすべてのパスワードと認証情報は漏洩したと見なされ、すぐに回転されるべきです。セキュリティチームは、Microsoft Defenderの除外が無許可で変更されたかどうかも確認するべきです。

攻撃フロー

シミュレーション実行

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

根拠:このセクションは、検出ルールをトリガーするために設計された敵の手法(TTP)の正確な実行を詳細に説明します。コマンドと記述は、TTPsを直接反映し、検出ロジックが期待する正確なテレメトリを生成することを目的とする必要があります。抽象的または無関係な例は誤診につながります。

  • 攻撃の流れとコマンド: 敵は脆弱なASP.NETアプリケーションを特定し、SharpViewStateKingフレームワークを展開して持続性を維持し、セッションデータを傍受しようとしています。これを行うために、攻撃者はHTTP要求の一連を送信し、それを利用します。 __VIEWSTATE and __SCROLLPATH パラメータを使用してエクスプロイトペイロードを配信します。これらの特定のパラメータを使用することにより、攻撃者は標準のASP.NETトラフィックに溶け込もうとし、従来のウェブシェルパスのみを探すシグネチャベースの検出を回避しようとしています。

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

    # SharpViewStateKing検出ルールをトリガーするシミュレーションスクリプト
    $targetUri = "http://localhost/Login.aspx"
    
    # ペイロード1:__VIEWSTATEパラメータの検出テスト
    Write-Host "[*] __VIEWSTATEでのエクスプロイト試行をシミュレートしています..."
    $payload1 = "__VIEWSTATE=MZ................[Simulated_Malicious_Payload]"
    Invoke-WebRequest -Uri "$targetUri?$payload1" -Method Get
    
    # ペイロード2:__SCROLLPATHパラメータの検出テスト
    Write-Host "[*] __SCROLLPATHでのエクスプロイト試行をシミュレートしています..."
    $payload2 = "__SCROLLPATH=/etc/passwd"
    Invoke-WebRequest -Uri "$targetUri?$payload2" -Method Get
    
    Write-Host "[+] シミュレーション完了。SIEMを確認して警告をチェックしてください。"
  • クリーンアップコマンド:

    # ステートレスなHTTP GETリクエストであるため、特定のクリーンアップは必要ありません。
    # ただし、実際の攻撃中にファイルがドロップされた場合は、それらを削除する必要があります。
    Write-Host "[*] シミュレーションクリーンアップ:持続的なアーティファクトは作成されていません。"