
CVE-2016-0040(WMI Receive Notification脆弱性)用の64ビットWindowsカーネル権限昇格エクスプロイト。GDIビットマップ操作によるトークンスティーリングを使用します。
CVE-2016-0040 このエクスプロイトは、SMMRootkitの32ビットプロジェクト (https://github.com/Rootkitsmm/cve-2016-0040) を基にしており、この脆弱性によりRCXにすべての'a'、RAXにすべての'B'が設定されたBSoDが発生します。 これは64ビットWindows 7 SP1に移植され、初期段階のエクスプロイトには"mov [rcx+06h], rax"命令を使用せず、代わりに"mov [rdx+8h], rdx命令を使用して、自己参照ポインタをビットマップのpvScan0変数に配置します。 副作用の破損をクリーンアップするために、win32kヒープの4096ビットマップが割り当てられ、ターゲットビットマップ内の破損アドレスが予測可能になり、復元できるようになりました。 読み取り/書き込み プリミティブを構築するために、Core Securityの「Abusing GDI for Ring0 Exploit Primities」(https://www.coresecurity.com/blog/abusing-gdi-for-ring0-exploit-primitives) が参照されましたが、ManagerとWorker ビットマップを構築し、システムプロセスのトークンスティーリングを実行できるようにしました。