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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nextcloud-federated-ocm-token — Nextcloud 35.0.0 — 페더레이티드 공유 시크릿은 공유자의 전체 Files 트리에 대한 범위가 지정되지 않은 앱 비밀번호입니다 | Kitploit
도구/GitHubGitHub/abraxas/nextcloud-federated-ocm-token
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringWeb SecurityPenetration TestingAuthenticationLabs & Practice
GitHub
abraxas/nextcloud-federated-ocm-token

nextcloud-federated-ocm-token

Nextcloud 35.0.0 — 페더레이티드 공유 시크릿은 공유자의 전체 Files 트리에 대한 범위가 지정되지 않은 앱 비밀번호입니다

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - nextcloud-federated-ocm-token

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  nextcloud-federated-ocm-token

nextcloud-federated-ocm-token

Nextcloud Server 35.0.0 - Nextcloud GmbH

연합 공유(federated share) 비밀 값이 공유자(sharer)의 범위가 지정되지 않은 PERMANENT_TOKEN 앱 비밀번호로 발급됩니다. 수신자 API는 이를 refresh_token으로 반환합니다. 이를 발신자 WebDAV에 Bearer로 재전송하면 공유자로 로그인되어 공유된 적 없는 파일을 읽을 수 있습니다.

단 하나의 파일을 연합 공유한 악의적인 행위자가 귀하의 Nextcloud에 귀하로 로그인하고, 2FA를 우회하며, 공유한 파일뿐만 아니라 모든 파일을 읽거나 덮어쓸 수 있습니다.

ID아직 CVE 없음
CWECWE-269, CWE-287
CVSS치명적: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N (연합 수신자). 공개 링크 변환은 더 심각함(피어에 수신자 계정 없음).
제품Nextcloud Server
영향받는 버전35.0.0 (da02f41) 공식 nextcloud:35.0.0-apache
인증연합 수신자(또는 공개 링크 변환자)
라이선스GNU Affero GPL v3.0
랩127.0.0.1 전용

공격자가 할 수 있는 일

다른 Nextcloud의 bob과 하나의 파일 또는 폴더를 공유합니다. Nextcloud는 32자 비밀 값을 생성하여 귀하의 앱 비밀번호로 저장하고, 그 비밀 값을 Bob에게 refresh_token으로 전달합니다.

그러면 Bob(또는 귀하의 공개 링크를 연합 공유로 변환하는 누구든)은:

  • 귀하의 서버에서 귀하로 로그인합니다
  • 공유된 노드뿐만 아니라 홈 디렉터리의 모든 파일을 읽습니다
  • 해당 파일들을 덮어씁니다
  • 귀하의 2FA를 우회합니다 (앱 비밀번호 경로)

호스트에서 PHP 셸을 얻는 것은 아닙니다. 귀하의 비밀번호도 필요하지 않습니다. 공유를 수락하지 말고 OCM access-token을 먼저 호출하지 마십시오. 그 교환은 파일시스템 범위를 잠급니다. 랩은 교환 이전 비밀 값을 입증합니다.


발견 방법

공유는 공유여야 합니다. 파일 하나. 폴더 하나. 태그 v35.0.0에서 FederatedShareProvider::createFederatedShare를 읽었습니다. 이 함수는 공유자에 대해 범위 없이 IToken::PERMANENT_TOKEN으로 32자 비밀 값을 생성합니다. PublicKeyToken::getScopeAsArray는 SCOPE_FILESYSTEM => true를 기본값으로 합니다. 그것은 앱 비밀번호입니다. Session::tryTokenLogin은 영구 Bearer를 받아들입니다.

OCM 교환 작업(PR #57234 / #57166)은 이미 첫 교환 이후에 파일시스템 범위를 잠급니다. 비공식 분석 글은 그 교환 이후 단계를 사용했습니다. 나도 먼저 시도했습니다. 이 트리에서는 교환된 토큰이 TEMPORARY이고 이름이 OCM Access Token이며 /remote.php/dav가 이를 거부합니다(allowOcmAccessToken false). DAV가 거부했습니다.

그래서 교환하지 않았습니다. ocm_discovery_enabled를 false로 유지하여 수신자가 대신 교환하지 않도록 했습니다. 공식 nextcloud:35.0.0-apache 박스 두 개, overwrite.cli.url을 docker DNS(http://sender / http://recipient)로 설정했습니다. 이를 127.0.0.1로 두면 S2S가 자기 자신과 통신합니다.

Alice가 bob@http://recipient와 파일 하나를 공유합니다. Bob이 대기 중인 공유를 읽습니다. refresh_token 길이 32. access_token 길이 0. 공유에 포함된 적 없는 Alice의 개인 증인 파일에 대한 인증되지 않은 Bearer GET이 200을 반환했고, X-User-Id: alice였습니다.


랩

cd lab
./run.sh

오직 http://127.0.0.1:18340(발신자)과 :18341(수신자)만 대상으로 합니다.

SUCCESS NEXTCLOUD-OCM-PERMANENT-TOKEN who=federated-recipient uid=alice NEXTCLOUD-OCM-PERMANENT-TOKEN-WITNESS
  • lab/docker-compose.yml
  • lab/Dockerfile
  • lab/run.sh

수정 방법

연합 비밀 값을 최초 삽입 시점부터 파일시스템 범위 false로 생성하십시오. 그 비밀 값을 /remote.php/dav에서 Bearer/Basic으로 받아들이지 마십시오. 첫 교환은 이미 FS 범위를 잠급니다. 생성 단계에서 앱 비밀번호를 발급해서는 안 되었습니다.


참고 자료

  • github.com/nextcloud/server 태그 v35.0.0
  • 관련 OCM 작업: PR #57234 / PR #57166
  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null

라이선스

GNU Affero GPL v3.0. LICENSE 참조. 루프백 랩 전용. 보증 없음.

도구 다운로드