先月、マイクロソフトのセキュリティパッチが、ハッカーによって悪用されているWindowsカーネルの特権昇格の脆弱性を修正しました。この脆弱性は主に初期のWindowsシステムバージョンに存在し、Windows 11では発生しません。この記事では、現在のセキュリティメカニズムが継続的に改善される中で、攻撃者がどのようにこの脆弱性を引き続き悪用する可能性があるかを分析します。私たちの分析環境はWindows Server 2016です。
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Windowsカーネル0day脆弱性の解析:Web3エコシステムの安全に影響を及ぼす可能性
マイクロソフトWindowsシステム0day脆弱性分析: システムの完全な制御権を取得可能
先月、マイクロソフトのセキュリティパッチが、ハッカーによって悪用されているWindowsカーネルの特権昇格の脆弱性を修正しました。この脆弱性は主に初期のWindowsシステムバージョンに存在し、Windows 11では発生しません。この記事では、現在のセキュリティメカニズムが継続的に改善される中で、攻撃者がどのようにこの脆弱性を引き続き悪用する可能性があるかを分析します。私たちの分析環境はWindows Server 2016です。
0day脆弱性とは、まだ発見され修正されていないソフトウェアの脆弱性を指します。一度ハッカーに発見され利用されると、深刻な被害をもたらす可能性があります。今回発見されたWindowsの0day脆弱性は、攻撃者がシステムの完全なコントロールを得ることを可能にし、個人情報の盗取、マルウェアの埋込、暗号通貨の盗難などを行うことができます。より広い範囲で見ると、この脆弱性はWeb2インフラストラクチャに基づく全体のWeb3エコシステムに影響を及ぼす可能性すらあります。
! Numen独占:Microsoft 0-day Vulnerability Can Knock Out Web3 Cards at the System + Physical Level
パッチ分析によると、問題はwin32kモジュール内のオブジェクト参照カウントの処理にあります。以前のソースコードのコメントによれば、以前のコードはウィンドウオブジェクトのみをロックしており、ウィンドウ内のメニューオブジェクトはロックされていなかったため、メニューオブジェクトが誤って参照される可能性があります。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
私たちは、脆弱性を引き起こすために特別な多層ネストメニュー構造を構築しました。重要なのは、xxxEnableMenuItem関数がユーザーレベルに戻るときに、特定のサブメニューの参照を削除し、それを解放することです。これにより、関数が再びカーネルモードに入ると、以前に参照されていたメニューオブジェクトは無効になります。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
脆弱性を利用する際に、主に2つのアプローチを考慮しました:シェルコードを実行することと、読み書き原語を利用してトークンを変更することです。高バージョンのWindowsのセキュリティメカニズムを考慮して、後者を選択しました。全体の利用プロセスは2つのステップに分かれています:まずcbwndextraの値を制御し、次に安定した読み書き原語を確立します。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
初めてデータを書き込むために、xxxRedrawWindow関数の中の1つの書き込みポイントを利用しました。メモリを慎重に配置することで、隣接するオブジェクトのメモリデータを制御できるため、関数内のフラグをチェックすることができます。
! Numen独占:Microsoftの0日の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
メモリ配置の面では、連続する3つのHWNDオブジェクトを設計し、中間の1つを解放してHWNDClassオブジェクトで占有します。前後の2つの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
この内容について短いコメントを生成してください:
またウォレットが爆発するの?