## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-THOMASGEENS-CVE-2021-1675
# CVE-2021-1675 - PrintNightmare LPE (PowerShell)
> 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.
## Использование
Добавление нового пользователя в группу локальных администраторов по умолчанию:
root@kitploit:~
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-нагрузку для выполнения любых других действий.
root@kitploit:~
Import-Module .\cve-2021-1675.ps1
Invoke-Nightmare -DLL "C:\absolute\path\to\your\bindshell.dll"
## Подробности
* Метод LPE не требует взаимодействия с удаленным RPC или SMB, так как работает только с функциями Print Spooler.
* Этот скрипт содержит встроенную полезную нагрузку DLL, закодированную в Base64 и сжатую GZIP, которая модифицируется в соответствии с вашими аргументами, чтобы легко добавить нового пользователя в группу локальных администраторов.
* Этот скрипт использует методы из PowerSploit/PowerUp для рефлексивного доступа к Win32 API.
* Этот метод не перебирает все драйверы принтера для поиска подходящего пути к DLL — он просто берет первый драйвер и определяет нужный путь.