コンテンツに移動
脅威インテリジェンス

KnowledgeDeliver の侵害: ViewState デシリアライゼーション脆弱性の悪用

2026年5月25日
Mandiant

Mandiant Services

Stop attacks, reduce risk, and advance your security.

Contact Mandiant

著者: 杉山 貴裕、Peter Revelant, Mathew Potaczek


はじめに

2025 年終わりに、Mandiant は KnowledgeDeliver が稼働するウェブサーバーの侵害への対応を行いました。KnowledgeDeliver は株式会社デジタル・ナレッジが開発する学習管理システム (LMS) で、広く日本で使用されています。調査の結果、認証なしリモートコード実行 (RCE) を可能にする深刻な脆弱性が特定されました。攻撃者はこのアクセスを悪用して LMS プラットフォームに悪意のあるコードを挿入し、サイトを訪問したユーザーをマルウェアに感染させました。

この脆弱性は、複数の顧客環境において共通の ASP.NET マシンキーの使用がされていた設定上の不備に起因しています。この脆弱性はゼロデイ脆弱性として悪用されていることが確認されており、現在は CVE-2026-5426 として登録されています。

脆弱性

2026 年 2 月 24 日より前に導入された KnowledgeDeliver では、ベンダーが標準化された web.config ファイルを使用していました。この設定ファイルには ASP.NET フレームワークが使用する machineKey がハードコードされていました。これらの鍵は ViewState ペイロードを含むデータの暗号化および署名のために使用されます。

これらの鍵が顧客環境間で同一であったため、ある環境から鍵を入手した攻撃者は、インターネットに公開されている他のあらゆる KnowledgeDeliver インスタンスを侵害することが可能でした。

以下は、web.config ファイルに見られる該当の設定行の例です。

読み込んでいます...

ASP.NET ViewState は、リクエストをまたいでページの状態を保持するための機構です。machineKey が既知である場合、攻撃者は悪意のある ViewState ペイロードを作成することができます。このペイロードを HTTP リクエスト (__VIEWSTATE パラメーター経由) で送信することで、サーバーにペイロードをデシリアライズさせることができます。

この手法は、以前に Sitecore 社製品に関連して Mandiant が報告した ViewState デシリアライゼーションのゼロデイ脆弱性、および Microsoft 社が報告した Code injection attacks using publicly disclosed ASP.NET machine keys と同様のものです。これの報告はマシンキーを使い回さず、安全に保管することの重要性を示しています。

侵害後の活動

攻撃者はアクセスを得た後、自身のプレゼンスの維持と、侵害の拡大に取り組みました。

BLUEBEAM ウェブシェルの展開

攻撃者は .NET ベースのイメモリ ウェブシェルである BLUEBEAM (別名: Godzilla) を展開しました。BLUEBEAM の使用は Microsoft 社の報告と一致しています。このマルウェアは、IIS のワーカープロセス (w3wp.exe) のメモリ内で動作するため、従来のファイルベースのスキャンによる検知が困難です。これにより、攻撃者は HTTP POST リクエストボディを用いて暗号化されたデータを送信することで、さらなるコマンドやペイロードを実行できます。

ファイルの改ざん

攻撃者はウェブサーバーのファイルシステムに対してさらなるコマンドを実行しました。

  1. 権限の変更: 攻撃者は icacls コマンドを使用して、すべてのユーザー (Everyone) に対してウェブアプリケーションディレクトリへのフルアクセスを付与しました。

  2. JavaScript の改ざん: 攻撃者はアプリケーションの JavaScript ファイルを改ざんし、以下のコードを追加しました。

    • 偽のセキュリティアラートを表示し、ユーザーに「セキュリティ認証プラグイン」をインストールするよう促す

    • 攻撃者が制御するリモートドメインから悪意のあるスクリプトをロードする

Cobalt Strike への感染

リモートスクリプトは、訪問したユーザーに偽のインストーラーをダウンロードさせ、結果としてワークステーションを Cobalt Strike BEACON バックドアに感染させました。ペイロードは侵害された組織の名前を暗号鍵として使用しており、これは攻撃者が標的組織のためのペイロードを準備したことを示していました。

脅威ハンティング

ViewState の悪用および侵害後の活動を特定するために、以下のインジケーターを確認・監視することを推奨します。

1. アプリケーションイベントログ (イベント ID 1316)

