
これは、Container Manager サービスにおける任意のディレクトリ作成バグの PoC です。
この PoC は十分にテストされていないため、ほとんどの場合機能しない可能性もあります(MSRC が脆弱性を確認するには十分でした)。
この脆弱性を悪用するには、Windows ホストに Windows Sandbox 機能がインストールされている必要があります。
Windows Sandbox 機能がインストールされると、c:\programdata ディレクトリに一連のディレクトリが作成されます。 そのディレクトリの 1 つが C:\ProgramData\Microsoft\Windows\Containers\BaseImages\<GUID>\BaseLayer です。 このディレクトリは特別で、認証されたユーザーにすべての子オブジェクトに対する変更権限をグループとして付与します。

BaseLayer ディレクトリが空であるか、その中の一部のディレクトリが削除されている場合、次回 Windows Sandbox が起動されると、プロセス cmimageworker.exe がシンボリックリンクをチェックせずにそれらのディレクトリ/ファイルを再作成し、認証されたユーザーがそれらを変更できるようにする DACL を設定します。

私はこの脆弱性を悪用して、c:\windows\system32 ディレクトリ内に緩い DACL を持つディレクトリ pwn を作成する PoC を作成しました。以下に示します:

攻撃者は、SxS アセンブリの読み込みを悪用して、SYSTEM 特権で実行されているプロセス内でコードを実行するために、この脆弱性を悪用する可能性があります。