Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
openmeetings-stale-install-admin — Apache OpenMeetings 9.1.0 - 높음 - 원격 - 권한 잔여 - 오래된 /install 마법사가 두 번째 ADMIN을 삽입함 | Kitploit
도구/GitHubGitHub/abraxas/openmeetings-stale-install-admin
Authentication & AuthorizationPrivilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationLabs & Practice
GitHubabraxas/openmeetings-stale-install-admin

openmeetings-stale-install-admin

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Apache OpenMeetings 9.1.0 - 높음 - 원격 - 권한 잔여 - 오래된 /install 마법사가 두 번째 ADMIN을 삽입함

저장소 보기
2일 전아직 검토되지 않음

Abraxas Labs - openmeetings-stale-install-admin

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  openmeetings-stale-install-admin

openmeetings-stale-install-admin

분류: 권한 잔여 도달 범위: 원격

Apache OpenMeetings 9.1.0 (9773c59e) - Apache Software Foundation

InstallWizardPage는 isInstalled() 이후의 새 요청을 리다이렉트합니다. 첫 설치 전에 열린 Wicket 페이지는 계속 살아 있습니다. 그 오래된 세션에서 Finish를 실행하면 loadAll(cfg, true)가 실행됩니다. ImportInitvalues.checkInstalled는 "no need to install"을 로그로 남기고 반환하지 않습니다. 두 번째 finish는 또 다른 ADMIN+SOAP 사용자를 삽입합니다.

ID아직 CVE 없음
분류권한 잔여
도달 범위원격 (첫 설정 중 인증 없는 /install)
CWECWE-367, CWE-269
CVSS높음: 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
제품Apache OpenMeetings
영향 받음9.1.0 (9773c59e1af327bf988018e661f456ae9997c29f) 첫 설치 기간
인증오래된 마법사 세션에서는 없음
라이선스GNU Affero GPL v3.0
랩127.0.0.1:18159 전용. 공식 9.1.0 tarball, 미설치 상태, HTTP 5080.

저는 태그 9.1.0을 고정했고, peel은 9773c59e1af327bf988018e661f456ae9997c29f입니다. 이 잔여 권한은 첫 설치가 완료되기 전에 열린 마법사 페이지를 필요로 합니다.

공격자가 할 수 있는 일

인스턴스가 아직 설치되지 않은 동안 /openmeetings/install에 도달합니다. 해당 JSESSIONID를 유지합니다. 운영자가 첫 설치를 완료할 때까지 기다립니다. 오래된 페이지에서 Finish를 POST합니다.

메서드싱크권한
오래된 POST 마법사 Finish (wizard-form-buttons-finish)ImportInitvalues.checkInstalled가 로그만 남기고 계속 진행 (ImportInitvalues.java:607-612); loadInitUserAndGroup무결성 (랩에서 입증): 두 번째 사용자 staleadm이 ADMIN, SOAP, LOGIN, DASHBOARD, ROOM 권한을 가짐. SOAP 로그인 성공. 사용자 목록 count=2.
동일한 loadAll(cfg, true)오래된 폼에서의 persistence / SMTP / 경로무결성 (추론): 공격자가 제어하는 마법사 필드로 persistence.xml 및 메일 설정을 재작성. SUCCESS에는 필요하지 않음.

랩에서 입증 vs 추론: 두 번째 ADMIN+SOAP 로그인은 랩에서 입증됨. persistence.xml 재작성은 loadAll에서 추론됨.

요구 사항: 공격자가 isInstalled() 이전에 /install을 가져와야 함. 그런 다음 운영자가 설치를 완료함. 동일한 Wicket 페이지 id가 여전히 POST됨. 공식 docker 이미지는 이미 설치되어 있으므로, 이는 tarball 첫 부팅 기간(및 모든 재설치)에 해당함.

닫혀 있는 인접 표면

표면이유
설치 후 새로운 GET /install생성자가 /signin으로 리다이렉트 (InstallWizardPage.java:31-34). 랩: 새 세션은 signin에 도달함.
설치 전 인증 없는 SOAP 로그인health installed=false; 마법사 finish 전까지 로그인 실패.
Tomcat manager / H2 consolemanager 제외됨, 이 핀에서는 H2 console 꺼짐.

발견 방법

생성자 잠금은 "설치 후 설치"에 대한 완전한 수정처럼 보입니다. checkInstalled는 여전히 로그만 남깁니다. Wicket은 페이지를 세션에 저장합니다. isInstalled()를 넘어선 세션은 여전히 loadAll을 호출하는 Finish 버튼을 유지합니다.

admin.sh -i는 두 번째 JVM이며 Tomcat CryptProvider를 로드하지 않으므로, 이 랩은 두 번째 웹 마법사를 첫 설치자로, 오래된 페이지를 공격자로 사용합니다.

랩

cd lab
./run.sh

루프백 http://127.0.0.1:18159/openmeetings. 마지막 줄 확인:

SUCCESS OPENMEETINGS-STALE-INSTALL-WITNESS

제안된 수정

checkInstalled는 이미 설치된 경우 반환(또는 예외 발생)해야 합니다. Finish를 일회성 설치 토큰에 바인딩하세요. isInstalled()가 뒤집히면 세션에서 Wicket 페이지를 제거하세요. 관리자가 이미 존재하는 경우 loadInitUserAndGroup에서 두 번째 ADMIN을 삽입하지 마세요.

연락처

Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]

공급업체: [email protected]

도구 다운로드