今回の分析はWindows Server 2016システムに基づいて行われています。これは公開されていないゼロデイ脆弱性であり、ハッカーがWindowsシステムを完全に制御できるようになります。一度システムが制御されると、結果として個人情報の漏洩、システムのクラッシュ、データの喪失、財務的損失などが考えられます。Web3ユーザーにとっては、秘密鍵が盗まれ、デジタル資産が移転される可能性があります。より広い範囲で見ると、この脆弱性はWeb2インフラストラクチャに基づいて運営されるWeb3エコシステム全体に影響を与える可能性さえあります。
Windowsの脆弱性がWeb3のセキュリティを脅かす: ハッカーがシステムを制御して秘密鍵を盗むことができる
マイクロソフトWindowsシステムの深刻な脆弱性分析:Web3のセキュリティに重大なリスクをもたらす可能性
先月、マイクロソフトのセキュリティパッチで、ハッカーに悪用されているWindowsシステムの特権昇格の脆弱性が修正されました。この脆弱性は主に初期の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
パッチを分析することで、問題はオブジェクトの参照カウントの処理にあることがわかりました。初期のソースコードのコメントは、以前のコードがウィンドウオブジェクトのみをロックし、ウィンドウ内のメニューオブジェクトをロックしていなかったことを示しており、それがメニューオブジェクトが誤って参照される可能性を引き起こしていました。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
この脆弱性を再現するために、特別な多層ネストメニュー構造を構築し、各メニューに特定の属性を設定してシステムの関連チェックを通過しました。重要なのは、ユーザー層に戻る際にメニュー間の参照関係を削除し、ターゲットメニューオブジェクトを正常に解放することです。こうすることで、カーネル関数が再度そのメニューを参照すると、無効なオブジェクトにアクセスすることになります。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
実際の利用において、私たちは主に二つの方案を考慮しました: shellcodeの実行と、読み書き原語を利用してtokenのアドレスを変更することです。高バージョンのWindowsのセキュリティメカニズムを考慮して、私たちは後者を選択しました。全体の利用プロセスは二つのステップに分けることができます: まずUAF脆弱性を利用してcbwndextraの値を制御し、その後これを基に安定した読み書き原語を構築します。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
安定したメモリレイアウトを実現するために、連続した3つのHWNDオブジェクトの構造を設計し、中間オブジェクトを解放してHWNDClassオブジェクトを占有します。前後のHWNDオブジェクトは、システムチェックを通じて使用され、最終的な読み書きメディアとして機能します。また、漏洩したカーネルハンドルアドレスを通じて、オブジェクトの配置が期待通りであるかを正確に判断します。
! Numen独占:Microsoftの0日の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
読書原語に関しては、GetMenuBarInfo()を使用して任意の読み取りを行い、SetClassLongPtr()を使用して任意の書き込みを行います。TOKEN置換操作を除いて、他の書き込み操作は最初のウィンドウオブジェクトのクラスオブジェクトを利用して行われます。
! Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards at the System + Physical Level
全体として、マイクロソフトが安全性を高めるためにRustを使用して関連するカーネルコードを再構築しているにもかかわらず、既存のシステムに対しては、このような脆弱性が依然として深刻な脅威をもたらしています。脆弱性の悪用プロセスは比較的簡単で、主にデスクトップヒープハンドルアドレスの漏洩に依存しています。今後、異常なメモリレイアウトやウィンドウ操作の検出が、同様の脆弱性を発見するのに役立つ可能性があります。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックすることができます
! Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards on the System + Physical Level