
CVE-2021-34527은 "PrintNightmare"라고 불리는 치명적인 원격 코드 실행 및 로컬 권한 상승 취약점입니다.
CVE-2021-34527은 "PrintNightmare"라고 불리는 심각한 원격 코드 실행 및 로컬 권한 상승 취약점입니다.
원격 코드 실행 기능에 대한 개념 증명 익스플로잇(Python, C++)과 로컬 권한 상승을 위한 C# 버전이 공개되었습니다. 저는 순수 PowerShell로 된 네이티브 구현을 본 적이 없어서, 익스플로잇을 다듬고 재구성해 보고 싶었습니다.
이 PowerShell 스크립트는 PrintNightmare 공격 기법을 사용하여 로컬 권한 상승(LPE)을 수행합니다.
Windows Server 2016 및 Windows Server 2019에서 테스트되었습니다.
기본적으로 로컬 관리자 그룹에 새 사용자를 추가합니다:
Invoke-Nightmare # add user `adm1n`/`P@ssw0rd` in the local admin group by default
Invoke-Nightmare -DriverName "Xerox" -NewUser "K1LL9" -NewPassword "SuperSecure1o1"
다른 원하는 작업을 수행하려면 사용자 지정 DLL 페이로드를 제공하십시오.
Import-Module .\cve-2021-34527.ps1
Invoke-Nightmare -DLL "C:\absolute\path\to\your\bindshell.dll"
LPE 기술은 원격 RPC나 SMB를 필요로 하지 않습니다. Print Spooler의 기능만으로 작동하기 때문입니다. 이 스크립트는 사용자 인수에 따라 패치되는 사용자 지정 DLL을 위한 Base64 인코딩 GZIP 페이로드를 포함하여, 로컬 관리자 그룹에 새 사용자를 쉽게 추가합니다. 이 스크립트는 Win32 API에 리플렉션 방식으로 접근하기 위해 PowerSploit/PowerUp의 메서드를 포함합니다. 이 방법은 적절한 DLL 경로를 찾기 위해 모든 프린터 드라이버를 반복하지 않습니다. -- 단순히 첫 번째 드라이버를 가져와 적절한 경로를 결정합니다.