| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- 인시큐어뱅크
- beebox
- filescan
- imageinfo
- 안드로이드
- Openstack
- Suninatas
- CTF-d
- InsecureBank
- 포렌식
- SQL Injection
- ESXi
- Docker
- kibana
- frida
- foremost
- lord of sql injection
- diva
- 2018
- igoat
- otter
- XSS
- ctf
- vulnhub
- FTK Imager
- dreamhack
- elasticsearch
- Volatility
- base64
- Strings
- Today
- Total
Information Security
PrintNightmare 취약점 (CVE-2021-1675, CVE-2021-34527 ) 본문
PrintNightmare 취약점은 윈도우의 Print Spooler를 이용한 권한 상승 및 원격 코드 실행 취약점이다. Print Spooler는 윈도우 설치 시 기본적으로 설치되며, 컴퓨터가 부팅될 때 자동으로 실행되는 서비스다.
CVE-2021-1675는 권한 상승 취약점이고, 후에 발견된 CVE-2021-34527은 원격 코드 실행 취약점이다.
CVE-2021-34527을 이용하여 시스템 권한 획득 후 일반 사용자의 권한을 상승시키거나, 새로운 계정을 생성하거나, 기밀정보 유출이 가능하며, 프로그램 설치 혹은 악성 파일을 업로드할 수 있다. 프린트를 사용할 때 필수적으로 사용되는 서비스이기 때문에 각별한 주의를 기울여야 한다.
| S/W 구분 | 취약 버전 |
| Windows Server | 2008(R2 포함), 2012(R2 포함), 2016, 2019, 1909, 2004, 20H2 |
| Windows | 7, 8.1, RT 8.1, 10(1607, 1809, 1909, 2004, 20H2, 21H1) |
| 역할 | 구분 |
| 공격자 | Kali-Linux-2021.3 ( 192.168.157.137) |
| 피해자 | Windows Server 2016 (192.168.157.138) |
취약점 테스트
Windows Server 2016 도메인 컨트롤러를 설치한다.

다음 누른 후 설치가 완료되면 "이 서버를 도메인 컨트롤러로 승격"을 선택한다.

루트 도메인 이름을 test.com 설정한다.

암호를 Passw@rd 설정해준다.

NetBIOS 도메인 이름이 TEST로 설정이 된다.

설치가 완료되면 다시 시작한다.

도메인 test.com으로 설정된 것을 알 수 있다.

도메인 컨트롤러 설치가 완료되어 hacking이라는 계정을 생성한다.

암호는 Passw@rd로 설정을 해준다.

net user 명령어를 통해 hacking 계정을 확인할 수 있다.

hacking 계정이 Domain Users라는 것을 알 수 있다.

PoC 코드가 저장된 URL은 다음과 같다. ( https://github.com/cube0x0/CVE-2021-1675)

PoC 코드를 아래와 같이 알 수 있다.

PoC 사용에 필요한 impacket 모듈을 다음 URL에서 다운로드한다. (https://github.com/SecureAuthCorp/impacket)

impacket 모듈 파일을 아래와 같이 알 수 있다.

기존에 설치되어 impacket 모듈을 삭제한다.

impacket 디렉터리에 있는 setup.py 파일을 설치한다.

설치가 완료되면 기존의 impacket 디렉터리 파일들이 다른 것을 알 수 있다.

impacket 디렉터리 안에 있는 examples 디렉터리로 이동한다.

rpcdump.py를 이용해 피해자의 PC MS-RPRN(인쇄 원격 프로토콜)이 동작하는 것을 알 수 있다.

Windows 인쇄 스풀러 원격 코드 실행 취약점(CVE-2021-1675)을 감지하는 스캐너를 다운로드한다. (https://github.com/cybersecurityworks553/CVE-2021-1675_PrintNightMare.git)

CVE-2021-1675_PrintNightMare 디렉터리 파일을 아래와 같이 알 수 있다.

detectprintnightmare.py를 이용해 스캐너를 하면 피해자의 PC가 취약하다는 것을 알 수 있다.

/etc/samba/smb.conf 설정 파일을 아래와 같이 설정해준다.

samba 프로세스를 활성화시킨 후 동작하는 것을 확인한다.

msfvenom을 이용하여 window에 삽입할 dll 파일(리버스 쉘)을 생성한다.

공유할 디렉터리에서 smbserver를 동작시킨다.

Window server 2016에서 \\192.168.157.137를 실행하면 공유 폴더에 rev.dll 파일이 존재하는 것을 알 수 있다

PoC 공격 코드의 사용법을 확인한다.

msfconsole을 이용하여 삽입한 dll이 연결될 포트를 열어준다.

PoC 공격 코드를 실행해준다. (※ 도메인컨트롤러/ID:PASSWORD@피해자IP ‘\\공격자IP\smb\삽입할dll')

리버스 쉘을 통해 세션이 연결된 것을 알 수 있다. IP 주소를 확인하면 Window Server 2016 IP 주소가 같다.

Window Server에 hacking.txt를 만들었다.

Window Server에서 아래와 같이 확인할 수 있다.

대응방안
서비스에서 Spooler를 중지시킨다.

다시 PoC 공격 코드를 실행하면 연결이 되지 않는 것을 알 수 있다.

'CVE 취약점' 카테고리의 다른 글
| GitLab 임의 파일 읽기 취약점 (CVE-2023-2825) (0) | 2023.08.12 |
|---|---|
| Microsoft MSHTML 취약점 (CVE-2021-40444) (0) | 2021.09.20 |
| Linux SUDO Baron Samedit 취약점 (CVE-2021-3156) (0) | 2021.02.01 |
| Windows Netlogon 권한상승 취약점 (CVE-2020-1472) (0) | 2020.12.26 |
| GhostSMBv3 (CVE-2020-0796) (0) | 2020.05.12 |