Windowsの脆弱性(CVE-2021-36934)の検証①

セキュリティ

今回は以下のニュースで出ていたWindowsの脆弱性の検証を行います。

「Windows」に権限昇格のゼロデイ脆弱性 – MSが詳細を調査

なお、内容については悪用を促すものではなく、あくまで個人的な実施です。

また、結果についても私の環境での結果になりますので、全部が全部同じようになるわけではないとのことを予めご了承ください。

準備

今回はWindowsで実施するので、特に新たにVMは構築したりしていません。

ただ、脆弱性で必要になるVSS(Volume Shadow Copy Service)というものが必要です。

これば私の環境ではデフォルトは無効になっており、有効にする必要がありました。

こちらとかこちらを参考に有効にしました。

これで準備は完了です!Windowsは楽でいいですね!

脆弱性の検証

まずは「CVE-2021-36934」がどういった脆弱性であるかを見てみましょう

管理者権限を持たないユーザーが、システムファイルである「Security Accounts Manager(sam)」「system」「security」を参照できる脆弱性「CVE-2021-36934」が判明したもの。脆弱性を悪用すると「SYSTEM権限」で任意のコードが実行可能となる。
参考:https://www.security-next.com/128345

となっています。

参考にMBSDというセキュリティ業界でも有名な方々が多く所属されている企業のブログを見てみましょう!

上記でSAMファイルについて記載があります。

SAMファイルはSystemによって開かれているため、ファイル自体がロックされアクセスできませんでした。SAMレジストリはアクセス許可されていないため、同様にアクセスできませんでした。ローカル管理者権限を有するAdministratorでもSAMファイルやレジストリにアクセスできませんでした。
参考:パスワードってどこにあるの?その1

と記載があります。

実際に確認すると、ローカル管理者権限で実行しているコマンドプロンプトやPowerShellでもアクセスすることができませんでした。

このファイルをデフォルトのままで取得できるようなので、なかなか使いやすそうな脆弱性だなと思いました。

Twitterでも以下のような投稿がありました。

https://twitter.com/gentilkiwi/status/1417467063883476992

じゃあ実際にやってみましょう!

脆弱性の検証

通常は参照等ができないファイルをVSSのShadowCopyを経由することでアクセスできたりするようです。

VSSはよくある「あのファイル消しちゃった!」とかあった際に少し前の状態に復帰させるためにある仕組みです。

VMとか使ったことないとイメージ湧かないと思いますが、スナップショットのように使用することができます。
※詳しい人がいると斧が飛んできそうなので、ここまで

なので、Windowsの深いところまで管理しているはずです。

よってVSS経由から管理者アカウントでも参照することができないファイルの操作を行うという形になります。

言われてみる確かに狙えそうだなと思いますが、盲点でしたね。

ただ、結論から申し上げると、管理者権限を持ったアカウントであればSAMファイル等を取得することができました。

しかし、管理権限を持たない一般ユーザでは私の環境ではアクセス等はできませんでした。

以下実際の挙動です。

上記のとおり、通常は管理者権限で動作しているPowerShellでも参照できなかったSAMファイルをコピーすることができました!

以下が実行した際のコマンドです。

[System.IO.File]::Copy('\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM','.\SAM.kbp')

「C:\Windows\System32\config\SAM」だと失敗しますが、「\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM」というShadowCopy経由でアクセスすることでコピーをすることができました。
※これを使って情報をどう引き出すかはまた別の記事に

なので、本来のアクセス制限を迂回することができることは確認できました。

しかし、私の環境では一般権限のユーザでは上記の挙動を確認することができませんでしたね・・・

一般ユーザに「C:\Windows\System32\config」の参照権限等を付与したりして色々試したのですが、直接はもちろん、ShadowCopy経由では以下のような挙動でした。

なので、現在の私の環境においては管理者権限を持っているアカウントのみ発現する形となっています。

最後に

Windowsの脆弱性「CVE-2021-36934」の検証を行いました。

現在MSが調査を行っているとのことなので、そのうち脆弱性を修正するWindows updateが来るのではないでしょうか。

ネットを調べていると管理権限がなくても行ける的な話はあるので、注意はもちろん必要です。

マイクロソフトから回避策も出ていますので、参考にして対応しましょう!

Windows Elevation of Privilege Vulnerability(CVE-2021-36934)

最近忙しかったので、久々の検証でしたが楽しかったですね。

また違う脆弱性をやりたいなと思っています。

不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。

 

コメント