Windows のアプリケーションログが検知において重要な役割を果たします。ソース ASP.NET 4.0.30319.0 (または類似のもの) のイベントID 1316 を監視してください。

  • 失敗した試行 (整合性チェックの失敗): Event code: 4009-++-Viewstate 検証に失敗しました。 原因: 指定された viewstate で整合性チェックに失敗しました。 これは正しくない鍵を使用した攻撃の試行を示している可能性があります。

  • 成功した実行 (無効な ViewState): Event code: 4009-++-Viewstate 検証に失敗しました。 原因: viewstate が無効です。 これは整合性チェックに成功したことを示しています。ペイロードのデシリアライゼーションとペイロードの実行が試行され、成功した可能性があります。

Mandiant はイベントログメッセージに記録されたペイロード文字列をサーバーに設定された鍵で復号し、BLUEBEAM ウェブシェルに関係するペイロードを復元しました。

2. 不審なプロセス

w3wp.exe から生成された異常な子プロセスを監視してください。観測されたコマンドとして以下が挙げられます。

  • cmd.exe /c ...

  • whoami

  • powershell.exe

3. ファイル整合性の監視

ウェブのルートディレクトリ内における .js, .aspx, また .config といったファイルに対する変更を監視してください。特に、共通ライブラリのようなファイルにおける、リモートスクリプトローダーの追加や異常なロジックに注意してください。

4. 異常な User-Agent 文字列

Mandiant は、2 つの異なる User-Agent 文字列が結合されたような異常な User-Agent 文字列を観測しました。これらは、ViewState デシリアライゼーションのゼロデイ脆弱性で報告されたものと同様のものでした。ウェブのリクエストログにおいて、このような異常な User-Agent 文字列を監視してください。以下に観測された User-Agent 文字列の例を示します。

  • Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36

  • Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101213 Opera/9.80 (Windows NT 6.1; U; zh-tw) Presto/2.7.62 Version/11.01 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36

  • Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) chromeframe/10.0.648.205 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36

対応・緩和策

  • マシンキーの変更: KnowledgeDeliver の各インスタンスに対して、固有のマシンキーを生成してください。これが共有シークレットを無効化する唯一の方法です。

  • アクセス制限: 可能であれば、システムへのアクセスを組織の IP アドレス範囲に制限してください。

  • 調査: 脅威ハンティングを行い、悪用の兆候が特定された場合には詳細な調査を実施してください。

結論

KnowledgeDeliver の悪用は、導入テンプレートにおける共有シークレットの使用が深刻なリスクを招くことを浮き彫りにしました。漏洩した 1 つの鍵が、異なる環境の侵害につながる可能性があります。固有のシークレットと堅牢なエンドポイント監視がこれらの攻撃に対する防御に役立ちます。

侵害インジケーター (IOC)

このブログ投稿で概要を説明した活動を捕捉および特定するために、セキュリティ コミュニティを支援する目的で、登録ユーザー向けに IOC を無料の GTI コレクションに加えました。

File Name

SHA-256

Type

LoadLibrary.dll

7c1f99dca8e5a7897892f9d224a6495023a2cfd2671697d229d355978c415ed2

BLUEBEAM

Google Security Operations (SecOps)

Google Security Operations (SecOps) を導入している組織では、以下の SecOps サーチクエリを脅威ハンティングのために利用可能です。

(metadata.log_type = "WINEVTLOG" or metadata.log_type = "WINEVTLOG_XML") 
metadata.product_event_type = "1316"
additional.fields["Message"] = /Event code: 4009\b/ nocase
(metadata.event_type = "PROCESS_LAUNCH" or metadata.event_type = "PROCESS_OPEN") AND
principal.process.command_line = /w3wp.exe/ nocase AND
target.process.command_line = /cmd.+ \/c |whoami|powershell/ nocase

Google SecOps を導入している組織では、Mandiant Hunting Rules と Mandiant Frontline Threats ルールパックから以下のルールを利用可能です。

  • ASP.NET ViewState Deserialization Attempt

  • W3wp Launching Cmd With Recon Commands

  • W3wp Launching Encoded Powershell

  • W3wp Launching Icacls

  • Web Server Process Launching Whoami

  • IIS ViewState Exploitation Success

  • IIS ViewState Exploitation Followed by Web Root File Tampering

  • Sensitive IIS Configuration File Access

  • Possible Windows Exchange Server Spawning Shell

謝辞

本開示に関するご協力に対し、株式会社デジタル・ナレッジの関係者の皆様に感謝の意を表します。

投稿先