
CVE-2023-32315에 대한 Python 익스플로잇 스크립트입니다. Openfire XMPP 서버의 경로 탐색 취약점으로, 인증 없이 관리자 콘솔에 접근할 수 있습니다. Docker 설정과 인가된 보안 테스트를 위한 플러그인 기반 웹셸을 포함합니다.
⚠️ 교육 및 공인된 보안 연구 목적으로만 사용하십시오
원본 PoC 작성자인 phith0n과 K3ysTr0K3R에게 깊은 감사를 드립니다.
Openfire는 오픈 소스 Apache License로 라이선스된 XMPP 서버입니다. 웹 기반 애플리케이션인 Openfire의 관리 콘솔이 설치 환경을 통해 경로 탐색 공격에 취약한 것으로 발견되었습니다. 이로 인해 인증되지 않은 사용자가 이미 구성된 Openfire 환경에서 인증되지 않은 Openfire 설치 환경을 사용하여 관리 사용자 전용 Openfire 관리 콘솔의 제한된 페이지에 접근할 수 있었습니다. 이 취약점은 2015년 4월 이후 출시된 모든 Openfire 버전(3.10.0부터 시작)에 영향을 미칩니다. 이 문제는 Openfire 릴리스 4.7.5 및 4.6.8에서 패치되었으며, 아직 출시되지 않은 4.8 브랜치의 첫 번째 버전(4.8.0으로 예상)에 추가 개선 사항이 포함될 예정입니다. 사용자는 업그레이드하는 것이 좋습니다. 특정 릴리스에 대해 Openfire 업그레이드를 사용할 수 없거나 신속하게 조치할 수 없는 경우, 사용자는 완화 조치에 대해 연결된 GitHub 권고(GHSA-gw42-f939-fhvm)를 참조하시기 바랍니다.
먼저, 저장소를 클론합니다.
git clone https://github.com/asepsaepdin/CVE-2023-32315.git
디렉토리를 변경합니다.
cd CVE-2023-32315
컨테이너를 실행합니다.
docker compose up
CVE-2023-32315.py 파이썬 스크립트를 실행하여 호스트 http://127.0.0.1:9090을 익스플로잇합니다.
python3 CVE-2023-32315.py -u http://localhost:9090
그런 다음 이 계정으로 관리 콘솔에 로그인하면 hugme가 이미 관리자임을 확인할 수 있습니다.
플러그인 탭 > 플러그인 업로드로 이동하여 openfire-management-tool-plugin.jar을 업로드합니다.
서버 탭 > 서버 설정 > Management tool로 이동합니다.
비밀번호 "123"으로 websehll에 접근합니다.
‘system command’로 이동하여 명령줄인 것처럼 사용합니다. 한 번에 하나의 명령만 사용하세요.