Print Nightmare LPE
1.0.0
CVE-2021-1675 は、「PrintNightmare」と呼ばれる、リモートでコードが実行され、ローカルで権限が昇格される重大な脆弱性です。
リモート コード実行機能の概念実証エクスプロイト (Python、C++) と、ローカル権限昇格の C# レンディションがリリースされました。私たちは純粋な PowerShell でのネイティブ実装を見たことがなかったので、このエクスプロイトを改良して再作成することに挑戦したいと考えていました。
この PowerShell スクリプトは、PrintNightmare 攻撃手法を使用してローカル権限昇格 (LPE) を実行します。
これは、Windows Server 2016 および Windows Server 2019 でテストされています。
デフォルトで、新しいユーザーをローカル管理者グループに追加します。
インポートモジュール .cve-2021-1675.ps1 Invoke-Nightmare # デフォルトでローカル管理グループにユーザー `adm1n`/`P@ssw0rd` を追加Invoke-Nightmare -DriverName "Xerox" -NewUser "deb" -NewPassword "SuperSecure"
カスタム DLL ペイロードを指定して、その他のことを実行します。
インポートモジュール .cve-2021-1675.ps1 Invoke-Nightmare -DLL「C:absolutepathtoyourbindshell.dll」
LPE 技術は、印刷スプーラーの機能でのみ動作するため、リモート RPC または SMB で動作する必要はありません。
このスクリプトには、引数に従ってパッチが適用されるカスタム DLL の Base64 でエンコードされた GZIP ペイロードが埋め込まれており、ローカル管理者グループに新しいユーザーを簡単に追加できます。
このスクリプトには、PowerSploit/PowerUp からのメソッドが埋め込まれており、Win32 API に反射的にアクセスします。
このメソッドは、適切な DLL パスを見つけるためにすべてのプリンタ ドライバをループするのではなく、最初のドライバを取得して適切なパスを決定するだけです。