# マイクロソフトWindowsシステム0day脆弱性分析:Web3エコシステムに重大な影響を与える可能性先月のMicrosoftのセキュリティパッチには、悪用される可能性のあるwin32k特権昇格の脆弱性が含まれていました。この脆弱性は、Windows 11システムバージョンでは発生しないようで、初期のシステムにのみ存在します。本稿では、現在の新しい緩和策が改善され続ける背景の中で、攻撃者がこの脆弱性をどのように利用し続ける可能性があるかを分析します。分析プロセスはWindows Server 2016環境で完了しました。0day脆弱性は、公開されておらず修正されていない脆弱性を指し、攻撃者が未察知の状態で悪意を持って利用できるもので、しばしば非常に破壊的な影響を持ちます。今回発見された0day脆弱性はWindowsシステムのレベルに存在し、ハッカーはこの脆弱性を通じてWindowsの完全な制御権を取得できます。これにより、個人情報の盗難、システムクラッシュによるデータ損失、財務的損失、マルウェアの植え付けなどの結果を招く可能性があります。Web3の観点からは、ユーザーの秘密鍵が盗まれ、デジタル資産が移転される可能性があります。より広範囲にわたって、この脆弱性はWeb2インフラストラクチャに基づいて運営される全体のWeb3エコシステムに影響を与える可能性すらあります。! [Numen独占:Microsoft 0-day Vulnerability Can Knock Out Web3 Cards at the System + Physical Level](https://img-cdn.gateio.im/social/moments-11434ba86c20e2bce85872a19c94efb4)分析パッチの発見によると、問題はオブジェクトの参照カウントが多く処理されてしまったことにあります。以前のソースコードのコメントから見ると、以前のコードはウィンドウオブジェクトだけをロックしており、ウィンドウオブジェクト内のメニューオブジェクトをロックしていなかったため、ここでメニューオブジェクトが誤って参照される可能性があります。! [Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります](https://img-cdn.gateio.im/social/moments-af93482f98ed83fd92288d62674084ac)脆弱性を検証するために、概念実証(PoC)を実装しました。特別な多層ネストメニューを構築することで、xxxEnableMenuItem関数内で脆弱性を引き起こすことができます。重要なのは、適切なタイミングでメニューCとメニューBの参照関係を削除し、メニューCオブジェクトを正常に解放することです。これにより、xxxEnableMenuItem関数が返されるときには、参照されるメニューCオブジェクトはすでに無効になっています。! [Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます](https://img-cdn.gateio.im/social/moments-171ea7cb7c6f7190c3f49a2b914eed04)脆弱性のエクスプロイト(Exp)を実現する際、主に2つのアプローチを考慮しました: シェルコードを実行する方法と、読み書き原語を利用してトークンアドレスを変更する方法です。最終的には後者を選びました。この方法は、最近2年間で公開されたエクスプロイトが参考にできるからです。エクスプロイトプロセスは2つのステップに分かれています: 最初にUAF脆弱性を利用してcbwndextraの値を制御し、その後、安定した読み書き原語を確立します。! [Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります](https://img-cdn.gateio.im/social/moments-66af34ab04bec21e27be99bbe29c552a)慎重に設計されたメモリレイアウトを通じて、ターゲットオブジェクトに対する正確な制御を実現できます。GetMenuBarInfo()とSetClassLongPtr()関数を利用して、それぞれ任意の読み取りおよび任意の書き込みプリミティブを実現します。TOKENの書き込み操作が第二ウィンドウのクラスオブジェクトに依存しているのを除き、他のすべての書き込みは最初のウィンドウオブジェクトのクラスオブジェクトを使用してオフセットを利用して書き込みます。! [Numen独占:Microsoftの0日の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます](https://img-cdn.gateio.im/social/moments-1cc94ddafacec491507491eef9195858)! [Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards at the System + Physical Level](https://img-cdn.gateio.im/social/moments-697c5814db02534f63b44c0d1d692f83)総じて、win32kの脆弱性は古くから存在していますが、マイクロソフトはRustを使用してその部分のカーネルコードを再構築しようとしています。将来的な新しいシステムではこのような脆弱性は排除される可能性があります。現在、この種の脆弱性の悪用プロセスは基本的にそれほど難しくなく、主にデスクトップヒープハンドルアドレスの漏洩に依存しています。古いシステムにとっては、これは依然として安全でないリスクです。! [Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックすることができます](https://img-cdn.gateio.im/social/moments-b0942592135ac96c6279544a62022329)脆弱性の発見の観点から、より完全なコードカバレッジ検出がこの種の脆弱性の発見に役立つ可能性があります。脆弱性の悪用検出に関しては、脆弱性を引き起こす関数の重要なポイントに焦点を当てるだけでなく、メモリ配置の異常やウィンドウクラスの追加データの異常オフセットの読み書きに対して特定の検出を行うべきです。これは同様の種類の脆弱性を発見するための有効な方法の一つかもしれません。! [Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards on the System + Physical Level](https://img-cdn.gateio.im/social/moments-b06b098af4f07260fdc03a75da160706)
Windows 0day脆弱性がWeb3の安全性を脅かし、秘密鍵の盗取リスクが上昇しています。
マイクロソフトWindowsシステム0day脆弱性分析:Web3エコシステムに重大な影響を与える可能性
先月のMicrosoftのセキュリティパッチには、悪用される可能性のあるwin32k特権昇格の脆弱性が含まれていました。この脆弱性は、Windows 11システムバージョンでは発生しないようで、初期のシステムにのみ存在します。本稿では、現在の新しい緩和策が改善され続ける背景の中で、攻撃者がこの脆弱性をどのように利用し続ける可能性があるかを分析します。分析プロセスはWindows Server 2016環境で完了しました。
0day脆弱性は、公開されておらず修正されていない脆弱性を指し、攻撃者が未察知の状態で悪意を持って利用できるもので、しばしば非常に破壊的な影響を持ちます。今回発見された0day脆弱性はWindowsシステムのレベルに存在し、ハッカーはこの脆弱性を通じてWindowsの完全な制御権を取得できます。これにより、個人情報の盗難、システムクラッシュによるデータ損失、財務的損失、マルウェアの植え付けなどの結果を招く可能性があります。Web3の観点からは、ユーザーの秘密鍵が盗まれ、デジタル資産が移転される可能性があります。より広範囲にわたって、この脆弱性はWeb2インフラストラクチャに基づいて運営される全体のWeb3エコシステムに影響を与える可能性すらあります。
! Numen独占:Microsoft 0-day Vulnerability Can Knock Out Web3 Cards at the System + Physical Level
分析パッチの発見によると、問題はオブジェクトの参照カウントが多く処理されてしまったことにあります。以前のソースコードのコメントから見ると、以前のコードはウィンドウオブジェクトだけをロックしており、ウィンドウオブジェクト内のメニューオブジェクトをロックしていなかったため、ここでメニューオブジェクトが誤って参照される可能性があります。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
脆弱性を検証するために、概念実証(PoC)を実装しました。特別な多層ネストメニューを構築することで、xxxEnableMenuItem関数内で脆弱性を引き起こすことができます。重要なのは、適切なタイミングでメニューCとメニューBの参照関係を削除し、メニューCオブジェクトを正常に解放することです。これにより、xxxEnableMenuItem関数が返されるときには、参照されるメニューCオブジェクトはすでに無効になっています。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
脆弱性のエクスプロイト(Exp)を実現する際、主に2つのアプローチを考慮しました: シェルコードを実行する方法と、読み書き原語を利用してトークンアドレスを変更する方法です。最終的には後者を選びました。この方法は、最近2年間で公開されたエクスプロイトが参考にできるからです。エクスプロイトプロセスは2つのステップに分かれています: 最初にUAF脆弱性を利用してcbwndextraの値を制御し、その後、安定した読み書き原語を確立します。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
慎重に設計されたメモリレイアウトを通じて、ターゲットオブジェクトに対する正確な制御を実現できます。GetMenuBarInfo()とSetClassLongPtr()関数を利用して、それぞれ任意の読み取りおよび任意の書き込みプリミティブを実現します。TOKENの書き込み操作が第二ウィンドウのクラスオブジェクトに依存しているのを除き、他のすべての書き込みは最初のウィンドウオブジェクトのクラスオブジェクトを使用してオフセットを利用して書き込みます。
! Numen独占:Microsoftの0日の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
! Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards at the System + Physical Level
総じて、win32kの脆弱性は古くから存在していますが、マイクロソフトはRustを使用してその部分のカーネルコードを再構築しようとしています。将来的な新しいシステムではこのような脆弱性は排除される可能性があります。現在、この種の脆弱性の悪用プロセスは基本的にそれほど難しくなく、主にデスクトップヒープハンドルアドレスの漏洩に依存しています。古いシステムにとっては、これは依然として安全でないリスクです。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックすることができます
脆弱性の発見の観点から、より完全なコードカバレッジ検出がこの種の脆弱性の発見に役立つ可能性があります。脆弱性の悪用検出に関しては、脆弱性を引き起こす関数の重要なポイントに焦点を当てるだけでなく、メモリ配置の異常やウィンドウクラスの追加データの異常オフセットの読み書きに対して特定の検出を行うべきです。これは同様の種類の脆弱性を発見するための有効な方法の一つかもしれません。
! Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards on the System + Physical Level