
CVE-2017-6008 は、HitmanPro スキャンにおける脆弱性であり、カーネルプールバッファオーバーフローを悪用して特権昇格を可能にします。 このエクスプロイトは、Tarjei Mandt 氏の論文 で説明されている Quota Process Pointer Overwrite 攻撃を使用しています。
また、このエクスプロイトは私の Pool sprayer ライブラリ を使用しています。
Windows 7 エクスプロイトに関する詳細な論文はこちらでご覧いただけます。
このバージョンは、hitmanpro37.sys ドライバの別の脆弱性、Out-Of-Bounds 読み取りを利用して、Pool Cookie をリークします。 このリークにより、Windows 10 でも全く同じ攻撃を使用できます。
Windows 10 のエクスプロイトに関する詳細な論文はこちらでご覧いただけます。
このエクスプロイトは、2012 年に Cesar Cerrudo 氏が説明した手法を使用し、Privileges.Enabled フィールドを設定することで TOKEN 構造体の特権を昇格させていました。
しかし、Windows 10 v1607 以降では、カーネルはトークンの Privileges.Present フィールドの値もチェックするようになりました。
トークンの Privileges.Present フィールドは、AdjustTokenPrivileges API を使用してこのトークンで有効にできる特権のリストです。
そのため、TOKEN の実際の特権は、現在では Privileges.Present & Privileges.Enabled の結果であるビットフィールドになります。
これは、現在の状態のエクスプロイトが Windows 10 v1607 以降では動作しないことを意味します。 また、Windows 19H1 以降でプールに発生した変更(カーネル内のセグメントヒープの導入)によっても、このエクスプロイトは機能しなくなりました。
Windows 10 19H1 以降のプールカーネルバッファオーバーフロー悪用に関する最新の作業は、こちらの論文およびスライドをご参照ください。