GoogleがWindows8.1のパッチが適用されていないセキュリティの脆弱性を明らかに
3分。 読んだ
上で公開
MSPoweruser の編集チームの維持にどのように貢献できるかについては、開示ページをお読みください。 続きを読む
Google の研究者が、Windows 8.1 にパッチが適用されていないセキュリティ上の脆弱性があることを明らかにしました。 Google の研究者はこのバグを Google Security Research ページに投稿しており、90 日間の公開期限が適用されます。 広く利用可能なパッチが適用されずに 90 日が経過すると、バグ レポートは自動的に公開されます。 Microsoft がバグを認めたのか、それとも取り組んでいるのかについての情報はありません。 しかし、毎日何百万人もの人々が使用している Windows 8 などの製品の脆弱性を公開する Google の無責任な動きだと思います。
バグについては、次の情報が投稿されました。
Windows 8.1 の更新では、システム コール NtApphelpCacheControl (コードは実際には ahcache.sys にあります) を使用すると、アプリケーションの互換性データをキャッシュして、新しいプロセスが作成されたときにすばやく再利用できます。 通常のユーザーはキャッシュを照会できますが、操作が管理者に制限されているため、キャッシュされた新しいエントリを追加することはできません。 これは、関数 AhcVerifyAdminContext でチェックされます。
この関数には、呼び出し元の偽装トークンを正しくチェックして、ユーザーが管理者であるかどうかを判断できないという脆弱性があります。 PsReferenceImpersonationToken を使用して呼び出し元の偽装トークンを読み取り、トークン内のユーザー SID と LocalSystem の SID を比較します。 トークンの偽装レベルはチェックされないため、ローカル システム プロセスからスレッドの識別トークンを取得し、このチェックをバイパスすることができます。 この目的のために、PoC は BITS サービスと COM を悪用して偽装トークンを取得しますが、おそらく他の方法もあるでしょう。
これは、脆弱性を悪用する方法を見つけるためのケースです。 PoC では、UAC の自動昇格実行可能ファイル (ComputerDefaults.exe など) のキャッシュ エントリが作成され、regsvr32 の app compat エントリを指すようにキャッシュが設定されます。 ただし、任意の実行可能ファイルを使用できますが、トリックは、悪用するのに適した既存のアプリ互換構成を見つけることです。
更新用のコード パスに TCB 特権チェックがあるため、Windows 7 が脆弱かどうかは不明です (ただし、フラグによっては、これをバイパスできるように見えます)。 Windows 7 での検証は行われていません。 注: これは UAC のバグではなく、デモンストレーション目的で UAC の自動昇格を使用しているだけです。
PoC は、8.1 ビット バージョンと 32 ビット バージョンの両方の Windows 64 アップデートでテストされています。 念のため、32ビットで実行することをお勧めします。 確認するには、次の手順を実行します。
1) AppCompatCache.exe と Testdll.dll をディスクに配置します。
2) UAC が有効になっていること、現在のユーザーが分割トークン管理者であること、および UAC 設定がデフォルト (特定の実行可能ファイルに対してプロンプトを表示しない) であることを確認します。
3) コマンド ラインから「AppCompatCache.exe c:windowssystem32ComputerDefaults.exe testdll.dll」を実行して、AppCompatCache を実行します。
4) 成功した場合、電卓は管理者として実行されているように見えるはずです。 初めて機能しない場合 (ComputerDefaults プログラムを取得した場合) 3 からエクスプロイトを再実行すると、最初の実行時にキャッシング/タイミングの問題が発生することがあるようです。