# マイクロソフトWindowsシステムの脆弱性はWeb3のセキュリティリスクを引き起こす可能性があります先月、マイクロソフトが公開したセキュリティパッチには、悪用されているwin32k特権昇格の脆弱性が含まれています。この脆弱性は、初期のWindowsシステムバージョンにのみ存在するようで、Windows 11では発生しません。この種の脆弱性の悪用は長い歴史があります。現在、新しいセキュリティ緩和策が絶えず改善されている中で、攻撃者がこの脆弱性をどのように引き続き悪用する可能性があるかを分析したいと考えています。本稿の分析プロセスは、Windows Server 2016環境で完了しました。このゼロデイ脆弱性は公開されておらず修正もされていないため、悪用されても気付かれず、非常に破壊的です。この脆弱性を通じて、ハッカーは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)パッチの分析を通じて、オブジェクトの参照カウントが1回多く処理されている問題を発見しました。win32kは古いコードで、初期のソースコードのコメントには、以前のコードではウィンドウオブジェクトのみがロックされ、ウィンドウオブジェクト内のメニューオブジェクトはロックされていなかったことが示されています。これにより、メニューオブジェクトが誤って参照される可能性があります。! [Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります](https://img-cdn.gateio.im/social/moments-af93482f98ed83fd92288d62674084ac)概念実証(PoC)を実現する際に、私たちはxxxEnableMenuItem()に渡されるメニューが通常、上位関数でロックされていることを発見しました。どのメニューオブジェクトを保護すべきかは明確ではありませんでした。さらなる分析により、MenuItemState関数が返すメニューはウィンドウのメインメニューである可能性もあれば、サブメニューやさらにそのサブメニューである可能性もあることが分かりました。脆弱性を引き起こすために、特別な4層メニュー構造を構築し、xxxEnableMenuItem関数の検出を通過するために特定の条件を設定しました。xxxRedrawTitleがユーザー層を返すときに、メニューCとBの参照関係を削除し、メニューCを正常に解放しました。最終的に、xxxEnableMenuItem関数がxxxRedrawTitleに戻るとき、参照されているメニューCオブジェクトはすでに無効になっています。! [Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます](https://img-cdn.gateio.im/social/moments-171ea7cb7c6f7190c3f49a2b914eed04)脆弱性の悪用(Exp)を開発する際、主に2つのアプローチを考慮しました: shellcodeの実行と、読み書きプリミティブを利用してトークンアドレスを変更することです。実現可能性を考慮して、後者を選択しました。全体の悪用プロセスは2つのステップに分かれます: UAF脆弱性を利用してcbwndextraの値を制御する方法と、安定した読み書きプリミティブを実現する方法です。! [Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります](https://img-cdn.gateio.im/social/moments-66af34ab04bec21e27be99bbe29c552a)私たちは、ウィンドウクラスWNDClass内のウィンドウ名オブジェクトが解放されたメニューオブジェクトを占有するように、慎重にメモリレイアウトを設計します。xxxRedrawWindow関数内の特定の操作を通じて、最初のデータ書き込みを実現しました。! [Numen独占:Microsoftの0日の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます](https://img-cdn.gateio.im/social/moments-1cc94ddafacec491507491eef9195858)安定したメモリ配置を実現するために、私たちは連続した3つのHWNDオブジェクトを設計し、その中間の1つを解放してHWNDClassオブジェクトを占有します。前後のHWNDオブジェクトは、それぞれチェックサムを通じて読み書きプリミティブを実現するために使用されます。また、カーネルハンドルアドレスの漏洩を通じて、オブジェクトの配置が予想通りであるかどうかを正確に判断します。! [Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards at the System + Physical Level](https://img-cdn.gateio.im/social/moments-697c5814db02534f63b44c0d1d692f83)読み書きの原語の実装において、任意の読み取りにはGetMenuBarInfo()を使用し、任意の書き込みにはSetClassLongPtr()を使用します。TOKEN置換操作を除いて、他の書き込みは最初のウィンドウオブジェクトのクラスオブジェクトをオフセットを通じて利用して実現されます。! [Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックすることができます](https://img-cdn.gateio.im/social/moments-b0942592135ac96c6279544a62022329)win32kの脆弱性は古くから存在していますが、マイクロソフトはRustを使って関連するカーネルコードを再構築しようとしています。そのため、将来の新しいシステムではこのような脆弱性が排除される可能性があります。今回の脆弱性の利用プロセスは比較的簡単ですが、最初の書き込みを制御する方法が主な難点です。この脆弱性はデスクトップヒープハンドルのアドレス漏洩に大きく依存しており、これは依然として古いシステムのセキュリティリスクです。私たちは、この脆弱性の発見がより洗練されたコードカバレッジ検出のおかげである可能性があると推測しています。脆弱性の悪用検出に関しては、重要なポイントを監視するだけでなく、異常なメモリレイアウトやウィンドウデータの読み書きに対する特定の検出も、このような脆弱性の発見に役立つ可能性があります。! [Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards on the System + Physical Level](https://img-cdn.gateio.im/social/moments-b06b098af4f07260fdc03a75da160706)
Windowsシステムの脆弱性がWeb3資産の安全性を脅かし、秘密鍵が盗まれる恐れがある
マイクロソフトWindowsシステムの脆弱性はWeb3のセキュリティリスクを引き起こす可能性があります
先月、マイクロソフトが公開したセキュリティパッチには、悪用されているwin32k特権昇格の脆弱性が含まれています。この脆弱性は、初期のWindowsシステムバージョンにのみ存在するようで、Windows 11では発生しません。
この種の脆弱性の悪用は長い歴史があります。現在、新しいセキュリティ緩和策が絶えず改善されている中で、攻撃者がこの脆弱性をどのように引き続き悪用する可能性があるかを分析したいと考えています。本稿の分析プロセスは、Windows Server 2016環境で完了しました。
このゼロデイ脆弱性は公開されておらず修正もされていないため、悪用されても気付かれず、非常に破壊的です。この脆弱性を通じて、ハッカーはWindowsシステムの完全な制御を取得することができます。これにより、個人情報が盗まれたり、システムがクラッシュしたり、データが失われたり、財務的損失が発生したり、マルウェアが植え付けられたりする深刻な結果を招く可能性があります。Web3ユーザーにとって、秘密鍵が盗まれたり、デジタル資産が移転されたりする可能性があります。より広い視点から見ると、この脆弱性はWeb2インフラストラクチャに基づいて運用されている全体のWeb3エコシステムにも影響を与える可能性があります。
! Numen独占:Microsoft 0-day Vulnerability Can Knock Out Web3 Cards at the System + Physical Level
パッチの分析を通じて、オブジェクトの参照カウントが1回多く処理されている問題を発見しました。win32kは古いコードで、初期のソースコードのコメントには、以前のコードではウィンドウオブジェクトのみがロックされ、ウィンドウオブジェクト内のメニューオブジェクトはロックされていなかったことが示されています。これにより、メニューオブジェクトが誤って参照される可能性があります。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
概念実証(PoC)を実現する際に、私たちはxxxEnableMenuItem()に渡されるメニューが通常、上位関数でロックされていることを発見しました。どのメニューオブジェクトを保護すべきかは明確ではありませんでした。さらなる分析により、MenuItemState関数が返すメニューはウィンドウのメインメニューである可能性もあれば、サブメニューやさらにそのサブメニューである可能性もあることが分かりました。
脆弱性を引き起こすために、特別な4層メニュー構造を構築し、xxxEnableMenuItem関数の検出を通過するために特定の条件を設定しました。xxxRedrawTitleがユーザー層を返すときに、メニューCとBの参照関係を削除し、メニューCを正常に解放しました。最終的に、xxxEnableMenuItem関数がxxxRedrawTitleに戻るとき、参照されているメニューCオブジェクトはすでに無効になっています。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
脆弱性の悪用(Exp)を開発する際、主に2つのアプローチを考慮しました: shellcodeの実行と、読み書きプリミティブを利用してトークンアドレスを変更することです。実現可能性を考慮して、後者を選択しました。全体の悪用プロセスは2つのステップに分かれます: UAF脆弱性を利用してcbwndextraの値を制御する方法と、安定した読み書きプリミティブを実現する方法です。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
私たちは、ウィンドウクラスWNDClass内のウィンドウ名オブジェクトが解放されたメニューオブジェクトを占有するように、慎重にメモリレイアウトを設計します。xxxRedrawWindow関数内の特定の操作を通じて、最初のデータ書き込みを実現しました。
! Numen独占:Microsoftの0日の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
安定したメモリ配置を実現するために、私たちは連続した3つのHWNDオブジェクトを設計し、その中間の1つを解放してHWNDClassオブジェクトを占有します。前後のHWNDオブジェクトは、それぞれチェックサムを通じて読み書きプリミティブを実現するために使用されます。また、カーネルハンドルアドレスの漏洩を通じて、オブジェクトの配置が予想通りであるかどうかを正確に判断します。
! Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards at the System + Physical Level
読み書きの原語の実装において、任意の読み取りにはGetMenuBarInfo()を使用し、任意の書き込みにはSetClassLongPtr()を使用します。TOKEN置換操作を除いて、他の書き込みは最初のウィンドウオブジェクトのクラスオブジェクトをオフセットを通じて利用して実現されます。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックすることができます
win32kの脆弱性は古くから存在していますが、マイクロソフトはRustを使って関連するカーネルコードを再構築しようとしています。そのため、将来の新しいシステムではこのような脆弱性が排除される可能性があります。今回の脆弱性の利用プロセスは比較的簡単ですが、最初の書き込みを制御する方法が主な難点です。この脆弱性はデスクトップヒープハンドルのアドレス漏洩に大きく依存しており、これは依然として古いシステムのセキュリティリスクです。
私たちは、この脆弱性の発見がより洗練されたコードカバレッジ検出のおかげである可能性があると推測しています。脆弱性の悪用検出に関しては、重要なポイントを監視するだけでなく、異常なメモリレイアウトやウィンドウデータの読み書きに対する特定の検出も、このような脆弱性の発見に役立つ可能性があります。
! Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards on the System + Physical Level