
Openfire 서버를 대상으로 하는 CVE-2023-32351용 Python 익스플로잇. 유니코드 경로 탐색을 통해 관리자 패널 인증을 우회하여 관리 사용자를 생성하고, 악성 플러그인 업로드 및 웹 셸 액세스를 가능하게 합니다.
CVE-2023-32315 취약점은 Openfire 서버에 영향을 미치며, 공격자가 유효한 자격 증명 없이 웹 관리 패널의 로그인을 우회할 수 있게 합니다. 이 익스플로잇은 관리자 사용자를 추가하여 공격자가 악성 플러그인을 업로드하고 웹 셸을 획득할 수 있게 합니다.
CVE-2023-32315는 Openfire의 취약점으로, 초기 설정 마법사의 JSP(/setup/setup-s/...)에
설정이 완료된 후에도 접근할 수 있게 합니다. 리터럴 문자 대신 Unicode/"best-fit" 인코딩(%u002e%u002e, ../와 동일)을 사용한 path traversal로
잘못된 경로 검증을 악용합니다. 이를 통해 인증 없이 user-groups.jsp와 user-create.jsp에 도달할 수 있으며,
서버가 방금 설치된 것처럼 처리되어 새로운 관리자 사용자를 생성할 수 있습니다. 스크립트는 두 가지 방식으로 결과를 검증합니다.
사용자가 user-summary.jsp에 나타나는지 확인하고, 생성된 자격 증명이 login.jsp에서 작동하는지 확인합니다. 패널에 접속한 후,
다음 단계(이 스크립트의 범위를 벗어남)는 악성 플러그인을 업로드하여 임의의 명령을 실행하는 것입니다.
git clone https://github.com/pulentoski/Explotacion-CVE-2023-32315-Openfire.git
cd Explotacion-CVE-2023-32315-Openfire
외부 종속성이 필요하지 않습니다 — Python 3 표준 라이브러리(http.client, re, time, urllib.parse)만 사용합니다.
스크립트는 대화형이며 명령줄 플래그가 없습니다.
python3 exploit.py
모드를 선택하라는 메시지가 표시됩니다.
[1] 단일 대상 → URL을 직접 입력합니다 (예: http://127.0.0.1:9090)
[2] 대상 목록 → 줄마다 URL이 하나씩 있는 .txt 파일 경로를 입력합니다
생성되는 사용자/비밀번호(pepe2/pepe2)는 스크립트 시작 부분에 하드코딩되어 있습니다 — 필요하면 그곳에서 변경하세요.
📄 결과: 확인된 대상은 exito.txt에 저장됩니다. 대상이 검증에 실패하면 응답 HTML이 debug_<usuario>.html에 저장되어 수동 검토가 가능합니다.
("openfire") && icon_hash=="1211608009"
이 스크립트는 통제된 환경과 승인된 감사(audit)를 위해 제작되었습니다. 작성자는 오용에 대해 책임을 지지 않습니다.