Microsoft 警告:ViewState と ASP.NET マシン・キーを悪用するマルウェアを検出

Microsoft says attackers use exposed ASP.NET keys to deploy malware

2025/02/06 BleepingComputer — Microsoft が発したのは、オンラインで発見された静的な ASP. NET マシン・キーを悪用する攻撃者が、ViewState コード・インジェクション攻撃により、マルウェアを展開しているという警告である。

先日に Microsoft Threat Intelligence の専門家たちが発見したのは、コード・ドキュメントやリポジトリ・プラットフォームに存在し、ViewState を改竄や情報漏洩から保護するために設計された ASP.NET の validationKey/ decryptionKey キー を、一部の開発者が独自のソフトウェアで使用しているという状況だ。

ViewState を使用すると、ASP.NET Web フォームは状態を制御し、ページの再読み込みとは無関係に、ユーザー入力を保持できるようになる。その一方で、改竄や情報漏洩からの保護のために設計されたマシン・キーを、攻撃者が入手した場合には、細工された MAC (message authentication code) を添付して、悪意のあるペイロードを作成し、コード・インジェクション攻撃で悪用できるようになる。

さらに脅威アクターは、公開されているソースのマシン キーをコード・インジェクション攻撃で悪用し、細工された MAC を添付することで、悪意の ViewState も作成できる。それにより、ASP.NET Web フォームが状態を制御し、悪意のページが保持される。

その後に、POST リクエスト経由で送信された ViewStates をロードする際に、標的サーバ上の ASP.NET ランタイムは、攻撃者が悪意を持って作成した ViewState データを、正しいキーを使用して復号化/検証し、ワーカー ・プロセス・メモリにロードして実行してしまう。

この攻撃チェーンにより攻撃者は、標的の IIS Web サーバでリモート・コード実行 (RCE) を達成し、その後に追加される悪意のペイロードも展開できるようになる。

2024年12月には、身元不明の攻撃者が、公開されているマシン・キーを悪用するという事例が発見されている。そのインシデントでは、悪意のコマンド実行とシェルコード・インジェクション機能を備えた、Godzilla ポスト・エクスプロイト フレームワークが、標的である IIS Web サーバに配信されていた。

ViewState code injection attack chain
ViewState code injection attack chain (Microsoft)

2025年2月6日 (木) に Microsoft は、「その後に、ViewState コード・インジェクションと呼ばれる、この種の攻撃で悪用が可能な、3,000 個以上の公開されているキーを特定した」と発表した

同社は、「これまで知られていた、ViewState コード・インジェクション攻撃の多くは、ダークウェブ・フォーラムなどで販売される、侵害されたキーや窃取されたキーを悪用していた。これらの公開されたキーは、複数のコード・リポジトリで利用が可能であり、変更を必要とすることなく、開発コード内にプッシュされる可能性があるため、リスクが高まっている」と指摘している。

このような攻撃をブロックするために、Microsoft が開発者たちに強く推奨するのは、マシン・キーを安全に生成し、既定のキーやオンラインで見つかったキーを使用しないことである。さらに、machineKey 要素と connectionStrings 要素を暗号化して、プレーン・テキストのシークレットへのアクセスをブロックすることや、ASP.NET 4.8 へとアプリをアップグレードして AMSI (Antimalware Scan Interface) 機能を有効化すること、そして、サーバの Webshel​​l 作成のブロックといった、攻撃対象領域の削減ルールを用いて Windows サーバを強化することなども推奨されている。

それに加えて Microsoft は、PowerShell または IIS Manager Console を使用して、web.config コンフィグ・ファイル内の ASP.NET キーを、削除/置換するための詳細な手順を共有している。また、今回の安全が確保されない方法を阻止するために、公開ドキュメントからキー・サンプルを削除した。

Microsoft は、「公開されたキーの悪用が成功したケースにおいては、悪用後に確立されたバックドアや永続化に対して、マシン・キーのローテーションでは対処できないため、追加の調査が必要になる可能性がある。特に、Web に露出するサーバのケースでは、公開キーが特定されてしまうと、悪用される可能性が高いため、徹底的な調査が必要となる。また、オフライン・メディアを用いた、再フォーマットと再インストールを検討する必要もある」と警告している。

ASP.NET の machineKey を悪用し、マルウェアを展開する攻撃者が観測されたとのことです。ご利用のチームは、ご注意ください。ViewState について、Wikipedia で調べたところ、「ASP.NET アプリケーションが生成する HTML ページが、Web フォーム・コントロールやウィジェットの状態を維持するために使用する、ページレベルの状態管理メカニズムである」と解説されていました。よろしければ、カテゴリ NHI と、ASP.NET で検索 も、ご参照下さい。